Commit Graph

209 Commits

Author SHA1 Message Date
Robert Osfield
65244321b4 The OpenFlight plugin was crashing with pre 15.6 .flt files that contained
light points.  This was due to the mismatch is size and fiels in the LightPointRecord
before 15.6 and after it, the OSG's flt plugin was assuming just 15.6 record
structure.  As a temporary solution I have disabled the processing of light point
records on .flt file version before 15.6, this allows these files to be loaded
safely, but without light points.
2005-11-18 14:46:38 +00:00
Robert Osfield
7b117ada29 From Andrew Reyonolds : changed the endian conversion code to work on a temporary
rather then on a flt structure to prevent repeated conversion of the same value,
something that led to eroneously large light point string sizes.
2005-11-18 10:03:11 +00:00
Robert Osfield
d3541b96ed Replaced tabs with spaces. 2005-11-17 15:03:51 +00:00
Robert Osfield
5cd39a3119 Did a unix2dos and trimmed end of file of rendundent newlines. 2005-11-15 22:14:50 +00:00
Robert Osfield
435e4b828c Fixes for dumb VS6.0 compiler 2005-11-10 19:32:37 +00:00
Robert Osfield
781f6d3cec From Colin McDonald, "Fixes for some duplicate global symbol definitions in the plugins,
which cause errors when creating a statically linked executable."
2005-11-02 10:29:38 +00:00
Robert Osfield
a76ae5e830 From Tony Horrobin:
"This is a small fix for flt2osg.[cpp|h] that handles
    old style road segments ( from Multigen II w/road
    tools on IRIX ) in the same way as the newer road
    constructions. ie create a group and do a nested
    traversal.

    This makes roads appear in older format files where
    there was previously a gap.  This actually works
    properly with the paths which are marked as hidden in
    the openflight database."
2005-10-24 11:37:03 +00:00
Don BURNS
e17ac7a8d9 Brede's changes for limited morphed vertex support. These changes allow
a model with morphed vertecies to load correctly with LOD switches, but
does not implement the vertex morphing.
2005-09-24 16:11:55 +00:00
Robert Osfield
d2ae4d692d From Henrique Bucher, add check against null light entry in LightPool. 2005-09-11 19:12:54 +00:00
Robert Osfield
f4dd930376 From Gordon Tomlinson:
"
This fixes some crashing issues I was having with certain FLT files that only had partial colour palettes

Which are typically found in older 14.x files and file converted through Polytrans or Deep exploration etc.

The code that grabs the color entries in ConvertFromFLT::visitColorPalette was assuming that there were full
palettes always coming in and stepping was out of bounds in certain cases (not all) and thus crashing with
access  violations etc,

Although the normal from Creator is to have 1024 or 512 entries , this is not a  really requirement of the format,  just the way Creator creates its default palettes etc.

Code changed to look at the number of entries and use just those and fills in any missing entries with a default white colour"
2005-08-24 11:53:13 +00:00
Robert Osfield
638c928e30 From Paul Martz, fix to memory leak of StateSet's 2005-07-09 09:56:49 +00:00
Robert Osfield
facb0e2638 From Pavel Moloshtan, Byte2,3,4 and Short2,3,4 classes and their Array counterparts.
With a few build tweaks and bug fixes by Robert Osfield.
2005-07-05 15:57:53 +00:00
Robert Osfield
80a99a2559 From Ken Sewell, fixed for x86_64 build. 2005-06-13 11:14:42 +00:00
Robert Osfield
4d960e9ecd From Tom Jolly, fixes to the mapping of the billboard rotate mode. 2005-05-31 05:46:41 +00:00
Robert Osfield
3ba6ce887b Added re-entrent mutex to serialize access to OpenFlight plugin to prevent
any multi-threaded issues.
2005-05-24 10:37:18 +00:00
Robert Osfield
b71472e592 From Alberto Farre, added support for caching of ProxyNode children. 2005-05-19 09:22:45 +00:00
Robert Osfield
2ad67b1727 From Joakim Simonsson:
"DOFAnimation's default state could now be controlled by the RW option.

    The option string is "dofAnimation"

    If the option string is omitted the default animation state is off."
