Commit Graph

209 Commits

Author SHA1 Message Date
Robert Osfield
3a8e5fc6b4 From Yefei Hi, replaced windows specific function with sprintf to afford
better cross platform portability.
2004-05-07 19:58:56 +00:00
Robert Osfield
a196ea1d5d From Yefei Hi,fix to MultiSwitch set up, and adding of parsing of description
fields (which is presently #if 0'd out while a compile problem is resolved.)
2004-05-07 14:51:33 +00:00
Robert Osfield
bc3c6c2edf Fixed tabbing to be all four spaced tabs 2004-05-07 14:44:58 +00:00
Robert Osfield
9978c02b7f From Julian, fix to handling of multi-textures 2004-05-07 14:33:15 +00:00
Robert Osfield
ae7ceae631 From Paul Martz, added support for OpenFlight15.8 LightPointSystems 2004-04-10 11:30:16 +00:00
Robert Osfield
cb213d0ff4 From Paul Martz, changes to better support OpenFlight 15.8 2004-04-07 08:57:15 +00:00
Robert Osfield
231b4c7564 From Paul Martz, code change to make the flt loader pass its light point intensity value in to osgSim::LightPoint. 2004-03-20 17:21:53 +00:00
Robert Osfield
1aa0592878 From Paul Martz, "The attached code change causes the flt plugin to leave _sector unset if the
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."
2004-03-17 20:34:23 +00:00
Robert Osfield
c4deb5510f From Paul Martz, added (non-meters) unit scaling to the flt plugin
failed to set the scaling of external references.
2004-03-17 08:15:24 +00:00
Robert Osfield
3bf1bbdabd From Paul Martz, "I've added support for indexed light points and the light
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."
2004-03-14 15:26:36 +00:00
Robert Osfield
cdd9c2ae25 From Paul Martz, fix to the scaling of light points in flt plugin. 2004-03-09 23:00:01 +00:00
Robert Osfield
8d25f0766a From Paul Marz : "Input.h, Input.cpp -- Here's where support for reading the continuation
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)."
2004-03-06 15:03:55 +00:00
Robert Osfield
0a3384de64 From Paul Martz/Robert Osfield. Addition of initializers in AttrData to prevent
bugs due to uninitialized memory references.
2004-03-04 18:35:06 +00:00
Robert Osfield
88f2f38741 From Paul Martz, fix to the byte swapping of the version number 2004-03-04 16:38:56 +00:00
Robert Osfield
cfe376b644 From Paul Martz, with a couple of mods by Robert Osfield:
"Changes to return the lat/long origin of an
OpenFlight model as userData of the root node object."
2004-03-02 16:12:11 +00:00
Robert Osfield
adcb6665d4 From Paul Martz:
"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."
2004-03-02 15:37:41 +00:00
Don BURNS
fc3d4aa5f0 Submission by Paul Martz for doing units conversions on flight files. 2004-02-12 18:40:15 +00:00
Don BURNS
362cc3ccc3 Fixed WIREFRAME_CLOSED swap in flt loader. submitted by Andreas Ekstrand 2004-01-28 22:23:10 +00:00
Robert Osfield
9927c664b5 Merged changes from Cobin Holtz for support of "noUnitsConversion" via
the ReaderWriter::Options string.
2004-01-06 12:27:20 +00:00
Robert Osfield
3702947ef9 From Jeremy Bell, add -losgText to fix OSX compile. 2003-12-13 22:07:55 +00:00
Robert Osfield
83bf813e58 Moved the responsibility for finding file to load on to the ReaderWriter plugins,
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.
2003-12-08 11:24:43 +00:00
Robert Osfield
dd44734635 From Nikolaus Hanekamp, Fixes to lightpoint code 2003-11-27 13:31:16 +00:00
Robert Osfield
d41a3de37c From Trajce Nikolov:
> 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.
2003-11-27 13:25:52 +00:00
Robert Osfield
d950ee8410 Addition of light point. 2003-11-26 16:56:32 +00:00
Robert Osfield
72ba462251 Added osgSim::MultiSwitch and support for it in the OpenFlight and
.osg plugins
2003-11-25 15:58:57 +00:00
Robert Osfield
31c5528ffb Moved osg::DOFTransform to osgSim::DOFTransform.
Fixed crash associated with .osg files which contain empty description fields.

