Commit Graph

209 Commits

Author SHA1 Message Date
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
Robert Osfield
5b97336e37 Addition of RoadRecords from Yefei He. 2002-07-12 08:48:27 +00:00
Robert Osfield
46af97727a Added Yefei He's RoadRecords to the flt loader, these records will be
ignored by the loader, but will allow the loader to skip over them and
continue reading the rest of the file correctly.
2002-07-10 09:32:44 +00:00
Robert Osfield
0c943945f7 Implemented most of the changes required for supporting multitexturing in
the osg::State/osg::StateSet/osg::StateAttribute and related classes.
2002-07-09 09:35:42 +00:00
Robert Osfield
48e7679e78 Rewrote the osgUtil::Tesselator so that it is easier to use, and can also
easily retesselate osg::Primitive::POLYGONS found in Geometry objects.
Added calls to the tesselate to the lwo and flt loaders.
2002-06-28 22:42:02 +00:00
Robert Osfield
01992a7790 Ported the flt plugin across to use osg::Geometry, it still uses a GeoSet
internally, and I will remove this after some futher work.
2002-06-27 20:29:32 +00:00
Robert Osfield
aa58ecae2f Clean ups for the Windows build. 2002-06-18 10:18:12 +00:00
Robert Osfield
6767dd49d0 Rewrote the FileUtils support for data and library file paths, moving the
storage of the path lists into osgDB::Registry, and changed the data
structor from a char* to a std::deque.  Changed a names of couple of the
convinience functions in osgDB/FileUtils to better reflect the two
public FilePathList's - DataFilePathList and the LibraryFilePathList.

Added support into the osgDB::Registry::readNode/Image/Object methods
for pushing and popping the path of the current file being loaded.
2002-06-17 21:50:37 +00:00
Robert Osfield
e73d4ca5b3 Changes for Cygwin build, sent in by Norman Vine. 2002-05-28 11:40:37 +00:00
Robert Osfield
d17714939e Modified the setting of min and mag texture filter modes to produce higher
quality mip maps.
2002-05-18 08:35:09 +00:00
Robert Osfield
8d48cc8dd7 Support added for OpenFlight switch nodes, submission from Brede Johansen. 2002-05-07 11:12:01 +00:00
Robert Osfield
7836540bb3 Added osg::Image::setPixelFormat(..) and setInternalTextureFormat(), and
renamed osg::Image::pixelFormat(), internalTextureFormat(),dataType() to
osg::Image::getPixelFormat() etc.  These changes are to bring it more
into line with the style of the rest of the OSG.

Updated the rest of the distribution to take account for these names changes.
2002-04-16 14:57:39 +00:00
Robert Osfield
43fa577566 Updates to the flt plugin from Brede Johansen. 2002-04-16 11:36:23 +00:00
Robert Osfield
83a142b944 Fixed the copying of LongIDRecord's strings in flt plugin so it now uses the record length-4,
to create the string. Also Removed some in appropriate comments from LongIDRecord, since they
were obvious and hang over of a copy and paste job on the code.
2002-04-15 08:51:11 +00:00
Robert Osfield
8a5c6d5102 Clean up for VisualStudio build 2002-04-13 22:19:29 +00:00
Robert Osfield
6ed233d0d2 Added DataVariance enum and set/get fields to osg::Object to help identify
which objects have values that vary over the lifetime of the object (DYNAMIC)
and ones that do not vary (STATIC).  Removed the equivalent code in
osg::Transform, StateSet and StateAttribute, as these are now encompassed
by the new DataVariance field.

Removed MatrixMode enum from Matrix, and associated fields/parameters from
osg::Transfrom and osg::NodeVisitor, since MatrixMode was not providing
any useful functionality, but made the interface more complex (MatrixMode
was an experimental API)

Added ReferenceFrame field to osg::Transform which allows users to specify
transforms that are relative to their parents (the default, and previous behavior)
or absolute reference frame, which can be used for HUD's, camera relative
light sources etc etc.  Note, the view frustum culling for absolute Transform
are disabled, and all their parents up to the root are also automatically
have view frustum culling disabled.  However, once passed an absolute Transform
node culling will return to its default state of on, so you can still cull
underneath an absolute transform, its only the culling above which is disabled.
2002-04-11 23:20:23 +00:00
Don BURNS
1a51045ea4 Added a stop gap fix for cygwin build. Previous experiements were creating
library and  plugin files that looked like system library and system files
which would have deleted original files on a 'make install'.  Cygwin is not
tested yet, but this needed to get fixed before a cygwin user wiped out his
system library files.
2002-04-07 17:47:03 +00:00
Don BURNS
e0adca775b Reinstated Norman Vine's TARGET_BASENAME variable in the makefiles and
added prefixes and suffixes to libs and plugins.  ALl this to accomodate
cygwin...