2005-05-18 18:43:03 +00:00
Robert Osfield
9c27121f77 From Daniel Sjölie, for the purpose of maintainability, made the load proxy nodes code the standard, remove the older
code that remained as part of #else #endif blocks, and remove the erroneous
implementation of caching of proxynodes.
2005-05-17 13:34:04 +00:00
Robert Osfield
2dc54fc61d fixed warning. 2005-05-12 20:46:12 +00:00
Robert Osfield
d44977490c From Alberto Farre,
"ConvertFromFLT::addMultiTexture makes ENDIAN conversion for SMultiTexture
 struct attributes.
 When an flt object is multi-instantiated y should be done just first time,
 because SMultiTexture struct is always the same, currently is being done for
 each instance.

 Attached file fix the problem but perhaps a more clean fix would be making
 ENDIAN conversion at writing attributes time instead of at reading time. "
2005-05-12 15:51:28 +00:00
Robert Osfield
56882a7413 From Alberto Farre, "Missed a FilepathList pop_back line from my last submission.
I have also commented out the option string set with FLT_VER because it
overwrites other option string and I found it redundant and not needed."
2005-05-03 21:53:25 +00:00
Robert Osfield
2bb2d9bb37 From Bob Kuehne, fixes for OSX 10.4 build. 2005-05-03 14:31:01 +00:00
Robert Osfield
7f2ab883f5 Added initialize of version number 2005-04-21 21:07:27 +00:00
Robert Osfield
25d1fa2e2c Changed uint for unsigned int. 2005-04-14 20:34:59 +00:00
Robert Osfield
6b86d2d70d From Joson Daly, fix for forward/backward/swing animation handling both 15.8 and
versions prior to 15.8, and...

" Here's another fix for OpenFlight.  The symptom was that ATTR files were
not being read correctly, and the TexEnv on a texture that should have
been set to DECAL was instead defaulting to MODULATE.  The cause is that
the ATTR reader cannot tell by itself what version it's reading (the
version information isn't present in the ATTR files), and instead relies
on the ReaderWriter::Options passed in to get the OpenFlight version.

My change clones the current ReaderWriter::Options and prepends the
appropriate FLT_VER option before the ReaderWriterATTR object is
called.  I also made the parsing of the FLT_VER string and value more
robust in the ReaderWriterATTR itself.  I think I commented things OK,
but let me know if you need me to explain anything."
2005-04-14 07:55:45 +00:00
Robert Osfield
fcab21f9cc Added osg/io_utils include 2005-04-08 09:13:07 +00:00
Robert Osfield
ed0200162c From Alberto Farre, nested files bug fix. 2005-04-04 11:22:43 +00:00
Robert Osfield
d9828731d8 From Alberto Farre:
"Here there are fixes for several flt loader problems.

First one was an small bug when root database was an empty string we got a database path "/" instead of "./".
Second one is more complex. Flt loader works in two passes, first one reads flt database and second one builds osg scenegraph. Special care must be taken for properly tracking database path as nested files are entered. Because textures are loaded in second pass, mentioned care should be taken once again. I wrote time ago a piece of code and I placed it in both files fltFile.cpp and flt2osg.cpp. After a long period offline I have seen the portion of code at flt2osg was missing, I just made some tests and I could see it is still required.

Finally, I have seen that pool.cpp always try to make IMAGE cache instead of reading what Options says.

