Difference between revisions of "POF Constructor Suite 2"
(Added blurb about Collada Importer) |
m (Link to Pof Tools) |
||
(7 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | 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 in now stable. | + | '''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 in now stable. For a list of POF subsystem properties used in PCS2 see [[Subobject_and_subsystem_properties]]. |
+ | |||
+ | In 2022, a new program for .pof file editing created by Asteroth and named [[POF Tools]], was released. | ||
==Download Links== | ==Download Links== | ||
− | '''PCS2 | + | '''PCS2 builds can be downloaded from the [http://www.hard-light.net/forums/index.php?topic=77292.0 thread] on HLP. |
− | |||
− | |||
− | [http:// | + | Development used to be hosted on [http://sourceforge.net/project/showfiles.php?group_id=26889&package_id=53033 Sourceforge] but now continues on [https://github.com/scp-fs2open/PCS2 GitHub]. |
− | [ | ||
− | |||
− | |||
== FAQ == | == FAQ == | ||
===PMF? What is PMF?=== | ===PMF? What is PMF?=== | ||
− | PCS 1.x used POF as | + | PCS 1.x used POF as its internal format, which caused a lot of problems and limited the features. So PCS2.x uses its own format called PMF (PCS2 Model Format) internally. |
A POF load goes like this:<br> | A POF load goes like this:<br> | ||
− | + | #Open file | |
− | + | #Read into instance of "POFHandler" PCS1/PCS2's POF editing library | |
− | + | #Translate POF into PMF | |
− | + | #Discard POFHandler instance | |
+ | |||
A save goes the opposite direction. | A save goes the opposite direction. | ||
===Purge the BSP Cache? What is the BSP Cache?=== | ===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 | + | When PCS2 loads a model (.cob, .pof, etc), it has to translate that model into PMF—its 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 | + | 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, as it gets you nothing. However, due to the PMF format being internal, this would be required as it must translate back to POF. |
− | + | ||
− | The | + | 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 | + | 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. | ||
− | == | + | ==Help== |
− | ===PCS2 | + | ===PCS2 Documentation Project=== |
− | + | [[POFCS2Help/HelpHome]] | |
===I found a bug=== | ===I found a bug=== | ||
− | + | Post it on HLP in the [http://www.hard-light.net/forums/index.php?topic=77292.0 PCS2 builds] thread. | |
==Collada Importer== | ==Collada Importer== |
Latest revision as of 20:54, 12 April 2023
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 in now stable. For a list of POF subsystem properties used in PCS2 see Subobject_and_subsystem_properties.
In 2022, a new program for .pof file editing created by Asteroth and named POF Tools, was released.
Contents
Download Links
PCS2 builds can be downloaded from the thread on HLP.
Development used to be hosted on Sourceforge but now continues on GitHub.
FAQ
PMF? What is PMF?
PCS 1.x used POF as its internal format, which caused a lot of problems and limited the features. So PCS2.x uses its own format called PMF (PCS2 Model Format) internally.
A POF load goes like this:
- Open file
- Read into instance of "POFHandler" PCS1/PCS2's POF editing library
- Translate POF into PMF
- 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—its 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, as 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.
Help
PCS2 Documentation Project
I found a bug
Post it on HLP in the PCS2 builds thread.
Collada Importer
In June 2008, a post concerning a cash prize for Collada support in PCS2 was made on the Hard-Light forums. You can view information about the Collada Importer, which has been primarily developed by Spicious and a very eager league of testers.