pfconv(1pf)
pfconv - OpenGL Performer file translator
As shipped in IRIX 6.5.19. Last changed in IRIX 6.5.15.
NAME pfconv - OpenGL Performer file translator SYNOPSIS pfconv [ options ] infile1 [ infile2 ... ] outfile DESCRIPTION pfconv is one of the sample programs distributed with the OpenGL Performer high-performance graphics library. pfconv loads one or more files into an OpenGL Performer scene graph, and then writes the resulting scene graph out to a named output file. It is installed in the /usr/sbin directory on IRIX, and /usr/bin/X11 on Linux. The following formats support file writing: dwb Coryphaeus Software Designer's Workbench format medit Medit productions modeler format pfa OpenGL Performer ASCII file format pfb OpenGL Performer high-speed binary file format (recommended format) Here's an example that generates a fast-loading OpenGL Performer PFB format file representing a Sierpinski sponge: pfconv 2.sponge example.pfb perfly example.pfb Preconverting files to the pfb format can provide a great speed advantage for demos and other applications where fast database loading is important. pfconv command line options -b <mode>,<value> -Set builder mode (default value is OFF) -B <mode>,<value> -Set builder mode (default value is ON) See the pfdBldrMode reference page for more information. 0 -> PFDBLDR_MESH_ENABLE 1 -> PFDBLDR_MESH_SHOW_TSTRIPS 2 -> PFDBLDR_MESH_INDEXED 3 -> PFDBLDR_MESH_MAX_TRIS 4 -> PFDBLDR_MESH_RETESSELLATE 5 -> PFDBLDR_MESH_LOCAL_LIGHTING 10 -> PFDBLDR_AUTO_COLORS 0 -> PFDBLDR_COLORS_PRESERVE + leave colors alone 1 -> PFDBLDR_COLORS_MISSING - make missing colors 2 -> PFDBLDR_COLORS_GENERATE - make all colors 3 -> PFDBLDR_COLORS_DISCARD - toss existing colors 11 -> PFDBLDR_AUTO_NORMALS 0 -> PFDBLDR_NORMALS_PRESERVE - leave normals alone 1 -> PFDBLDR_NORMALS_MISSING + make missing normals 2 -> PFDBLDR_NORMALS_GENERATE - make all normals 3 -> PFDBLDR_NORMALS_DISCARD - toss existing normals 12 -> PFDBLDR_AUTO_TEXTURE 0 -> PFDBLDR_TEXTURE_PRESERVE + leave texture coord alone 1 -> PFDBLDR_TEXTURE_MISSING - make missing texture coord 2 -> PFDBLDR_TEXTURE_GENERATE - make all texture coord 3 -> PFDBLDR_TEXTURE_DISCARD - toss existing texture coord 13 -> PFDBLDR_AUTO_ORIENT 0 -> PFDBLDR_ORIENT_PRESERVE - leave normal and order alone 1 -> PFDBLDR_ORIENT_NORMALS - make normal match vertex order 2 -> PFDBLDR_ORIENT_VERTICES + make vertex order match normal 15 -> PFDBLDR_AUTO_DISABLE_TCOORDS_BY_STATE 0 - dont remove tcoords if no texture specified 1 - remove tcoords if no texture specified 16 -> PFDBLDR_AUTO_DISABLE_NCOORDS_BY_STATE 0 - dont remove ncoords if no material specified 1 - remove ncoords if no material specified 17 -> PFDBLDR_AUTO_LIGHTING_STATE_BY_NCOORDS 0 - dont automatically set lighting enable based on presence of ncoords 1 - automatically set lighting enable based on presence of ncoords 18 -> PFDBLDR_AUTO_LIGHTING_STATE_BY_MATERIALS 0 - dont automatically set lighting enable based on presence of material 1 - automatically set lighting enable based on presence of material 19 -> PFDBLDR_AUTO_TEXTURE_STATE_BY_TEXTURES 0 - dont automatically set texture enable based on presence of tcoords 1 - automatically set texture enable based on presence of tcoords 20 -> PFDBLDR_AUTO_TEXTURE_STATE_BY_TCOORDS 0 - dont automatically set texture enable based on presence of texture 1 - automatically set texture enable based on presence of texture 30 -> PFDBLDR_BREAKUP 31 -> PFDBLDR_BREAKUP_SIZE 32 -> PFDBLDR_BREAKUP_BRANCH 33 -> PFDBLDR_BREAKUP_STRIP_LENGTH 34 -> PFDBLDR_SHARE_MASK 35 -> PFDBLDR_ATTACH_NODE_NAMES 36 -> PFDBLDR_DESTROY_DATA_UPON_BUILD 37 -> PFDBLDR_PF12_STATE_COMPATIBLE 38 -> PFDBLDR_BUILD_LIMIT -maximum number of tris/strip -F <path> -Set file path -n <notify> -Debug level -o <mode>,<value> -Set optimizer mode (default value is OFF) -O <mode>,<value> -Set optimizer mode (default value is ON) 0 -> pfdMakeShare defaults to ON 1 -> pfdCombineLayers defaults to ON 2 -> pfFlatten defaults to ON 3 -> pfdCleanTree defaults to ON 4 -> pfdCombineBillboards,<size_limit> defaults to OFF 5 -> pfdFreezeTransforms defaults to OFF 6 -> pfPartition defaults to OFF Examine the source code to pfconv to understand the optimization transformations that can be applied to files as they are loaded. By default, only safe optimizations are performed, but there are several other optimizations, some quite aggressive, that can be enabled Supported Database Formats pfconv, like all OpenGL Performer applications, is able to directly load 3D data in a large selection of popular formats and draw that data at high speed. All of the following file formats are understood by pfconv: 3ds AutoDesk 3DStudio binary data bin Minor SGI format used by powerflip bpoly Side Effects Software PRISMS binary byu Brigham Young University CAD/FEA data dwb Coryphaeus Software Designer's Workbench dxf AutoDesk AutoCAD ASCII format flt11 MultiGen public domain Flight v11 format flt14 MultiGen OpenFlight v14 format gds McDonnell-Douglas GDS things data gfo Minor SGI format (radiosity output) im Minor SGI format (OpenGL Performer example) irtp AAI/Graphicon Interactive Real-Time PHIGS iv SGI OpenInventor / Silicon Studio Keystone lsa Lightscape Technologies radiosity (ASCII) lsb Lightscape Technologies radiosity (binary) m University of Washington mesh data medit Medit Productions medit modeling tool nff Eric Haines' ray tracing test data format obj Wavefront Technologies data format phd Minor SGI format (polyhedra) pfa OpenGL Performer ASCII database format pfb OpenGL Performer BINARY database format poly Side Effects Software PRISMS ASCII data pts University of Washington point data ptu Minor SGI format (OpenGL Performer example) sgf US NAVY standard graphics format sgo Minor SGI format spf US NAVY simple polygon format sponge Sierpinski sponge 3D fractal generator star Yale University compact star chart data stla 3D Structures Stereolithography (ASCII) stlb 3D Structures Stereolithography (binary) sv Format of John Kichury's i3dm modeler tri University of Minnesota Geometry Center data unc University of North Carolina data Learning More Once you've seen OpenGL Performer in action, you will want to learn more about it. The OpenGL Performer Programming Guide and the OpenGL Performer Release Notes are the primary sources of information, but the a number of information sources are available to give you a good start in your learning process. The origin of this quest is the Performer man page. Just type "man performer" and just about everything you might want to know will be there or in one of the on-line resources listed there. SEE ALSO performer, pfconv