From Sondra Inverson, added support to .ive plugin for osgSim::DOFTransform.
2003-11-25 14:11:05 +00:00
Robert Osfield
357078f207 From Trajce Nicklov, support for GeneralMatrix record 2003-11-25 10:47:13 +00:00
Robert Osfield
689e11693a From Alberto Farre, added support for nesting of files. 2003-11-25 10:32:23 +00:00
Robert Osfield
bd686c4598 From Michael Morrison, added support for the OpenFlight BSPRecord, simply
mapping it to a Group.
2003-11-25 10:20:21 +00:00
Robert Osfield
21881490cd From Dean Iversion, fix to the ReaderWriter::Options management in Pool.cpp 2003-11-11 08:52:41 +00:00
Robert Osfield
980cfc78f9 Renamed _mips to _mipMapKernel 2003-10-31 10:11:38 +00:00
Robert Osfield
c11762aeb3 Changed the warnings about unhandled op codes to NOTICE instead or WARN 2003-10-17 10:28:55 +00:00
Robert Osfield
c342b29a04 Warning fixes for Win32. 2003-09-16 19:56:19 +00:00
Robert Osfield
79b87c933e From Julian Ortiz, fix to OpenFlight loader so that it handlers OpenFlight
switches in a more appropriate way.
2003-09-15 15:03:30 +00:00
Robert Osfield
6bb951a5bb From Alberto Farre, fixes to the file path handling of internally referenced
files.
2003-08-31 22:17:15 +00:00
Robert Osfield
64e3c052d6 Removed double line spacing in ExternalReference code. 2003-08-28 12:49:38 +00:00
Robert Osfield
138835d817 Added a PushAndPopFilePath usage to the internal flt file references. 2003-08-28 12:47:32 +00:00
Robert Osfield
2ce08d8088 Warning fixes from Gideon May. 2003-07-23 11:45:37 +00:00
Robert Osfield
94d8e72ad3 warning fixes for IRIX. 2003-07-11 22:05:34 +00:00
Robert Osfield
71eb715068 Added an osg:: infront of the Object() copy constructor call to AttrData. 2003-06-30 06:41:42 +00:00
Robert Osfield
aca924113f From Julia Oritz Rojas, support for detail textures. 2003-06-25 10:12:50 +00:00
Don BURNS
15f88f35b2 *** empty log message *** 2003-06-24 15:40:09 +00:00
Robert Osfield
1c8db044f1 Removed various assert() instances since these were causing crashes.
From Alberto, changed the use of the DynGeoSet to it was querried on demand
rather than used as a pointer which was originally being invalidate before
use.
2003-04-18 10:10:14 +00:00
Robert Osfield
b04edb70aa Added a clear of allocated Records and the cache's in flt::Registry to
prevent memory leaks and unneccesary references to model models remaining
beyond the scope of the loader.
2003-03-18 20:10:51 +00:00
Don BURNS
fa33244f92 1) Replaced all Makefile* with GNUmakefile*.
2) Changed Makedepend system to make individual dependency files, which
   should save time rebuilding dependencies by limiting the regeneration
   of dependency file for only modified source files.
2003-03-12 10:39:43 +00:00
Robert Osfield
ef3b957cb9 From Daniel Sjolie, support for light source. 2003-03-07 09:04:04 +00:00
Robert Osfield
08cdf05b3e Fix to comment record and longID length using both inbedded null's and
rec length to determine the length of a string.
2003-03-07 08:52:51 +00:00
Robert Osfield
042af2be03 Add if (!textureStateSet) return check to replace assert() to prevent crashes
when multi-texture layers don't exist.
2003-02-12 10:10:03 +00:00
Robert Osfield
5a05e14e50 Fix to handling of comment records and longid's. 2003-01-23 14:46:10 +00:00
Robert Osfield
ec30f7d8a6 Update the ReaderWriterATTR file so that it used the definitions that Joseph
Steel obtained from MPI.

Removed the unique child check from the flt::PrimRecord and osg::Group, this
allows more flexibility when specifing nodes, and is faster..
2003-01-20 09:56:09 +00:00
Robert Osfield
d6480b0425 Warning fix for Win32. 2003-01-15 20:57:48 +00:00
Robert Osfield
6727b8d5f7 Cleaned up the code for the animation flags of the group record. 2003-01-08 16:30:48 +00:00
Robert Osfield
7b6d802131 Fixed options code. 2003-01-04 20:43:27 +00:00
Robert Osfield
fe64942c54 Added a AnimationPathCallback which can update both a MatrixTransform and a
PositionAttitudeTransform, removed the equivialnt callbacks once found in these
transform classes.

Changed the NodeCallback class so its derived from osg::Object instead of
osg::Referenced to allow it to be saved out in the .osg format.

Added support for Update and Cull callbacks into the .osg file format.

