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."
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.
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"
"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)."
direction normal has a zero length. The net effect is that unidirectional
light points with zero length direction vectors are now treated as
omnidirectional light points."
point appearance palette to the OpenFlight loader. Both are 15.8 features.
I also added parsing/comments regarding other things that have changed for
v15.8."
record goes. I added a new function to read a continued record body. I added
code in the existing ReadRecord routine to peek ahead for a CONTINUATION_OP
if the current record could possibly be continued.
opcodes.h -- Besides adding the opcode for CONTINUATION_OP, I also added new
15.8 opcodes. I labeled opcodes as "ignored" if I could easily discern that
our loader wasn't doing anything with them. For historical reasons, I added
all obsolete opcodes, prefixed with "OBS_".
LocalVertexPoolRecord.h, LocalVertexPoolRecord.cpp -- This is one of three
types of records that can be continued with a CONTINUATION_OP record. I
removed all invalid assertions that assumed the record length would always
be less than 65535. I replaced the "vertex size" calculation with a more
efficient method based on caching the size from attribute bits, rather than
taking the length of the record and dividing it by numVerts (which would
have been incorrect if the record had been continued)."
"These two files fix the alignment bug in the flt plugin header
parsing, which I posted about on Saturday. They go in the flt plugin
directory.
The fix is to memcpy the data read from the flt file into individual fields
in our Header struct, then replace the raw (packed) data block with our
header struct. This avoids the alignment problem entirely, and all fields
now contain valid data."
instead of osgDB::Registry where it original lay. This has been done to allow
fileName strings to be encode data rather than just file names, such as one
requires when using PagedLOD along with plugins for doing dynamic tesselation.
> There are databases that contain both Matrix and GeneralMatrix records as
> ancillary records. If this happens, this fix will only use one matrix to
> create osg::TransformMatrix node.
Fixed crash associated with .osg files which contain empty description fields.
From Sondra Inverson, added support to .ive plugin for osgSim::DOFTransform.