Also added INST_SYS_PREFIX and INST_SHARE_PREFIX for installation, as well
as "standardizing" the install locations for the various platforms.
2002-04-03 17:42:12 +00:00
Don BURNS
3e6638320a The new order for building OSG. All Makefiles are replaced and
the Make directory is left with four files only :
    makedefs
    makerules
    makedirrules
    instrules

These work for all platforms supported so far, which include :
    Linux
    Irix
    Solaris
    MacOSX
    Cygwin
    FreeBSD
2002-04-02 06:44:57 +00:00
Robert Osfield
e87f7cf853 Updated the makefiles to all have the #!gmake reference to force IRIX
compilation using gmake rather than pmake or smake.  This gets round
issues with exporting OSGHOME.
2002-02-13 22:56:47 +00:00
Robert Osfield
3ef8e4b0dd Updates for IRIX build, and docs updates. 2002-02-12 22:51:18 +00:00
Robert Osfield
6238cef37f Applied fix to transparancy in flt loader. 2002-02-11 12:51:08 +00:00
Robert Osfield
479fc6d2f3 Fixed a make install error on the plugins related to the old definitions for
plugin names hanging around despite being deprecated.  These definiations
confused the make install/make instclean so it tried to link a non existant
library.  Have removed old definitions and everything intalls properly once
more:-)
2002-02-11 02:34:30 +00:00
Robert Osfield
ed45cccc25 Fixes for cygwin and mingw builds. 2002-02-09 10:24:39 +00:00
Robert Osfield
a4ea331f3a Added extensions code submitted by Yefrei. 2002-02-07 01:05:52 +00:00
Robert Osfield
92f68e2669 Added comment to flt2osg's handling of osg::Material setup w.r.t
osg::Material::_colorMode.
2002-02-05 10:49:58 +00:00
Robert Osfield
6630cfb455 Fixes for GCC 3.0.3 build. 2002-02-03 19:18:14 +00:00
Robert Osfield
78fc28be7c Fixed the LOD center and range code that so that the values are now multiple
by the _unitScale to compenstate for different scales in the flt model.  This
_unitScale had already been applied to the geometry data.

Integrated new defaults for the texturing wrap mode, for when now .attr file
is supplied with a flt file.
2002-01-26 14:13:27 +00:00
Robert Osfield
9d3a81b715 Added support for node instances to Open Flight loader. Submitted by Yefei He. 2002-01-22 11:03:26 +00:00
Robert Osfield
13ed25221a Added support for billboard in OpenFlight loader. Submission from Nikolaus Hanekamp. 2002-01-16 21:12:02 +00:00
Robert Osfield
92785c864e Integrated the changes to osgPlugin/Makefile's for MacOSX port. 2002-01-16 12:05:22 +00:00
Robert Osfield
1fb8f9cb86 First batch of changes required for MacOS X build. Orignal submission from
Phil Atkin, merged by Robert Osfield.
2002-01-16 10:36:20 +00:00
Robert Osfield
f7e944c47f Changed the use of std::vector<..>.begin() to &vector<..>.front() in code
from passing the vector contents to the GeoSet::setPrimLengths(..) etc.
methods.  This has been done to fix the compile under the MS .NET compiler
which has changed the definiation of the std::vector<..>::iterator to
a class rather than a pointer.
2002-01-15 23:21:31 +00:00
Robert Osfield
42fd25c613 Renamed the TOP variable in the Makefiles to OSGHOME. 2002-01-04 20:44:41 +00:00
Robert Osfield
75fe0a6a7f Makefile changes to support Cywin port - submission from Norman Vine, updates
to fix case problems under unix by Robert.
2002-01-03 23:19:18 +00:00
Robert Osfield
e3ad8a87ee Updates for Cygwin port, from Norman Vine. 2002-01-03 21:34:57 +00:00
Robert Osfield
52cf47bf2e Updates to flt loading of light points, from Brede Johansen. 2001-12-20 12:12:30 +00:00
Robert Osfield
13641f1d6c Fixed compilation problems in flt plugin under Windows, and removed usage of
the default GeoSet::AtttributeDeleteFunctor from the DynGeoSet since it handled
the memory deletion iteself via STL containers.
2001-12-18 10:46:15 +00:00
Don BURNS
0509495340 Fixed IRIX compile issues with the flt loader.
ReaderWriterATTR.cpp had a variable "mips" defined, which is predefined for the IRIX preprocessor.
Changed this to _mips.