Added support for AnimationPathCallback into the .osg file format.
2003-01-02 20:10:04 +00:00
Robert Osfield
6d4e13ab1b From Daniel Sjölie, support for reading comment records into description fields. 2002-12-17 17:22:06 +00:00
Robert Osfield
6efe79c33c Changed cout to notify. 2002-12-09 09:26:49 +00:00
Don BURNS
5622e704cf fixed small typo (forgot std::) 2002-12-09 06:00:57 +00:00
Robert Osfield
55d04ef381 Modifed the .attr loaders handling if TX_BILINEAR minification filter so that
it remaps it to LINEAR_MIPMAP_LINEAR to get round image quality issue of some
OpenFlight databases.
2002-12-08 17:22:20 +00:00
Robert Osfield
aa3d887e94 Added check of translucency of an image via osg::Image::isImageTranslucent(). 2002-11-25 16:40:30 +00:00
Robert Osfield
de85272032 Moved the code to create StateSet around textures into flt::Pool::getTexture so that
the code associated with loading textures is done is just one place.
2002-11-20 14:40:33 +00:00
Robert Osfield
b89e7282ed From Jason Daly, fix for long file names on sequence nodes. 2002-11-14 15:30:28 +00:00
Robert Osfield
afa27a13ec From Jason Daly, fix for 14.2 color records in versions of OpenFlight files. 2002-11-05 07:50:40 +00:00
Robert Osfield
6bb8002116 Added in guard to png loader so that it only accepts png files. This has been
added since the png loader itself doesn't not seem robust enough at detecting
non png files.

Added a tab in to the flt code to make it more obvious what is happening in
the flow of the code.
2002-11-04 08:40:51 +00:00
Robert Osfield
85af8cc4ba Yefei He's updates to Pool and flt2osg to use lazy loading of textures from a
texture pallette.
2002-10-31 10:35:15 +00:00
Robert Osfield
18d99c06e4 Updated the min and mag filter modes to be more appropriate, still some
of the FLT modes havn't been mapped across as its is not obvious how to map
them to OpenGL/OSG.
2002-10-25 09:34:51 +00:00
Robert Osfield
ab59703e54 Fixed compile error under Windows. 2002-10-17 11:39:04 +00:00
Robert Osfield
6c0861ef80 Maded the "flt::Registry::getPrototype: Unkown opcode:" message a INFO level
notify message rather than a NOTICE.
2002-10-10 09:42:41 +00:00
Robert Osfield
2e92e7d242 Made the warning about a mis-matching in the number of children in a switch
a INFO level notify message rather than a WARN.
2002-10-10 09:39:09 +00:00
Robert Osfield
70861ef70e Converted osg::LOD from used n+1 successive ranges to n min/max ranges,
one min/max pair per child. Converted the rest of the OSG to use the new
osg::LOD node.
2002-10-06 20:33:13 +00:00
Robert Osfield
84332f5b77 Fixes for Win32 build. 2002-10-04 16:40:45 +00:00
Robert Osfield
4a3cc5c182 Implemented OpenFlight style switches so that each child of a switch can now
be individually turned on or off.  Moved the OpenFlight code across to use the
new scheme, removing the old hack of using node masks to achieve the same end
result.
2002-10-04 14:50:33 +00:00
Robert Osfield
0a5ed26940 Moved the new osg::IndexedGeometry class over the top of the the existing
osg::Geometry class, and removed the temporary IndexedGeometry.  Port the rest
of the OSG across to account for the change in method calls -
osg::Geometry::addPrimitive(..) becomes osg::addPrimitiveSet(..)
2002-10-02 13:12:16 +00:00
Robert Osfield
d176f752a5 From Daniel, Fixes for warnings under Win32. 2002-09-29 12:33:30 +00:00
Robert Osfield
55215651d7 Renamed osg::Primitive to osg::PrimitiveSet which better reflect what it
encapsulates.

Added new osg::IndexGeometry implemention, *not* complete yet.

