Commit Graph

121 Commits

Author SHA1 Message Date
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