From: Benedikt Keßler (bjk++at++sgi.com)
Date: 08/27/2005 11:52:52
Hi Tapio,
All what you describe clearly indicates that you have created pfb files
that contain the reps of your curves or surfaces but no real geometries
(geosets or vertex arrays). Thus the bounding spheres will have a radius
of -1 which will cause Performer to generate an invalid viewing frustum
(if that model is the only one you loaded in your scene and if you
didn't set a vaild fov and near/far values). That illegal viewing value
(you may check with ogldebug32) is the cause of the OpenGL error 501
(illegal value; probably you have a negative near value).
So either you recreate your models using the right -t parameter with
cat2pfb to have it generate geometries (the the cat2pfb manpage) or you
add code to your application (perfly) to do the missing tesselation (see
code below for perfly).
Add the two marked lines to perfly to make it work with your files (that
only have the representatio, but no geometry stored in the file)
/*
* optimize sharing of geostate structures and components.
* Wait until all files are loaded so sharing encompasses
* entire scene.
*/
if (loaded)
{
+++ pfTessParaSurfaceAction *t =
pfNewTessParaSurfaceAction(pfGetSharedArena());
+++ pfdTessellateGeometry(ViewState->sceneGroup, t);
pfdMakeShared((pfNode *)ViewState->sceneGroup);
Also just one more comment regarding the potential use of pfconv using
your files
Avoid the use of the pfFlatten optimization step as it may remove nome
of your nodes (as they currently dont contain any geosets/vertex arrays)
Whereas COFFEECUP.pfb is working with the additional code below, the
files that got created by pfconv were missing lot of geometry (the
test.pfb file was much smaller too).
You have to turn off the pfFlatten (and maybe pfdCleanTree) optimization
step:
pfconv -o2 (-o3) BAROMETER.pfb newfile.pfa
Bye! Benedikt
Tapio.Hellman++at++seamk.fi wrote:
> Dear Performers,
>
> I have the following problem with OpenGL Performer cat2pfb utility (http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0650&db=man&fname=/usr/share/catman/u_man/cat1/Performer_demo/cat2pfb.z):
>
> After a tremendeous effort I managed to get a temporary license from Dassault Systemes CATIA V4 for 14 days in order to run tests with CATIA to Performer Fast Binary Converter. I had a CATIA V5 model, which I saved in V5 to V4 format, .CATProduct file to .session file (which unfortunately cannot be converted to pfb) and .CATPart files to .model files.
>
> The cat2pfb converter ran fine after all the trouble and created several pfb files from the CATIA model directory. When I tried to open the pfb files, all I got was an empty scene, and a lot of error messages:
>
> OpenGL Error 0x501 - invalid value
>
> Since I do not have the possibility to run any tests because my CATIA V4 license on Onyx4 expired, I would like to get answers to these two questions before I try to run some tests again:
>
> 1) how do I get rid of 0x501 errors, and convert the models to pfb's? (is it maybe because of inability to convert SI system style decimal delimiters, ',' - commas - to US style decimal points '.' ?)
>
> 2) which is the best way to create a Performer scenegraph from .CATProduct or .session file, which is a binary file containing the coordinates for all the .CATParts in the assembly?
>
> /usr/people/ctahell/models/pfb/FreedomBridge/performer>perfly BAROMETER.pfb
> PF ================================================
> PF = OpenGL Performer 3.2 =
> PF = FULL EDITION =
> PF ================================================
> ...
> PF Notice: pfdLoadFile_pfb: Loading "BAROMETER.pfb"
> ...
> PF Info: pfdMakeShared optimizing traversal
> ...
> PF Info: pfdCombineLayers optimizing traversal
> ...
> PF Info: pfdMakeSharedScene scene pfGeoState traversal
> ...
> PF Info: pfuCollideSetup collision traversal
> ...
> PF Info: Total scene-graph statistics
> ...
> PF Info: Initialized 6 Pipes
> PF
> PF Notice: pfChooseFBConfig: failed to make configuration matching specified attributes
> PF Info(-22): Swap Behavior - can enable blocking
> PF Info: Swap Behavior - blocks immediately
> PF Notice: Using 96.00Hz video rate.
> PF Warning/Internal: pfWindow::chooseFBConfig - failed to get visual for overlay window.
> PF Warning/Internal: pfWindow::open - null visual for "OpenGL Performer [pipe 5] - Overlay". returning...
> PF Warning/Internal: pfWindow::chooseFBConfig - failed to get visual for overlay window.
> PF Warning/Internal: pfWindow::open - null visual for "OpenGL Performer [pipe 4] - Overlay". returning...
> PF Warning/Internal: pfWindow::chooseFBConfig - failed to get visual for overlay window.
> PF Warning/Internal: pfWindow::open - null visual for "OpenGL Performer [pipe 1] - Overlay". returning...
> PF Warning/Internal: pfWindow::chooseFBConfig - failed to get visual for overlay window.
> PF Warning/Internal: pfWindow::open - null visual for "OpenGL Performer [pipe 0] - Overlay". returning...
> PF Warning/Internal: pfWindow::chooseFBConfig - failed to get visual for overlay window.
> PF Warning/Internal: pfWindow::open - null visual for "OpenGL Performer [pipe 3] - Overlay". returning...
> PF Warning/Internal: pfWindow::chooseFBConfig - failed to get visual for overlay window.
> PF Warning/Internal: pfWindow::open - null visual for "OpenGL Performer [pipe 2] - Overlay". returning...
> PF Info: scaleFonts 1.00 - Load: 0.20 secs
> PF Info(33): pfuRunProcOn() - Process 13252 running on CPU 0.
> PF Info: pfuDownloadTexList texture processing
> ...
> PF Info: pfuDownloadTexList texture processing
> ...
> PF Info(33): pfuRunProcOn() - Process 13253 running on CPU 0.
> ...
> PF Info: pfuDownloadTexList texture processing
> ...
> PF Warning/Usage: OpenGL Error 0x501 - invalid value
> PF Warning/Usage: OpenGL Error 0x501 - invalid value
> ...
> PF Warning/Usage: OpenGL Error 0x501 - invalid value
> PF Warning/Usage: OpenGL Error 0x501 - invalid value
>
> ---------------------------------------------
> Terveisin / Best Regards GSM / Mobile Phone +358 40 830 4157 tapio.hellman++at++seamk.fi
> Tapio Hellman Puhelin / Phone +358 20 124 4914 http://www.seamk.fi
> laboratorioinsinööri / Laboratory Engineer Faksi / Fax +358 20 124 4937 Kampusranta 9 A, FIN-60320 SEINÄJOKI
> Seinäjoen Ammattikorkeakoulu, ICT-yksikkö / Seinäjoki Polytechnic, School of ICT FINLAND
>
> -----------------------------------------------------------------------
> List Archives, Info, FAQ: http://www.sgi.com/software/performer/
> Open Development Project: http://oss.sgi.com/projects/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com
> -----------------------------------------------------------------------
>
This archive was generated by hypermail 2b29 : Sat Aug 27 2005 - 11:57:19 PDT