Changed the rest of the OSG to handle the renaming og Primitive to PrimitiveSet.
2002-09-20 14:51:59 +00:00
Robert Osfield
4a54b7bdb1 From Daniel Sjölie - added support for multitexured flt files. 2002-09-18 11:11:10 +00:00
Robert Osfield
52518673d1 From Yfei He, added in missing RoadConstruction handler. 2002-08-31 09:59:18 +00:00
Robert Osfield
8353fc0ed6 Removed deprecated code from the distribution.
Added .osg support for Texture1D and Texture3D.
2002-08-28 15:28:11 +00:00
Robert Osfield
8e75f531e3 Converted code dependant on osg::Texture across to its replacement osg::Texture2D. 2002-08-25 15:31:44 +00:00
Robert Osfield
848ce4ae74 From Perry, support for color added to the MeshPrimtive/LocalVertexPool code. 2002-08-15 20:25:46 +00:00
Robert Osfield
5f6dbfecf3 Removed the getData() from MeshRecord and the dummy SMesh record, this
allow the FaceRecord base class to directly provide the datatype.
2002-08-15 15:04:23 +00:00
Robert Osfield
4cbab17096 Added a virtual keyword into the getData() overrided methods. 2002-08-15 13:04:13 +00:00
Robert Osfield
61e3b34bc7 Submission from Perry Miller for support of OpenFlight15.7's local vertex pool
and mesh primitives.  Converted Perry's code to work with the osg::Geometry
instead of osg::GeoSet.
2002-08-15 11:25:23 +00:00
Robert Osfield
29490a8c1c Updates to DOFTransform so that its overrides the traverse() and compute*() methods
rather than depending upon callbacks for animating and compute matrices.  Merged the
put/inverseput code between Sasa's and Ferndinand's DOF code.

From Bora Utka, Added support to osg::Sequence/OpenFlight AnimNode to the flt plugin.
2002-08-12 13:42:43 +00:00
Robert Osfield
b9b013e15b Changed the support for anisotropic filtering in osg::Texture so that it
is now controlled via the setMaxAnisotropy(float) method, and is set up
independently for the mag filter mode, which it previously was done.
2002-08-07 15:52:24 +00:00
Robert Osfield
25740b5c7f Added new osg::DOFTransform node from Sasa Bistrovic, designed to mirror
the OpenFlight DOF transform nodes.
2002-08-05 15:07:18 +00:00
Robert Osfield
fe8d097cc0 From Ferdinand Cornelissen - Futher updates to the DOF code. 2002-07-25 22:08:51 +00:00
Robert Osfield
ec6c2cd229 Fix to DOF Record from Sasa Bistroviae. 2002-07-25 15:25:42 +00:00
Robert Osfield
a6eb0a8209 Fix for colors in old flt models from Brede. 2002-07-25 15:21:18 +00:00
Robert Osfield
55b7ed10a1 Implemented the DOF handling more cleanly, as per OpenFlight15.7 docs. 2002-07-24 16:29:00 +00:00
Robert Osfield
7682e32521 Updates to the Geometry to add more access methods, and updates to Optimizer
to add the new merge primtives option.
2002-07-19 14:19:49 +00:00
Robert Osfield
3cba9a52ef Updates NEWS file for 0.9.0 release.
Added default computeBound() implementation to osg::Drawable which uses
a PrimtiveFunctor to compute the bounding box in a generic way, that
will work for all Drawable subclasses that implement the accept(PrimitiveFunctor&).
2002-07-18 22:35:54 +00:00
Robert Osfield
979fc70a94 From Brede Johansen, fix the TexturePaletteRecord::endian() to handle
old flt versions (11, 12 & 13).
2002-07-18 15:25:02 +00:00
Robert Osfield
b513517502 From Brede Johansen
"I have found one bug in the ConvertFromFLT::visitFace() function.  In the
early days of the Flight format, before the LightPoint record existed
they used face records with a light (-point) attribute."
2002-07-18 14:29:32 +00:00
Robert Osfield
8378d6802b Removed repeated return transform in the visitDOF method. 2002-07-18 10:41:39 +00:00
Robert Osfield
7a8eeb3c92 Converted the osg::Material::set/getShininess option to use the standard
OpenGL range of 0.0 to 128.0 instead of the previous normalised shiniess
range. This brings it inline with the way the rest of the OSG uses a
1 to 1 mapping to OpenGL.

Converted the various loaders to use the new range, which is almost all
cases was simply removing the /128.0f which was required before!
2002-07-18 09:55:30 +00:00
Robert Osfield
3ec32aab82 Fixed spelling mistake. 2002-07-18 00:55:01 +00:00
Robert Osfield
09bdb10af5 Various fixes to the flt loader, and knock on changes to the osgUtil::Optimizer
to better support removal of seperate osg::Geometry instances where they
share the same state and bindings.
2002-07-18 00:53:03 +00:00
Robert Osfield
dadbd03443 Fix to DOF Record from Sasa Bistrovic 2002-07-16 19:19:31 +00:00
Robert Osfield
4895b22da1 Fixed various warnings which were appearing under MacOSX. 2002-07-13 21:17:40 +00:00
Robert Osfield
6f392cdbfa Ported distribution across to use the new osg::MatrixTransform and osg::BlendFunc
class instead of osg::Transform and osg::Transparancy respectively.
2002-07-12 18:12:01 +00:00