Aditonally, I recently wrote an osg change, now it has external references "a la flt" what is called osg::ProxyNode. As part of the change now flt loader builds external references as ProxyNodes. I made the same mistake like pool.cpp and always made ARCHIVE cache instead of see what Options says, it has also been fixed."
2005-04-04 11:18:02 +00:00
Robert Osfield
667ecd91f1 From Alberto Farre, fixes to ProxyNode. 2005-03-18 10:00:16 +00:00
Robert Osfield
5684a130b7 From Alberto Farre, addition of ProxyNode, with support in .osg, .ive and .flt loaders 2005-03-07 14:06:09 +00:00
Robert Osfield
f7f61627a8 Fixed tabbing. 2005-03-07 12:32:58 +00:00
Robert Osfield
1223e4c8ca From Alberto Farre, fix to nested OpenFlight file problem. 2005-02-14 15:17:20 +00:00
Don BURNS
c7e8386707 Fixes for IRIX build 2004-11-29 01:12:25 +00:00
Robert Osfield
d9b9a6f1f8 Made read/write methods in ReaderWriter all const to facilate multi-threading 2004-11-23 15:29:52 +00:00
Robert Osfield
ce07879e2e Moved plugins across to using ReaderWriter::Options* for search paths in addition
to standard osgDB::DataFilePaths
2004-11-22 23:54:45 +00:00
Robert Osfield
1f5b044c71 Made ReaderWriter::className const 2004-10-26 10:26:43 +00:00
Robert Osfield
1dd682f6b4 From Fred Mammond, fixes for x86_64 build 2004-10-24 17:50:54 +00:00
Robert Osfield
840ae915e9 Added a direct call to the osgUtil::Optimizer in GeoSetBuilder.cpp so that
the resultant geomety would be more efficiently packed.
2004-10-12 09:00:51 +00:00
Robert Osfield
d7ab56e31f From Sondra Iverson, with mods by Robert Osfield. Support for copying texenv
from the source StateSet when multi-texturing.
2004-10-12 07:54:45 +00:00
Robert Osfield
0fcc08d867 From Sondra Iversion "Loading a single model from an externally
referenced file is a standard option for OpenFlight and is specified by
including the modelname in angle brackets, such as:  filename<modelname>.

The attached code identifies and handles this case."
2004-10-07 10:03:27 +00:00
Robert Osfield
c27bf441e2 Improved the osg::Geometry::computeCorrectBindingsAndArraySizes() implemention
so that it produce more optimal settings.

Changed flt/GeoSetBuilder so that it doensn't merge geometry, as it was
merging geometry even when inappropriate.
2004-10-06 20:32:09 +00:00
Robert Osfield
a907042618 From Jason Daly, fix to multi-texturing/detail texture handling. 2004-10-06 19:19:22 +00:00
Robert Osfield
2d901bf7ee Fixed warnings 2004-08-02 14:52:24 +00:00
Robert Osfield
6524fe1293 From Norman Vine, fixes for Mingw 2004-08-02 09:11:31 +00:00
Robert Osfield
6f03f991b3 Changed the color binding to better reflect the settings in the OpenFlight file. 2004-06-11 21:05:07 +00:00
Robert Osfield
09d585561a Added missing setColorBinding() into ConvertFromFLT::setMeshColors(). 2004-06-11 14:49:22 +00:00
Robert Osfield
343fa27fcd From Troy Yee, fixes to handling meshes.
From Robert Osfield, replaced assert(0)'s with error messages.
2004-06-10 15:43:56 +00:00
Robert Osfield
f02c75f5ea Added Vec2d, Vec3d and Vec4d classes, and remapped Vec2, Vec3 and Vec4 to
Vec2f, Vec3f an Vec4f respectively, with typedef's to the from Vec* to Vec*f.
2004-05-20 10:15:48 +00:00
Robert Osfield
86d323752d From Corbin Holtz, "I have completed my mods to the OpenFlight loader (modified files are
attached):
   * Light point strings using the REPLICATE opcode should now be supported
(>=15.6?)

   * Directional lights should now work as in Performer using a viewing
frustrum defined by a direction vector, horizontal angular width, vertical
angular width, and roll angle about the direction vector.  The current
directional light implementation had some bad assumptions which caused
problems with direction vectors not on the XY plane.

   * IVE and OSG reader/writers were updated as appropriate"
2004-05-08 22:18:38 +00:00
Robert Osfield
b6c1c44bd0 From Paul Martz,
"Changes to provide rudimentary support for OF 15.8 light point
animation palettes. This change also includes light point palette override
support for external references. This is the last of my code changes to
support OF 15.8 in the flt loader. Barring bugs, of course, knock on wood.

The gist of the animation palette code is to create ref_ptr'd
osgSim::BlinkSequence objects for each palette entry, and then pass them on
to osgSim::LightPoint for any OpenFlight light points that reference that
palette entry. This should be conservative of memory (not that I expect the
animation palette to be extremely large)."
2004-05-08 21:33:25 +00:00