FltFile.cpp had a class and transient variable defined within the scope of member function
FltFile::readExternals(), which was causing the IRIX 7.3 compiles to hork.  Moved the class
definition to outside of the member function scope.
2001-12-17 17:34:17 +00:00
Don BURNS
b35b5f3c3c Fixed IRIX build. Required some namespace fixes and include and link
directives in the Makefiles
2001-12-17 16:21:33 +00:00
Robert Osfield
cb8025d913 Renamed osg::Matric::makeIdent() to osg::Matrix::makeIdentity() to make
it consistent with the rest of the osg::Matrix naming.  Updated OSG
distribution to account for new name.

Added support for the STATIC/DYNAMIC osg::Transform::Type to the .osg
ASCII reader/writer plugin and the flt reader plugin.

Removed the non cost version of osg::Transform::getMatrix() as this could
by pass the dirty mechinism.
2001-12-15 16:56:39 +00:00
Robert Osfield
478274ae7d Fixes to Windows build in liu of the move to using just std::streams. 2001-12-14 23:18:28 +00:00
Robert Osfield
b1f478e5d2 Updated OSG so that the old OSG_USE_IO_DOT_H has be removed from all headers
that used it, all references to the Standard C++ stream classes use the
std::ostream etc convention, all references to "using namespace std" and
"using namespace std::ostream etc" have been removed.
2001-12-14 21:49:04 +00:00
Robert Osfield
84605a5f4e Fixes for Win32 build related to changes in using namespace std. 2001-12-14 10:47:20 +00:00
Robert Osfield
a4e4d4fa7c Removed all references to using namespace std to help solve compilation problems
under Windows and IRIX.

Also integrated small change to lib3ds from Drew for IRIX compilation.
2001-12-14 10:02:27 +00:00
Robert Osfield
f848c54ba3 Made the following name changes to Matrix and Quat to clean them up and make
the functionality clear given the name.  This will break user code unfortunately
so please be away of the following mapping.

  osg::Matrix::makeTrans(..)?\026 -> osg::Matrix::makeTranslate(..)
  osg::Matrix::makeRot(..)?\026   -> osg::Matrix::makeRotate(..)
  osg::Matrix::trans(..)?\026     -> osg::Matrix::translate(..)

  osg::Quat::makeRot(..)?\026     -> osg::Quat::makeRotate(..)

Also updated the rest of the OSG distribution to use the new names, and
have removed the old deprecated Matrix methods too.
2001-12-12 20:29:10 +00:00
Robert Osfield
396b2668c8 Updates to the flt loader, from Brede Johansen. 2001-12-04 19:41:08 +00:00
Robert Osfield
d7ded2d90f Integrated Brede Johansen's updates to flt loader. 2001-12-04 16:03:10 +00:00
Robert Osfield
aa725e899a Updates to the flt loader from Brede Johansen. 2001-11-01 16:35:26 +00:00
Robert Osfield
f0372817b5 Added support for ReadResult and WriteResult to the osgDB::ReaderWriter
to allo plugins to pass back more information about the success or failure
of a file load.  All plugins have been updated to the new convention.
2001-10-30 14:20:37 +00:00
Robert Osfield
2ce6cdd6b2 Fixes for IRIX build - submitted by Randall Hopper. 2001-10-16 18:39:57 +00:00
Robert Osfield
06dafa487e Added osgDB::ReaderWriter::Options class to the ReaderWriter base class, support
for settings options in osgDB::Registry, and added the paramter to all of the
reaader/writer plugins.  The Options structure by default has an string attached
for packing basic options, however, it also can be subclassed to encapsulate
any users defined option data. In the later case both the client code *and*
the plugin need to be aware of subclass, the plugin will need to use
dynamic_cast<> to assertain its type.
2001-10-14 17:54:25 +00:00
Robert Osfield
8df894924c Fixed a recently introduced crash in the flt plugin which was happen when a
std::string was be be set with NULL char*.  Also added support for stripping
the filename from its original path, inside the osgDB::findFile function.
2001-10-08 15:54:16 +00:00
Robert Osfield
c66557087d Added support for using osgDB::fineFile into the .flt plugin. 2001-10-08 08:35:06 +00:00
Robert Osfield
2a9848ea95 *** empty log message *** 2001-09-27 16:34:41 +00:00
Don BURNS
b5eb0a1137 Removed Makedepend files 2001-09-20 00:59:26 +00:00
Don BURNS
77494207fb Removed files.... synching witn 0.8.42 2001-09-19 21:51:06 +00:00
Don BURNS
7e81f6cfa6 More clean up for synch with 0.8.42 2001-09-19 21:19:47 +00:00
Don BURNS
e8f256a59d Added a bunch of files synched with 0.8.42 2001-09-19 21:08:56 +00:00
Don BURNS
70208ebc06 Initial revision 2001-01-10 16:32:10 +00:00