Hello Paul, > Hi All -- I recently posted a change to osg-submissions that adds FLT > export capability to OSG. Assuming it doesn't break the build, I expect > Robert will have this available on current SVN soon.
Great work, it's an excellent feature to add (in addition to the added features in the OpenFlight reader too). As a quick test, I tried converting one of our models (which I can't send unfortunately) from FLT to OSG, then back. The OSG file was good (and I had done that before to debug model that wouldn't load correctly), but on the reverse trip osgconv crashed. Setting OSG_NOTIFY_LEVEL=DEBUG gives the following (sorry if it's long, but I don't want to leave out something that might be useful). > osgconv KVM32.osg KVM32-new.flt GraphicsContext::setWindowingSystemInterface() 015A8508 1018B218 itr='C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\bin' FindFileInPath() : trying C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\bin\osgPlugin s-2.3.6\osgdb_osg.dll ... FindFileInPath() : USING C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\bin\osgPlugins -2.3.6\osgdb_osg.dll CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() Opened DynamicLibrary osgPlugins-2.3.6/osgdb_osg.dll FindFileInPath(KVM32.osg): returning KVM32.osg itr='C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\bin' FindFileInPath() : trying C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\bin\osgPlugin s-2.3.6\osgdb_rgb.dll ... FindFileInPath() : USING C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\bin\osgPlugins -2.3.6\osgdb_rgb.dll Opened DynamicLibrary osgPlugins-2.3.6/osgdb_rgb.dll FindFileInPath(./pump_chassis_LAYOUT.rgb): returning ./pump_chassis_LAYOUT.rgb raw->sizeX = 1024 raw->sizeY = 1024 raw->sizeZ = 4 raw->bpc = 1 image read ok 1024 1024 FindFileInPath(./mirror.rgb): returning ./mirror.rgb raw->sizeX = 256 raw->sizeY = 512 raw->sizeZ = 4 raw->bpc = 1 image read ok 256 512 FindFileInPath(./bar.rgb): returning ./bar.rgb raw->sizeX = 128 raw->sizeY = 256 raw->sizeZ = 4 raw->bpc = 1 image read ok 128 256 FindFileInPath(./mirror front.rgb): returning ./mirror front.rgb raw->sizeX = 256 raw->sizeY = 512 raw->sizeZ = 4 raw->bpc = 1 image read ok 256 512 FindFileInPath(./front bottom.rgb): returning ./front bottom.rgb raw->sizeX = 512 raw->sizeY = 128 raw->sizeZ = 3 raw->bpc = 1 image read ok 512 128 FindFileInPath(./pump_boom_LAYOUT.rgb): returning ./pump_boom_LAYOUT.rgb raw->sizeX = 1024 raw->sizeY = 1024 raw->sizeZ = 3 raw->bpc = 1 image read ok 1024 1024 itr='C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\bin' FindFileInPath() : trying C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\bin\osgSim.dl l ... itr='C:\Windows\system32' FindFileInPath() : trying C:\Windows\System32\osgSim.dll ... itr='C:\Windows\System' FindFileInPath() : trying C:\Windows\system\osgSim.dll ... itr='C:\Windows' FindFileInPath() : trying C:\Windows\osgSim.dll ... itr='.' FindFileInPath() : trying C:\Dev\Work\cranesim\vortex\cranesim\resource\vehicle\ schwing32XL\osgSim.dll ... itr='C:\PROGRA~1\COMMON~1\GTK\2.0\bin' FindFileInPath() : trying C:\Program Files\Common Files\GTK\2.0\bin\osgSim.dll . .. itr='C:\Tools\Perl\site\bin' FindFileInPath() : trying C:\Tools\Perl\site\bin\osgSim.dll ... itr='C:\Tools\Perl\bin' FindFileInPath() : trying C:\Tools\Perl\bin\osgSim.dll ... itr='C:\Tools\MiKTeX\miktex\bin' FindFileInPath() : trying C:\Tools\MiKTeX\miktex\bin\osgSim.dll ... itr='"C:\Tools\dxsdk\Utilities\Bin\x86"' FindFileInPath() : trying C:\Dev\Work\cranesim\vortex\cranesim\resource\vehicle\ schwing32XL\"C:\Tools\dxsdk\Utilities\Bin\x86"\osgSim.dll ... itr='C:\Program Files\CMake 2.4\bin' FindFileInPath() : trying C:\Program Files\CMake 2.4\bin\osgSim.dll ... itr='C:\Windows\system32' FindFileInPath() : trying C:\Windows\System32\osgSim.dll ... itr='C:\Windows' FindFileInPath() : trying C:\Windows\osgSim.dll ... itr='C:\Windows\System32\Wbem' FindFileInPath() : trying C:\Windows\System32\wbem\osgSim.dll ... itr='C:\Program Files\Intel\DMIX' FindFileInPath() : trying C:\Program Files\Intel\DMIX\osgSim.dll ... itr='C:\Program Files\Common Files\Roxio Shared\DLLShared\' FindFileInPath() : trying C:\Program Files\Common Files\Roxio Shared\DLLShared\o sgSim.dll ... itr='C:\Program Files\Common Files\Roxio Shared\DLLShared\' FindFileInPath() : trying C:\Program Files\Common Files\Roxio Shared\DLLShared\o sgSim.dll ... itr='C:\Program Files\Common Files\Roxio Shared\9.0\DLLShared\' FindFileInPath() : trying C:\Program Files\Common Files\Roxio Shared\9.0\DLLShar ed\osgSim.dll ... itr='c:\Program Files\Microsoft SQL Server\90\Tools\binn\' FindFileInPath() : trying C:\Program Files\Microsoft SQL Server\90\Tools\binn\os gSim.dll ... itr='C:\Program Files\doxygen\bin' FindFileInPath() : trying C:\Program Files\doxygen\bin\osgSim.dll ... itr='"C:\Program Files\Graphviz2.16\Bin"' FindFileInPath() : trying C:\Dev\Work\cranesim\vortex\cranesim\resource\vehicle\ schwing32XL\"C:\Program Files\Graphviz2.16\Bin"\osgSim.dll ... itr='C:\Program Files\jEdit' FindFileInPath() : trying C:\Program Files\jEdit\osgSim.dll ... itr='C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\bin' FindFileInPath() : trying C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\bin\osgSim.dl l ... itr='C:\gnuwin32\bin' FindFileInPath() : trying C:\gnuwin32\bin\osgSim.dll ... itr='C:\Tools\Python25' FindFileInPath() : trying C:\Tools\Python25\osgSim.dll ... itr='C:\Program Files\CVSNT\' FindFileInPath() : trying C:\Program Files\CVSNT\osgSim.dll ... itr='C:\Program Files\SSH Communications Security\SSH Secure Shell' FindFileInPath() : trying C:\Program Files\SSH Communications Security\SSH Secur e Shell\osgSim.dll ... itr='C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\bin' FindFileInPath() : trying C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\bin\osgSim.dl l ... itr='C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\share\OpenSceneGraph\bin' FindFileInPath() : trying C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\share\OpenSce neGraph\bin\osgSim.dll ... DynamicLibrary::failed loading "osgSim.dll" itr='C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\bin' FindFileInPath() : trying C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\bin\osgPlugin s-2.3.6\osgdb_osgsim.dll ... FindFileInPath() : USING C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\bin\osgPlugins -2.3.6\osgdb_osgsim.dll Opened DynamicLibrary osgPlugins-2.3.6/osgdb_osgsim.dll Matched UserData { read 015E6920 FindFileInPath(./bushmaster-tread_blk.rgb): returning ./bushmaster-tread_blk.rgb raw->sizeX = 128 raw->sizeY = 128 raw->sizeZ = 3 raw->bpc = 1 image read ok 128 128 FindFileInPath(./dingo-wheel_des.rgb): returning ./dingo-wheel_des.rgb raw->sizeX = 512 raw->sizeY = 512 raw->sizeZ = 4 raw->bpc = 1 image read ok 512 512 Matched UserData { read 015E6970 Matched UserData { read 015E69C0 FindFileInPath(./double tread.rgb): returning ./double tread.rgb raw->sizeX = 256 raw->sizeY = 128 raw->sizeZ = 3 raw->bpc = 1 image read ok 256 128 Matched UserData { read 015E6A10 Matched UserData { read 015E6A60 Matched UserData { read 015E6AB0 FindFileInPath(./alpha part good.rgb): returning ./alpha part good.rgb raw->sizeX = 512 raw->sizeY = 128 raw->sizeZ = 4 raw->bpc = 1 image read ok 512 128 FindFileInPath(./alpha part.rgb): returning ./alpha part.rgb raw->sizeX = 349 raw->sizeY = 625 raw->sizeZ = 4 raw->bpc = 1 image read ok 349 625 FindFileInPath(./wipers.rgb): returning ./wipers.rgb raw->sizeX = 404 raw->sizeY = 817 raw->sizeZ = 4 raw->bpc = 1 image read ok 404 817 Matched UserData { read 015E6BA0 Matched UserData { read 015E6BF0 Matched UserData { read 015E6C40 Matched UserData { read 015E6C90 Matched UserData { read 015E6CE0 Matched UserData { read 015E6D30 Matched UserData { read 015E6DD0 Matched UserData { read 015E6E20 Matched UserData { read 015E6E70 Matched UserData { read 015E6EC0 Matched UserData { read 015E6F10 Matched UserData { read 015E6F60 Matched UserData { read 015E6FB0 Time to load files 1430.64 ms Stats before: Object Type #Unique #Instanced StateSet 17 139 Group 35 35 Transform 38 38 LOD 0 0 Switch 0 0 Geode 139 139 Drawable 139 139 Geometry 139 139 Vertices 17588 17588 Primitives 5301 5301 Optimizer::optimize() doing REMOVE_LOADED_PROXY_NODES Optimizer::optimize() doing COMBINE_ADJACENT_LODS Optimizer::optimize() doing OPTIMIZE_TEXTURE_SETTINGS Optimizer::optimize() doing SHARE_DUPLICATE_STATE Num of StateSet=17 searching for duplicate attributes Optimizer::optimize() doing FLATTEN_STATIC_TRANSFORMS ** RemoveStaticTransformsVisitor *** Pass 0 Optimizer::optimize() doing CHECK_GEOMETRY prim=GL_TRIANGLES primitiveset->getNumIndices()=72 totalNumberOfPrimitives=24 prim=GL_QUADS primitiveset->getNumIndices()=284 totalNumberOfPrimitives=95 Optimizer::optimize() doing MERGE_GEOMETRY MERGE_GEOMETRY took 7.2146e-005 Optimizer::optimize() doing REMOVE_REDUNDANT_NODES Stats after: Object Type #Unique #Instanced StateSet 17 139 Group 35 35 Transform 38 38 LOD 0 0 Switch 0 0 Geode 139 139 Drawable 139 139 Geometry 139 139 Vertices 17588 17588 Primitives 5301 5301 itr='C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\bin' FindFileInPath() : trying C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\bin\osgPlugin s-2.3.6\osgdb_openflight.dll ... FindFileInPath() : USING C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\bin\osgPlugins -2.3.6\osgdb_openflight.dll Opened DynamicLibrary osgPlugins-2.3.6/osgdb_openflight.dll FindFileInPath(./pump_chassis_LAYOUT.rgb.attr): returning ./pump_chassis_LAYOUT. rgb.attr fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 fltexp: Continuation record length: 46248 FindFileInPath(./mirror.rgb.attr): returning ./mirror.rgb.attr FindFileInPath(./bar.rgb.attr): returning ./bar.rgb.attr FindFileInPath(./mirror front.rgb.attr): returning ./mirror front.rgb.attr It crashes at that point, so I wonder if it's the space in the file name ("mirror front.rgb.attr") that makes it choke? Then again, maybe it's something after that, and for which there is no notification message... I hope you have enough to track this down. If I can do something to give you more info, just let me know. Keep up the good work. J-S -- ______________________________________________________ Jean-Sebastien Guay [EMAIL PROTECTED] http://www.cm-labs.com/ http://whitestar02.webhop.org/ _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org