Difference between revisions of "POF Constructor Suite 2"

From FreeSpace Wiki
Jump to: navigation, search
(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 installers can be downloaded from [http://sourceforge.net/project/showfiles.php?group_id=26889&package_id=53033 Sourceforge].
+
'''PCS2 builds can be downloaded from the [http://www.hard-light.net/forums/index.php?topic=77292.0 thread] on HLP.
 
 
Other important links include:
 
  
[http://www.hard-light.net/forums/index.php/topic,47596.0.html Index to links]
+
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].
[http://www.hard-light.net/forums/index.php/topic,52098.0.html Version 2.0 Final]
 
[http://www.hard-light.net/forums/index.php/topic,41648.0.html Feature Requests/Roadmap/Completion status]
 
[http://ferrium.org/mantis/ Mantis, for bug reports]'''
 
  
 
== FAQ ==
 
== FAQ ==
 
===PMF? What is PMF?===
 
===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.   
+
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>
1) Open file<br>
+
#Open file
2) Read into instance of "POFHandler" PCS1/PCS2's POF editing library<br>
+
#Read into instance of "POFHandler" PCS1/PCS2's POF editing library
3) Translate POF into PMF<br>
+
#Translate POF into PMF
4) Discard POFHandler instance<br>
+
#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 - 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 PCS2 loads a model (.cob, .pof, etc), it has to translate that model into PMF&mdash;its internal format.  In POF the geometry is stored in a Binary Space Partition tree (aka BSP)&mdash;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>
+
When writing the POF, it must translate the PMF geometry back into POF geometry&mdash;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.
<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>
+
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.<br>
+
 
Caveat: PCS2 Versions prior to RC2d occasionally would cache when they shouldn't.
+
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==
+
==Help==
===PCS2 Won't run, something about "incorrect configuration"===
+
===PCS2 Documentation Project===
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 [http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en here].
+
[[POFCS2Help/HelpHome]]
  
 
===I found a bug===
 
===I found a bug===
Report it in [http://ferrium.org/mantis/ the PCS2 Mantis]
+
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.


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:

  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—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

POFCS2Help/HelpHome

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.