Difference between revisions of "POF Constructor Suite 2"

From FreeSpace Wiki
Jump to: navigation, search
m (added category)
Line 3: Line 3:
  
 
==Download Links==
 
==Download Links==
'''Currently PCS2 can be obtained from [http://www.hard-light.net/forums/index.php/topic,47023.300.html The PCS2 Test Builds thread]'''
+
'''Currently PCS2 can be obtained from [http://www.hard-light.net/forums/index.php/topic,51649.0.html PCS2 RC2 Builds thread]'''
 +
 
 +
 
 +
== FAQ ==
 +
===PMF? What is PMF?===
 +
PCS 1.x used POF as it's internal format, which caused a lot of problems and limited the features.  So PCS2.x uses it's own format called PMF (PCS2 Model Format) internally. 
 +
 
 +
A POF load goes like this:<br>
 +
1) Open file<br>
 +
2) Read into instance of "POFHandler" PCS1/PCS2's POF editing library<br>
 +
3) Translate POF into PMF<br>
 +
4) Discard POFHandler instance<br>
 +
A save goes the opposite direction.
 +
 
 +
===Purge the BSP Cache? What is the BSP Cache?===
 +
When PCS2 loads a model (.cob, .pof, etc) it has to translate that model into PMF - it's internal format.  In POF the geometry is stored in a Binary Space Partition tree (aka BSP) - this must be translated into the PMF geometry format [which is very flexible unlike the very inflexible BSP].
 +
<br>
 +
When writing the POF it must translate the PMF geometry back into POF geometry - which compiles BSP compilation, which is the part of POF saving that takes a long time.  Now when you simply open a model and edit a fire point and save it again there is no reason to do a recompile, it gets you nothing. However due to the PMF format being internal this would be required as it must translate back to POF.<br>
 +
<br>
 +
The Solution to this is the BSP Cache.  When it loads a model created by the latest version of PCS2 or by Volition's compiler BSPGEN it will save a copy of the POF BSP in memory while that file is loaded, so when saving it says "Do I have a cache for this submodel?" if so it skips compilation and uses the cached copy.<br>
 +
Sometimes when it's suspected that something is wrong with the geometry, bounding boxes, etc I'll ask you to do "Data->Purge BSP Cache" which will clear the cache making it recompile on save.<br>
 +
Caveat: PCS2 Versions prior to RC2d occasionally would cache when they shouldn't.
  
 
==Troubleshooting==
 
==Troubleshooting==

Revision as of 21:00, 30 January 2008

POF Constructor Suite 2 is a significant rewrite of POF Constructor Suite written cooperatively by Kazan and Bobboau. Kazan first started writing PCS2 when he recognized significant shortcomings in PCS1 - the fixed limit on polygon size, difficulty in adding support for new file types, the inferior CPU-hogging render window, user-friendliness issues and well as platform lock on windows. PCS2 is currently in the beta stage of development.


Download Links

Currently PCS2 can be obtained from PCS2 RC2 Builds thread


FAQ

PMF? What is PMF?

PCS 1.x used POF as it's internal format, which caused a lot of problems and limited the features. So PCS2.x uses it's own format called PMF (PCS2 Model Format) internally.

A POF load goes like this:
1) Open file
2) Read into instance of "POFHandler" PCS1/PCS2's POF editing library
3) Translate POF into PMF
4) Discard POFHandler instance
A save goes the opposite direction.

Purge the BSP Cache? What is the BSP Cache?

When PCS2 loads a model (.cob, .pof, etc) it has to translate that model into PMF - it's internal format. In POF the geometry is stored in a Binary Space Partition tree (aka BSP) - this must be translated into the PMF geometry format [which is very flexible unlike the very inflexible BSP].
When writing the POF it must translate the PMF geometry back into POF geometry - which compiles BSP compilation, which is the part of POF saving that takes a long time. Now when you simply open a model and edit a fire point and save it again there is no reason to do a recompile, it gets you nothing. However due to the PMF format being internal this would be required as it must translate back to POF.

The Solution to this is the BSP Cache. When it loads a model created by the latest version of PCS2 or by Volition's compiler BSPGEN it will save a copy of the POF BSP in memory while that file is loaded, so when saving it says "Do I have a cache for this submodel?" if so it skips compilation and uses the cached copy.
Sometimes when it's suspected that something is wrong with the geometry, bounding boxes, etc I'll ask you to do "Data->Purge BSP Cache" which will clear the cache making it recompile on save.
Caveat: PCS2 Versions prior to RC2d occasionally would cache when they shouldn't.

Troubleshooting

PCS2 Won't run, something about "incorrect configuration"

This is caused by some DLLs that are required for running most applications written with Microsoft Visual Studio 2005 not being present on your system. You can get the update from Microsoft here.

I found a bug

Report it in the PCS2 Mantis