Commit Graph

567 Commits

Author SHA1 Message Date
Don BURNS
87b7f48453 Edited INSTALL for new make and installation procedures.
Checking in a fix for Norman Vine
Added helprules and help.sh for a long-winded help message if you
'make help'.
2002-04-05 01:52:15 +00:00
Don BURNS
893dc6d65c Added Norman Vine's changes for CYGWIN builds
Added distrules and makerpms for building RPM distributions

Removed old RedHatRPM distribution build directory

Added new dist/RPM directory and placed temporary .spec files (these
are generated by Make/makerpms and are not intended for stand-alone
use, but they keep the directory warm and CVS happy)
2002-04-04 18:01:44 +00:00
Don BURNS
1de448df4a Fixed a small bug in compute bound that caused it to come up with the
wrong number if the coord array was indexed, and containing bogus
(unindexed, yet in-line) numbers.
2002-04-04 00:30:10 +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
3351306d80 Added new osg::Projection node, and osgUtil::NewCullVisitor which are work
in progress for the new support for controlling the projection matrix from
within the scene graph.

Also Added osg::State::getClippingVolume(), getProjectionMatrix() and
getModelViewMatrix() with allows drawables to access the current projection,
and model view matrices and the view frustum in local coords to the drawable.
2002-03-31 16:40:44 +00:00
Robert Osfield
2786e4c083 Removed reference to malloc.h, replacing by stdlib.h instead. 2002-03-31 09:54:14 +00:00
Robert Osfield
6ff34d0bcb Warnings fixes, submitted by Randall Hopper. 2002-03-30 21:20:41 +00:00
Robert Osfield
434d7b98e5 Fix for Cygwin build. 2002-03-30 15:13:33 +00:00
Robert Osfield
56cee8c711 Move the applying of Projection and ModelView matrices into osg::State so that
it now maintains references to the last applied matrices, automatically doing
lazy state updating.  This simplifies the various places in the OSG which
were previously doing the applying, add paves the way for managing the
projection matrix within the scene graph.

Remove MemoryAdapter and mem_ptr as they arn't being used, and can potentially
confuse users by their existance.
2002-03-29 17:26:40 +00:00
Robert Osfield
ec4ee5281d Fixes for dos endings in MemoryManager.cpp, and compile fix for osgText for
Cygwin.
2002-03-29 12:23:20 +00:00
Robert Osfield
34c05db393 Fixes for IRIX build. 2002-03-28 23:06:20 +00:00
Robert Osfield
33c89c3be0 Added support for setting the texture subload width and height within
osg::Texture.  The values default to 0, and in this state they are
sizes of the glTexSubImage2D are taken from the source image size.  This
allows the previous setup with no settings for subload size to work as
before.
2002-03-27 22:51:58 +00:00
Robert Osfield
7e2c82f141 Futher updates to MemoryManager, fixed memory leak in osgconv. 2002-03-27 16:31:25 +00:00
Robert Osfield
77ae5ddcb6 Updates to various files, replacing delete calls with osgDelete so that
greater debugging info can be gleaned.
2002-03-27 14:56:47 +00:00
Robert Osfield
7927335edf Added support for VERTICAL_SPILT and HORIZONTAL_SPLIT stereo modes. 2002-03-27 10:52:40 +00:00
Robert Osfield
84d2d01163 Added support for osg::MemoryManager which is based upon Paul Nettle's
memory manager published at flipcode.com.  This can be turned on
with the OSG_USE_MEMORY_MANGER option which then uses custom global
new and delete operators as well as provide osgNew and osgDelete macro's
which add ability to log line and file from which calls are made.

Updated osg,osgUtil,osgDB,osgText and osgPlugins/osg to use osgNew/osgDelete,
and fixed memory leaks highlighted by the new memory manager.
2002-03-26 23:52:52 +00:00
Robert Osfield
651a22453a Added osg::MemoryManger which is currently based on Paul Nettle's memory manager
published at flipcode.  I havn't adopted Paul's macro's for new/delete etc, but use
osg prefixed versions instead to allow greater flexiblity in handling include
ordering.

Have fixed a couple of new/delete[] problems which existed as a result.

To use the MemoryManager to track memory usage simply add
-DOSG_USE_MEMEORY_TRACKING to the compile line.

Have yet to move the osg from using new to osgNew, will do this next.
2002-03-25 23:18:02 +00:00
Robert Osfield
06fcd12598 Fixes for MacOSX build. 2002-03-25 19:04:30 +00:00
Robert Osfield
b7022b7e23 Fixed warning in DisplaySettings.cpp 2002-03-23 21:30:32 +00:00
Robert Osfield
f50c5f7a5e Moved the exit on escape into Window, and added a virtual free method on both
Window an Viewer to clean up the windows, this is now called before exit is
finally called, ensure that more more memroy is clean up prior to exit.
2002-03-23 21:28:25 +00:00
Robert Osfield
1ba7e67e2c Added missing TextureCubeMap.cpp to cvs. 2002-03-21 15:46:34 +00:00
Robert Osfield
03cda7d3f8 Renamed have_applied_mode, have_applied_attribute, apply_mode, apply_attribute
to haveAppliedMode, haveAppliedAttribute, applyMode, applyAttribute to make
it more consistent with the general OSG name convetion.
2002-03-21 12:36:05 +00:00
Robert Osfield
a364875afb Added osg:State:have_applied_mode(mode) and have_applied_attribute(type) to make it
easier to specify which modes and attributes have been modified without
the user requiring to know to what value, or to have an equivilant attribute
to pass to the have_applied_attribute method.  The original have_applied(mode)
and have_applied(attribute) methods have been renamed have_applied_mode(),
have_applied_attribute() as this was required to prevent the mode and type
values colliding during compile (it was causing a compile error when the method
names were the same.)
2002-03-21 12:00:10 +00:00
Robert Osfield
b53b3038eb _cullMaskRight was not being initialized in the constructor which was
resulting in some sporadic problems when running stereo - occoasionally the
right eye view wouldn't appear!
2002-03-21 11:57:16 +00:00
Don BURNS
3816a4fcfc Modified files reflect small changes to work with Sun OS port....
Removed redundant README file in osgviews... was a copy of sgv/README.
2002-03-21 07:50:14 +00:00
Robert Osfield
9836af1055 Added osg::TextureCubeMap which encapsulates OpenGL's cube texture mapping. 2002-03-20 22:39:51 +00:00
Robert Osfield
8656adb463 Added a Referenced::unref_nodelete() method which unreferences but does
not delete the object even if its count goes to 0 or below.  This should
only be called in special circumstances, the ReaderWriter::ReadResult
being one of them. This new method has allowed the problem of objects
being multiple referenced on return from readNodeFile() & readImageFile().
2002-03-20 14:03:30 +00:00
Robert Osfield
0b27e5c381 Updates to Texture and TextureCubeMap to clean up the code so they share
much more of the core texture setup code. This largely invloved paramterizing
the applyImmediateMode, which has also been rename applyTexImage to reflect
its functionality better.
2002-03-20 11:24:47 +00:00
Robert Osfield
8c9609b331 Added the fallback of intersecting with the a drawables bounding box, if the drawable
isn't a GeoSet and hence supported by the IntersectVisitor's GeoSet primitive
intersections code.
2002-03-20 11:22:06 +00:00
Robert Osfield
8f02db61e5 Added osg::TextureCubeMap. submission from Brede Johansen. 2002-03-18 23:10:33 +00:00
Robert Osfield
49e7be88a7 Fixed the MS version number check in Optiizer.cpp. Fixes to memory handling
in ReaderWriterDW.cpp.  Submissions from Geoff Michel.
2002-03-18 22:03:28 +00:00
Don BURNS
eb0587b5fb Changes required for SUN Solaris port... 2002-03-18 21:56:00 +00:00
Robert Osfield
45de7a5815 Added new osgstereoimage demo which loads two stero paired images to create
a 3D via of photographed scene.
2002-03-17 18:44:47 +00:00
Robert Osfield
0610d76c6a Fix of a delete char array so it used delete []. 2002-03-14 23:19:58 +00:00
Don BURNS
8b15a1f835 Fixed a problem for finding MIPS 64 bit libraries. Was seaching for
LD_LIBRARYN32_PATH instead of LD_LIBRARY64_PATH
2002-03-14 20:29:05 +00:00
Robert Osfield
c49c62ee15 Integrated various changes worked on at the Glasgow Science Center. Changes
include change the CameraManipulators so they work with double for time
instead of float.  Also added support for DataType to osg::StateAttribute
and StateSet so that they can be set to either STATIC or DYNAMIC, this
allows the optimizer to know whether that an attribute can be optimized
or not.
2002-03-14 17:34:08 +00:00
Robert Osfield
9e92b9b899 Added a TextureCallback which cycles through various filter modes, used
in testing new glTextParamters update functionality.  I have commented out
the call to attaching of the callback so osgtexture outwardly behaves as
before.  The code lies dormant just incase we need to use it for testing
in the future.
2002-03-14 16:42:43 +00:00
Robert Osfield
e80496d5db Changed Texture so that is use lazy updating on texture paramters (Filter/Wrap)
mode by using a _texParamtersDirty flag in combination with an
applyTexParamters(State&) method which does the paramters setting in one
tidy bundle.  This new implementations replaces the CompileFlags submitted
yesterday.

Simplified NodeCallback by remove osg::NodeCallback::Requirements as they
are no longer needed.

Fixed comments in Drawable.

Put guards around cosf definations so that they are only used under Win32/Mac.

Fixed warning in CullVisitor.
2002-03-14 16:01:21 +00:00
Robert Osfield
3a4efd335a Fix to handling of big/little endian in trpage_readbuf sent in by Randall Hopper,
and a waning fix.
2002-03-14 15:26:55 +00:00
Don BURNS
fea861e013 Fixed compile flags in Texture 2002-03-14 00:07:29 +00:00
Don BURNS
d0ee300405 Fixed DrawCallback in Drawable and added CullCallback to Drawable
Cull Visitor now checks for a Drawable's CullCallback and calls it
if it exists.  It then prunes based on the return value (bool) of the
cull callback.
2002-03-13 22:44:22 +00:00
Robert Osfield
bc30edb9e6 Support added for pivot points, submission from Mike Connel. 2002-03-09 10:54:56 +00:00
Robert Osfield
8a8015c41c Fixed setWindowWidth call to account for width and height correctly. 2002-03-09 10:53:19 +00:00
Robert Osfield
c67950561e TXP plugin changes submitted by Boris Bralo. 2002-03-09 10:52:01 +00:00
Robert Osfield
ab5603e3d4 TXP plugin update from Boris Bralo. 2002-03-09 10:51:09 +00:00
Robert Osfield
689eca77d7 Added file extension guard to .obj reader plugin. 2002-03-04 01:37:18 +00:00
Robert Osfield
a6aa57a255 Added support for seperate traversal masks for standard, left and right
cull traversals.  This allows one to create seperate rendering for left
and right eyes when doing stereo.
2002-03-03 22:31:46 +00:00
Robert Osfield
9727d8ff06 Added a GL vesion number check to LightModel, and small typo fix in Registry. 2002-03-02 09:24:05 +00:00
Robert Osfield
b13f7fecf6 Added getInverse implementation to AnimationPath, and added #if guard
to Optimizer.cpp to all compilation on state optimizer when using VS7.
2002-03-01 09:29:56 +00:00
Robert Osfield
084ca39841 Fixes to osgText to improve robustness when running multithreaded multipipe
apps.
2002-03-01 09:28:47 +00:00
Robert Osfield
0439b72da7 Updates to the clamp to border support in osg::Texture. 2002-03-01 09:27:10 +00:00
Robert Osfield
2973ca0a25 Added support for setting the maximum number of graphics contexts that the
OSG has to maintian.
2002-02-28 00:11:31 +00:00
Robert Osfield
384b23ea62 Added an using namespace osg to fix a MipsPro7.3 build error. 2002-02-27 22:12:07 +00:00
Robert Osfield
3444c95261 Integrated support for GL_CLAMP_TO_BORDER_ARB extension to osg::Texture,
submitted by Sasa Bistrovic.
2002-02-27 22:00:47 +00:00
Robert Osfield
ea11548b7b Fixes to DW loader, submitted by Geoff Michel. 2002-02-27 21:57:56 +00:00
Robert Osfield
1bdebcf174 Added new osg::AnimationPath which is contaner for a set of key frames for
defining an animation path.  To be used with osg::Transform etc.
2002-02-27 00:58:54 +00:00
Robert Osfield
7c0eb0f380 Added makeRotate(heading,pitch,roll) to Quat in prep for new classes for
animation paths.
2002-02-26 20:01:04 +00:00
Robert Osfield
260fd17573 Added LightModel.cpp's to Codewarrior files and added definiations for pre gl version 1.2 headers lack of support for color control. 2002-02-25 23:14:27 +00:00
Robert Osfield
e21af2adce Added support for glLightModel functionality via osg::LightModel. 2002-02-25 22:46:38 +00:00
Robert Osfield
f600f6fe4a Added support for glLineStipple via osg::LineStipple state attribute. 2002-02-24 20:55:45 +00:00
Robert Osfield
c726abd773 Integrated fixes to the detailed depth calculation in the CullVisitor from
Sasa, and fix to the IntersectVisitor's management of path from Sean.
2002-02-24 16:49:23 +00:00
Robert Osfield
00e91eec1d Add support for Metrowerks Codewarrior build under Windows. 2002-02-22 17:12:10 +00:00
Robert Osfield
aefaafdbf9 Fixed stereo implementation. 2002-02-18 23:01:09 +00:00
Robert Osfield
6d267336c1 Fixes to Win32 build of new DX writer plugin. 2002-02-18 21:52:45 +00:00
Robert Osfield
36ae60180f Comment w.r.t OpenDX plugin updated. 2002-02-18 20:48:52 +00:00
Robert Osfield
4abfdb1ebd Added OpenDX writer from Randall Hopper. 2002-02-18 20:46:47 +00:00
Robert Osfield
685d0b08cb Beginings of reimplementation of stereo support in scene view. Work
not complete yet.
2002-02-14 13:26:37 +00:00
Robert Osfield
f77afd4282 Fixed impostor bug introduced when new modelview matrix was moved entirely
within the cull traversal/draw traversal. The impostor code has been adapted
to the new convention.
2002-02-14 11:06:03 +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
5d1289144c Updated the osgconv support for orientation conversion so that it used
inserted a static transform to do the work of rotating the scene, then
applied a standard osgUtil::Optimizer::FlattenStaticTransformsVisitor
traversal to flatten the transfrom down on to the geometry nodes.
2002-02-13 22:53:58 +00:00
Robert Osfield
2624162b0e Fixed problems with intersection visitor coupled with the viewer. 2002-02-13 00:13:03 +00:00
Robert Osfield
ef0d53ea54 Added sgv -stereo cessna.osg to make test list. 2002-02-13 00:00:20 +00:00
Robert Osfield
bba95040d6 Added a set of test runs to the makefiles and demos. The demos now have
titles relevenat to their function.
2002-02-12 23:49:24 +00:00
Robert Osfield
3ef8e4b0dd Updates for IRIX build, and docs updates. 2002-02-12 22:51:18 +00:00
Robert Osfield
e6ac4cd190 Updates to Transform handling in CullVisitor, in prep for moving camera
modelview and projection into Transform nodes.
2002-02-11 23:24:23 +00:00
Robert Osfield
61e3e0c693 Clean up of TXP plugin for IRIX build. 2002-02-11 22:53:42 +00:00
Robert Osfield
386b87d4a0 Cleand up the root Makefile.
Moved CullVisitor/RenderStage/RenderStageLighting across to managing lights
entirely within RenderStageLighting, and changed the management of modelview
matrices so that RenderLeaf now stores the absolute modelview matrix, rather
than a model matrix as done previously. The later allows RenderLeaf's to do
a glLoadMatrix rather than a glPushMatrix/glMultMatrix/glPopMatrix.
2002-02-11 19:51:24 +00:00
Robert Osfield
aeaa31bd2a Fixed Linux hang of the TXP loader by overriding the default -O2 optimization
level which appears to cause the code to hang, -O works fine for some strange
reason, I havn't found any direct problems in the code.  This may be compiler
bug or a code bug, the bug may go away in later versions of GNUC++, the
problem currently occurs under GCC2.96.
2002-02-11 15:09:52 +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
0aab3a38b0 Updated Stats code, sent in by Geof Michel. 2002-02-11 00:40:37 +00:00
Robert Osfield
7bb160d27f Updateds NEWS for the 0.8.44 release.
Change the osg::NodeVisitor::getLocalToWorldMatrix() /
getWorldToLocalMatrix() methods so it do not initilize the matrix being
passed to them, and assume the the users has already initiliazed them
appropriately, such as to take account of camera positions.
2002-02-10 23:19:47 +00:00
Robert Osfield
7d03f8a548 Implemented NodeVisitor's getLocalToWorldMatrix and getWorldToLocalMatrix
to allow users to querry the current accumulated matrix state within the
scene graph.
2002-02-10 22:35:22 +00:00
Robert Osfield
d9398af300 Fixed a bug in the drive manipulator which was due to it using the local
coords of the intersection point with the scene rather than the world
coord value for that point.  The code now uses
osgUtil::Hit::getWorldIntersectionPoint() method for getting the world coords.

Added support for getWorldIntersectionPoint to Viewer.cpp.

Put and #ifdef around the setting of the default display list visitor so
it nolonger sets in under IRIX. This is a world around to the IR graphics
imbending lighting info into display lists, if the display lists are
created before state is set up it produces lighting artifacts such as
flickering.  Remove the the default display list init visitor removes
these problems, display lists are then built on the fly and drawables
a drawn for the first time.
2002-02-10 17:16:43 +00:00
Robert Osfield
a08fc47313 Fixes for MacOSX build. 2002-02-10 11:17:58 +00:00
Robert Osfield
86620891af Fixes to TXP loader for Cygwin and Ming builds. 2002-02-10 10:42:55 +00:00
Robert Osfield
634ef7e3a6 Fixed the osgUtil::Optimizer::FlattenStaticTransformVisitor so that it
does not flatten drawables which have double references to them, but only
one reference with a static transform on it.  This case can't be flattened
but this wasn't picked up.  The code now detects the case correctly.
2002-02-09 22:29:40 +00:00
Robert Osfield
6ccb4b20c5 Updates to BMP loader from Geoff Michel. 2002-02-09 21:29:33 +00:00
Robert Osfield
88b6691369 Added std:: infront of string refrences to solve compile problems under gcc 3.0.3.
Also converted to unix file endings so other the windows style files.
2002-02-09 19:46:44 +00:00
Robert Osfield
c999dfb154 Updates to docs and fixes to a few warnings. 2002-02-09 14:29:58 +00:00
Robert Osfield
16ada0fa3b Fix to BMP loader. 2002-02-09 10:50:09 +00:00
Robert Osfield
ed45cccc25 Fixes for cygwin and mingw builds. 2002-02-09 10:24:39 +00:00
Robert Osfield
254d22ec90 Removed further wxsgv files. 2002-02-08 23:07:43 +00:00
Robert Osfield
2fb698f4ca Removed osgWX and wxsgv from the repositry as it is intend to keep the core
distribution clean from GUI examples, these instead should live in the bazaar.
This can better accomodate the many different types of viewer that users are
developming.
2002-02-08 23:04:59 +00:00
Robert Osfield
2075eb0100 Added support for parents to Drawables.
Bumped up version numbers in prep for 0.8.44.
2002-02-08 22:55:21 +00:00
Robert Osfield
4c5fcd3f61 Fixes for IRIX and Boris Bralo's TerraPage loader. 2002-02-08 09:30:02 +00:00
Robert Osfield
ab45bdf214 Fix for Win32 build. 2002-02-07 01:17:54 +00:00
Robert Osfield
d12a726d5b Various investigations into culling errors w.r.t matrix inversion resulted in
the conclusion that the osg::Matrix::inverse was broken, have lifted a new
implementation from sgl and it seems to work fine.  Will need further testing
but looks good.
2002-02-07 01:15:15 +00:00
Robert Osfield
7c7f195d6e Fix for the handling of lighting in the DW loader. 2002-02-07 01:12:06 +00:00
Robert Osfield
ff571d2690 Added a check to the destructor of Referenced so that it detects referenced
objects that are deleted whilest still having a positive _refCount, such
as when a object has been deleted on the stack, yet other references still
exist for it.  Have put the desctructor implementation in Object.cpp to
avoid adding yet another file with only a couple of lines of code in.
2002-02-07 01:11:20 +00:00
Robert Osfield
b00d103f4e Added callbacks to allow users to modify the underlying functionality of
LOD, Billboard and Drawabel objects.
2002-02-07 01:07:11 +00:00
Robert Osfield
a4ea331f3a Added extensions code submitted by Yefrei. 2002-02-07 01:05:52 +00:00
Robert Osfield
95fb921953 Compile fixes. 2002-02-06 08:57:06 +00:00
Robert Osfield
a703130aa0 Have taken a few more steps towards support for view dependant transformations
by adding a ComputeTransformCallback to osg::Transform, and have now removed
the recently added AutoTransform since it is nolonger required.  Have also
updated CullVisitor to account for the new ways for tracking transformation
matrices in the scene.
2002-02-05 21:54:46 +00:00
Robert Osfield
7293af59ed Have removed the old lazy initialization of Matrix since it was causing bugs
and adding checks to many mothods which in the end slow it down more than
not intilizing the code!  The code is now simpler, more robust and faster:-)
2002-02-05 21:51:06 +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
Don BURNS
18998a0654 added shademodel to TARGET_INCLUDE_FILES 2002-02-03 22:32:48 +00:00
Robert Osfield
57fb5a0182 Added beginings of new AutoTransform class. 2002-02-03 20:57:31 +00:00
Robert Osfield
6630cfb455 Fixes for GCC 3.0.3 build. 2002-02-03 19:18:14 +00:00
Robert Osfield
af968b00bd Added first cut at new AutoTransform node which will be used for generating
Transform's during the cull traversal such as for earth/sky etc.
2002-02-03 11:38:20 +00:00
Robert Osfield
cc39c462de Updates for Borland compilation. 2002-02-03 11:35:24 +00:00
Robert Osfield
41d4360675 Fixed a copy and paste error which was causing compile problems under Windows,
due to a incorrect comparison of objects of different types.
2002-02-02 19:49:47 +00:00
Robert Osfield
08194e04d6 Fixes for Windows build 2002-01-30 18:59:36 +00:00
Robert Osfield
4d43f83295 Removed the M_PI defines from include/osg/Math and have use a const double osg::PI etc
in its place.
2002-01-30 15:27:45 +00:00
Robert Osfield
9471714ba4 Changes for Borland C++ compiler changes. 2002-01-30 15:02:56 +00:00
Robert Osfield
2695342858 Added osgbillboard demo. The code is main a copy of osgtexture right now,
my plan to do change it to make it a better demo of the different types
of billboard that one can do.
2002-01-30 15:01:02 +00:00
Robert Osfield
34b93a9f9d Removed a Makedepend that didn't belong! 2002-01-30 14:37:47 +00:00
Robert Osfield
c2ac55a44b Fixed the rotation direction of the POINT_ROT_* modes, this was broken by
earlier fixes to the osg::Matrix.
2002-01-30 13:15:59 +00:00
Robert Osfield
7b370fcb57 Made the LineSegment destructor protected to force users to create segments
on the stack thus ensure that they arn't created locally and have their
memory deleted incorrectly.

Also updated the IntersectVisitor so that it no used osg::ref_ptr<> internally
for storing all data. Have also move the IntersectState helper class to inside the
IntersectVisitor which simplifies the external interface to the class.
2002-01-30 12:09:18 +00:00
Robert Osfield
c72efc1059 Fixes for windows build. 2002-01-29 20:25:45 +00:00
Robert Osfield
02ef10fcfa Moved all references to osg::Cloner to osg::CopyOp. 2002-01-29 14:04:06 +00:00
Robert Osfield
2487861fbc Have add new osg::CopyOp which replaces last nights osg::Cloner, the new
class now combines Cloner and DeepCopy into one class. Cloner and DeepCopy
will be removed in next commit.

Also have added osgcopy app to Demos which shows how the CopyOp have be
subclassed to create users own specific handling of copying.

Have fixed copy constructor problems in GeoSet which fix the deep copy
problem experienced yesterday.
2002-01-29 12:52:04 +00:00
Robert Osfield
f612924a45 Added support for shallow and deep copy of nodes, drawables and state, via a
copy constructor which takes an optional Cloner object, and the old
osg::Object::clone() has changed so that it now requires a Cloner as paramter.
This is passed on to the copy constructor to help control the shallow vs
deep copying.  The old functionality of clone() which was clone of type has
been renamed to cloneType().

Updated all of the OSG to work with these new conventions, implemention all
the required copy constructors etc.  A couple of areas will do shallow
copies by design, a couple of other still need to be updated to do either
shallow or deep.

Neither of the shallow or deep copy operations have been tested yet, only
the old functionality of the OSG has been checked so far, such running the
viewer on various demo datasets.

Also fixed a problem in osg::Optimize::RemoveRendundentNodesVisitor which
was not checking that Group didn't have have any attached StateSet's, Callbacks
or UserData.  These checks have now been added, which fixes a bug which was
revealled by the new osgscribe demo, this related to removal of group acting
as state decorator.

method
2002-01-28 21:17:01 +00:00
Robert Osfield
7f65110322 Added stateset->setMode(GL_LIGHTING,osg::StateAttribute::OVERRIDE_ON); to scribbed
subgraph so that lighting is always on, this is needed since glMaterial is only
active when lighting is enabled.
2002-01-27 20:28:43 +00:00
Robert Osfield
f9f9c577a8 Added new osgscribe demo which demostrates how to create a wireframe
overlay of a model.
2002-01-26 19:48:37 +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
06bd9fda5b Have made osg::Transform more extensible via additions of new getLocalToWorldMatrix()
and getWorldToLocalMatrix(), computeLocalToWorld() and computeWorldToLocal()
methods.

Have updated the CullVisitor, IntersectVisitor and Optimizer to use the
new osg::Transform::getLocalToWorldMatrix() which has the same functionality
as the old getMatrix() but is now supports subclasses of osg::Transform
transparently.

Have added osg::PositionAttitudeTransform as subclass of osg::Transform
which manages the transform as position and attitude via a Vec3 and Quat
respectively.
2002-01-23 22:15:39 +00:00
Robert Osfield
9c8c73c77f Updates to osg::Transform to allow it subclassed more easily. 2002-01-23 15:42:36 +00:00
Robert Osfield
55e0a21dad Fixed problem with Optimzer::removeRedundentNodesVisitor which was removing the
correct redundent groups but for groups which had a single child it was
was not using replaceChild to rettach the child to its parents. It was using
parent->removeChild(group)...parent->addChild(child); which was allow the child
to be attached in a different place than the original group, this broke LOD code.
Have used removeChild instead which solves the LOD problem.
2002-01-23 15:28:31 +00:00
Robert Osfield
9a59cf0fe2 Changed the ordering of applying OpenGL modes and attributes back to the original
modes first then attributes since the it was cause a display bug on some
datesets.  It seems that the modes needs enabling before glMaterial's
take affect, at least on the NVidia drivers under Windows and Linux.
The OpenGL reference guide doesn't mention any dependancy so I'm not
sure what the official line is.  Some other OpenGl attribute and modes
need to be applied in that order according to the blue book, however,
drivers, at least the NVidia drivers seem require the opposite.  This may raise
the spectra of before and after mode applies, but this will require extra
support in osg::State and osg::StateAttribute, and would have to be handled
on a per attribute basis, and possibly different of each platform.  Yuck.
2002-01-23 12:04:53 +00:00
Robert Osfield
f16776da22 Fixed FlattenStaticTransformVisitor bug which related to incorrect handling
of objects which were transformed by multiple matrices at one time - this
cannot be handled in the flattening process (since we only have one piece
of geometry to transform).  This visitor now handles this case by disabling
flattening of any objects and transforms associated in this way.
2002-01-22 19:30:51 +00:00
Robert Osfield
d115e143b5 Temporily commented out the call to the FlatternStaticTransformVisitor to
prevent a bug in handling instance nodes.  Will be commented back in once the
bug has been solved.
2002-01-22 12:03:47 +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
38b7380294 Fixes to Windows compile. 2002-01-20 19:30:16 +00:00
Robert Osfield
604110b245 Updates to help compilation under gcc 3.03. 2002-01-20 16:24:54 +00:00
Robert Osfield
cf66502fe5 Converted osgUtil::GUIEventAdapter::MouseButtonMask from LEFT_BUTTON etc to
LEFT_MOUSE_BUTTON etc, to prevent classes with #define of LEFT_BUTTON.. when
including certain MS Windows headers. Arhsh Snarfff..
2002-01-19 22:11:05 +00:00
Robert Osfield
974b099135 Fixed the handling of non transparent billboards, since it was not taking into
account any accumulated transforms inherited from above.
2002-01-19 20:34:07 +00:00
Robert Osfield
acf256c466 UPdates to CullVisitor so that it keeps in sync with the new method paramter
change in osg::Billboard.

Removed in instance of an object being passed () brackets, have removed the
brackets to avoid an amiguity with the compiler intepreting it as a function.
2002-01-18 22:36:56 +00:00
Robert Osfield
58f72ee2d7 Changes to fix compilation problems on the Sparc.
GeoSet.cpp simply remove rendundent code that had already been commented out.
2002-01-18 22:34:07 +00:00
Robert Osfield
4fbf4db42e Added support for multiple graphics contexts, submission from Max Rhiener.
Alas changed the indenting to use 4 spaces instead of tabs, this irons out
differences when working under Windows and Unix, keeping the identing
consistent.
2002-01-18 22:25:51 +00:00
Robert Osfield
58ead9aead First steps to updating the calcTransform function in Billboard to fix
z axis contraint on rotation axis.
2002-01-18 22:15:59 +00:00
Robert Osfield
baeb396ade Fixed copy constructor which was copying a matrix to unitialized memory. 2002-01-18 19:00:55 +00:00
Robert Osfield
25bb70a86b Made the osg::Timer::tick() method a const method. 2002-01-18 14:11:46 +00:00
Robert Osfield
d1b2fcd0df Fixed ENALBE_ALL_CULLING spelling mistake, have changed it to ENABLE_ALL_CULLING. 2002-01-17 22:41:34 +00:00
Robert Osfield
06e0310314 Added support for glutSpecialFunc, glutSpaceballMotion, glutSpaceballRotate and
glutSpaceballRotate into osgGLUT::Window base class.
2002-01-17 22:40:16 +00:00
Robert Osfield
13f06f4f93 Reversed the ordering of setting of OpenGL modes and attributes, so that
attributes are now set first, then modes.  This is keep consistent with
the setting of glColorMaterial and glEnable(GL_COLOR_MATERIAL) as specfied
in OpenGL documentation.
2002-01-16 21:23:29 +00:00
Robert Osfield
1594b762b4 Fixes to makefiles which have become a bit unhinged after MacOS X integration. 2002-01-16 21:20:22 +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
d69c38f0ed Changed hardwired char[1024] arrays to char[FILEUTILS_MAX_PATH_LENGTH] and
defined the value to be 2048, this should avoid problems with path lengths
which have been overflowing the 1024 limit (Sasa report this bug). The
real solution is to use std::string throught FileUtils, but this will have
to wait for another day.
2002-01-16 12:03:29 +00:00
Robert Osfield
ad6a1665cc Added quicktime plugin (for Mac's only), submitted by Phil Atkin. 2002-01-16 10:41:55 +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
5ed8d680c0 Fix to osgDB::getStrippedName(..) so that handles the case of file without
an extension.
2002-01-15 19:54:55 +00:00
Robert Osfield
ff61505789 Added '# LIBS += -limage' and explanation in comments to pfb Makefile,
submitted by Randall Hooper.
2002-01-15 15:49:02 +00:00
Robert Osfield
3671e77168 Added the set of GL_TEXTURE_GEN_S and _T to code converting pfTexGen to
osg::TexGen. This is try and fix a bug in handling tex gen datasets such
as sj_texgen.pfb.
2002-01-15 12:13:29 +00:00
Robert Osfield
87763acc03 New ajustAspectRatio (ADJUST_NODE) mode added to osg::Camera to fix issue
with integration with vrjuggler, submitted by Allen Bierbaum.
2002-01-15 11:05:00 +00:00
Robert Osfield
686b1abc83 Missing _attachedTransformMode in osg::Camera constructor, fix submitted by
Ben Discoe.
2002-01-12 21:49:07 +00:00
Robert Osfield
9cfef010e0 Change TOP to OSGHOME in makefiles. 2002-01-05 16:19:18 +00:00
Robert Osfield
6da953e31d Moved the setting of camera fusion distance mode into the handle method so that
it is updated on everyframe to ensure that switching between Drive/Flight
and Trackball happens seemlessly.
2002-01-05 16:18:46 +00:00
Robert Osfield
42fd25c613 Renamed the TOP variable in the Makefiles to OSGHOME. 2002-01-04 20:44:41 +00:00
Robert Osfield
32c79ca554 Added a guard to osg::LOD::evaluate so that it returns -1 if the range
matched does not have a corresponding child to relate to.  This can happen
if a user creates more than n+1 ranges, where n is the number of LOD children.
2002-01-04 20:43:20 +00:00
Robert Osfield
4ea7de39c6 Added osg::ShadeModel state attribute which encapsulates glShadeModel. 2002-01-04 17:35:54 +00:00
Robert Osfield
7a7322f7b0 Fixed a bug in writing of line strips and line loops to the .osg file. 2002-01-04 17:34:01 +00:00
Robert Osfield
5be155cc4e Fixed multiple deletion of shared indecies in GeoSet destructor. 2002-01-04 13:14:06 +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
ba8c009219 Small source code changes for Cygwin port of OSG. 2002-01-03 19:28:13 +00:00
Robert Osfield
19bf04c205 Updates from Randall Hopper to fix build under IRIX. 2002-01-02 15:42:42 +00:00
Robert Osfield
f9ee0fe44a A small bug fix to the matrix dump function (it was primtiing out 5 columns
instead of four).

Added support for multiplying mesh geometry by the matrix attached to the
Lib3dsMesh structure, however this produces disjointed models so have
to the default mode to bypass this multiplication code.  Will need to revisit
this in the future.
2002-01-02 11:03:26 +00:00
Robert Osfield
0d4448787b Commented out the smoothing of FLAT_TRIANGLE_STRIP and FLAT_TRIANGLE_FAN
since it was causes problems with any color list which were attached.
2002-01-02 10:59:59 +00:00
Robert Osfield
e767db9182 Moved the glShadeModel(FLAT/SMOOTH) outside of the primtitive inner loop to reduce
the amount state changes incurred when using FLAT_ primtives.
2002-01-02 10:53:20 +00:00
Robert Osfield
c518d69013 Removed the variables which were duplicated in osgGLUT::Viewer and
osgGLUT::Window, standardising on the Window ones, and therefore removing
an unitialized variable that had been introduced.  This caused a crash
under WindowsXP due to send invalid values to glutReshapeWindow.
2001-12-31 23:21:16 +00:00
Robert Osfield
0d0405cc0b Updates to NEWS for date of release, and added include/osg/DisplaySettings
and include/osg/LineWidth to the src/osg/Makefile.
2001-12-31 00:04:38 +00:00
Robert Osfield
7b7319f998 Added /usr/local/lib to the s_default_dso_path search path for plugins. 2001-12-30 19:04:46 +00:00
Robert Osfield
e65e389989 Made the output message related to not registering a camera manipulator
with the GLUT Viewer output as INFO rather than as a NOTICE. This suppress
this message which was appearing on some of the demos all the time, even
though are quite reasonable default behaviour is used.
2001-12-30 17:13:40 +00:00
Robert Osfield
c426c4fda9 Updated the default home position of so that a better view of the scene is seen. 2001-12-30 16:58:33 +00:00
Robert Osfield
930db1112b Compilation fix to pfb plugin, sent in by Ulrich Hertlein. 2001-12-30 15:01:30 +00:00
Robert Osfield
460a78b454 Updates form Randall Hopper for the FreeBSD build 2001-12-29 12:28:24 +00:00
Robert Osfield
98c8447ae9 Fixed the osg::Light so that it requires the user to explicitly define which
OpenGL light is being operated on, and also now relies upong the standard
osg::State handling of OpenGL modes to switch on the appropriate lights.

The previous static counter mechansim for the light number was causing a
redundent light to be created when the osg plugin created the first osg::Light
to use a prototype for other osg::Light's to be cloned from in the
.osg plugin execution.

The static count mechanism also prevent the lights modes being controlled
independantly from the setting of the light paramters themselves.  This
meant that a light once created was global, and couldn't be turned off
locally via the OSG's support for OpenGL mode enabling/disabling.  This
has been overcome with the new implementation, the user has complete
flexiblity of when and where to use the different lights at their
disposal.
2001-12-24 21:34:40 +00:00
Robert Osfield
a6d329b812 Updated the osgGLUT::Viewer to subclass from osgGLUT::Window as has been
intended since the development of osgGLUT::Window.
2001-12-24 19:06:49 +00:00
Robert Osfield
3652bd9015 Various clean ups for the release. 2001-12-24 14:12:38 +00:00
Robert Osfield
fb5fee6c5e Updates to keep things compiling under Windows. Also cleaned up the new stereo.html docs. 2001-12-22 22:30:57 +00:00
Robert Osfield
a370545c79 Updated usage messages to include new stereo and stencil commandline options. 2001-12-22 14:55:22 +00:00
Robert Osfield
19c99dc94c Further work on improving stereo support in the OSG.
Renamed the osg::VisualsSettings to osg::DisplaySettings, and
osgUtil::VisualsRequirementsVisitor to osgUtil::DisplayRequirementsVisitor.

Added support for OSG_SCREEN_HEIGHT into osg::DisplaySettings, and added
a DisplaySettings* to the constructors of osg::SceneView and osg::Camera.
2001-12-21 22:48:19 +00:00
Robert Osfield
734be18471 Updates to the support for stereo in osg::Camera, osgUtil::SceneView and
the CameraManipulators.
2001-12-21 13:07:35 +00:00
Robert Osfield
9365f0e3b1 Added support for glLineWidth via an osg::LineWidth StateAttribute. 2001-12-20 20:48:46 +00:00
Robert Osfield
8aa72d85cf Updates to the camera code related to stereo, adding fusion distance. 2001-12-20 16:35:38 +00:00
Robert Osfield
1326f4616d Added check for null models be returned form osgDB::readNodeFiles(..) to
prevent execution when no models have been loaded.
2001-12-20 16:34:54 +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
73e598f3ff Updates to Stereo code. 2001-12-19 15:20:29 +00:00
Robert Osfield
0721f0a818 Updated the demos to support the new commandline handling of stereo and
convinience functios for loading libs and files.
2001-12-19 10:29:18 +00:00
Robert Osfield
3c1c0f015e Added check for GL_ARB_imaging extension to osg;:ColorMatrix 2001-12-19 08:49:10 +00:00
Robert Osfield
261ab77373 Compilation fixes under for Windows 2001-12-19 01:10:04 +00:00
Robert Osfield
296865e250 Adding support for controlling visual settings via environmental variables
and command line paramters.  Including support for stereo and stencil buffer.
2001-12-19 00:38:23 +00:00
Robert Osfield
a3fe8ebb18 Added range checking to osg::Camera::adjustAspectRatio to catch invalid values being
passed to Camera.  Invalid values were occuring when iconising the Windows GLUT
based OSG demos.
2001-12-18 11:28:44 +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
Robert Osfield
a2cf39fd74 Changed the default field of Y to 45 degrees, as this is probably a better
default than 30 degrees (what it was temproarily) or the 90 degrees that
it was originally.
2001-12-17 21:13:17 +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
bc49a83c51 Updated the Optimzer::FatternStaticTransform visit so by default it ignores
all dynamic transforms, previously it flattened dynamic transforms as well.
2001-12-17 15:05:06 +00:00
Robert Osfield
61643f2ae9 Added std:: infront of endl to ensure compilation under Windows. 2001-12-17 09:29:56 +00:00
Robert Osfield
f5873a82c5 Integrated detailed near clipping plane calculation into osgUtil::CullVisitor,
submitted by Sasa Bistroviae.
2001-12-16 22:20:26 +00:00
Robert Osfield
786dfea3c8 From John Davis, a little addition to the Windows version of the osg::Timer
constructor such that a static variable is used to force the constructor
to check the number of clock cycles per second once, this means that
multiple timers can now be created with incurring a the 1 second delay
used for timming the clock speed every time the constructor is called.
2001-12-16 16:30:34 +00:00
Robert Osfield
3952a3484b Updated version numbers to 0.8.43 in prep for the impending release. 2001-12-15 22:44:32 +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
def6234d8c updates for windows build. 2001-12-15 10:00:43 +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
6070a9e1b1 Updatedwidley used includes to remove most of the float/double warnings
generated when compiling under Windows with STLport.
2001-12-14 18:06:34 +00:00
Robert Osfield
8c3a9c6f65 Fixed problem with incorrect combining of some LOD's derived from flt databases.
Problem related to the order of the removal of redudent groups and LOD combining,
the LOD combining only working properly if done first.
2001-12-14 14:25:38 +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
79c1fb531d Fixed problems with osg::Matrix::makeRot(from,to) and osg::Quat::makeRot(from,to)
so that they both use the same implementation (the Quat code now) and the
code has been corrected to work from and to vectors which directly opposite
to one another.
2001-12-12 15:09:11 +00:00
Robert Osfield
05e4a0b4ce Fixed problem with loading interleaved arrays in the .osg loader, and corrected
a spelling mistake in osg::GeoSet.
2001-12-12 12:55:01 +00:00
Don BURNS
363d1d9d70 Added translation and scaling to osgconv 2001-12-12 05:09:33 +00:00
Don BURNS
b9f1b7aa6f Fixed Matrix::rotate( Vec3 from, Vec3 to); was using to X from to derive
axis, which causes a left-handed rotation.  Fixed to from X to.
2001-12-11 17:00:29 +00:00
Robert Osfield
b3cfed2cb2 Fixed compilation problems under Windows due to changes in using std::ostream etc. 2001-12-11 16:00:32 +00:00
Robert Osfield
be2beec11d Added :Referenced() to the osg::Camera(..) copy constructor to prevent a warning
under Linux.
2001-12-11 11:21:30 +00:00
Don BURNS
eabb4d6918 *** empty log message *** 2001-12-09 03:46:50 +00:00
Robert Osfield
a23627467b Added support for automatic deletion of osg::GeoSet's attributes, via a
default AttributeDeleteFunctor which uses delete [].  Users can create
their own handlers for the attribute memory to override this default
behavior.

Fixed a typo in ReaderWriterOBJ.cpp.
2001-12-04 22:57:40 +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
3e940e0b33 Made a output message output as osg::DEBUG only. 2001-12-04 15:56:08 +00:00
Robert Osfield
03589f190f Commented out the code to force sgv to use ANAGLYPHIC_STEREO as this should
not be the default, will add options to do this later.
2001-12-04 12:34:45 +00:00
Robert Osfield
c92b730817 Improved support for anaglyphic stereo.
Integrated texture CLAMP_TO_EDGE, submitted by Ulrich Hertlein.
2001-12-04 12:31:10 +00:00
Robert Osfield
34a4c18a26 Beginings of support for quad bufferd, red/green, and slit screen stereo. 2001-12-02 22:20:46 +00:00
Robert Osfield
30db615333 Fixed bug in osg::StateSet::merge(..) where the containers were being
iterated from begin() to begin() rather than begin() to end().
2001-11-30 20:53:50 +00:00
Don BURNS
4ef08067b7 Small fix for preprocessor _MP symbol clash with MFC. 2001-11-21 15:53:29 +00:00
Robert Osfield
c9535c68b4 Made the Warning font file not found message consistent with other file not
found messages.
2001-11-19 13:14:38 +00:00
Robert Osfield
82c315dadd Added warning report for when a font file cannot be found. 2001-11-19 10:40:42 +00:00
Robert Osfield
969f757679 Added osg::Image::dirtyImage() and setModifiedTag() to allow external
updating of the image modified flag to be used in conjunction with
texture subloading.
2001-11-18 21:31:16 +00:00
Robert Osfield
3ff4fb6b50 Move the call to the manipulators before the scene app traversal to that
any changes to the scene graph, such as adding an app callback can be
seen by during the same frame.
2001-11-15 11:59:52 +00:00
Robert Osfield
4b3c45acc7 Fixes for windows compilation 2001-11-14 15:53:36 +00:00
Robert Osfield
9bd7098969 Fixed compilation problem under Wndows 2001-11-14 15:52:27 +00:00
Robert Osfield
6cf543cf8c Added osgUtil::TransformCallback to help with rigid body animation. 2001-11-14 14:10:12 +00:00
Robert Osfield
a434abafd7 Fixes for IRIX build.
Updates to the osg::Transform, adding preMult and postMult methods and
deprecating the old preRotate,preTranslate,preScale.

Updated the rest of the OSG so that it nolonger uses the deprecated
osg::Transform nodes.

Renamed osgUtil::SceneView::setGlobalState() to
osgUtil::SceneView::setGlobalStateSet() so that the name reflects its
functionality better.  Updated osgGLUT::Viewer etc to cope with new
name change.
2001-11-14 14:09:07 +00:00
Robert Osfield
34555f61d6 Added new files to cvs. 2001-11-12 10:04:57 +00:00
Robert Osfield
8f6b7d04a4 Added src/osg/NodeCallback.cpp. 2001-11-12 10:00:08 +00:00
Robert Osfield
5ceefdcc12 Fixed compilation error in src/osgDB/FileUtils.cpp.
Added support for nested NodeCallbacks, allowing them to be chained together
so that multiple operations can be applied.
2001-11-11 22:32:59 +00:00
Robert Osfield
879a753ee2 Fixed osgUtil::Optimizer::FlatternStaticTransformsVisitor so that the
apply(osg::LOD) scaled the ranges in addition to transform the center
point and children.
2001-11-10 15:46:05 +00:00
Robert Osfield
d4926589dc Fixed bug related to osgUtil::Optimizer::FlatternStaticTransform::Visitor's
apply(Billboard& ) method which was apply the accumulated transform to
the billbaord geometry when it should have been applying the matrix without
the transform component.
2001-11-10 13:36:05 +00:00
Robert Osfield
7290f793f1 Added osgText::Paragraph which is a subclass from Geode which composes a
list of text drawables as a paragraph block, handles breaking of text into
individual lines automatically.

Changed the osg::Node::setUserData so that the data type has to be an
osg::Referenced, and removes the dependancy on osg::MemoryAdapter.  I have
done this since it simplifies the OSG side of the interface and makes it
less like that the user might abuse the memory managment of the data. It
does however mean that user data will have by subclassed from Referenced,
and therefor may require users to have their own adapter to do this.
However, this little nuasance is worth the extra cleaness and robustness
afforded by going the osg::Referenced route.
2001-11-09 15:06:01 +00:00
Robert Osfield
e35f5ec286 Fixed the findFileFile routine which had been broken by a fix of a dlopen
problem - './' was added to all files which which directly found without
requiring a search path rather than just locally found files, this broke
file loads which had wern't local but had a valid path.  I have moved the
'./' work around to inside fileDSO and made it only apply to Linux as I
presume this is all it was needed for. Don?
2001-11-09 15:01:42 +00:00
Robert Osfield
52bc6c2f13 Fixed the IntersectVisitor which was broken by a recent patch to catch parallel
line and traingle combinations.
2001-11-08 13:50:32 +00:00
Robert Osfield
e725547a8a Added a dirtyBound() to osgUtil::Optimizer.
Corrected mispelling of alignment is osg::Text and the osgtext demo.
Added guards for divide bu zero's to osg::IntersectVisitor.
2001-11-07 12:42:08 +00:00
Robert Osfield
5e6153b428 Added methods to support isNaN,isInfinte and valid to osg::Vec* and osg::Math,
and added a guard to IntersectVisitor which uses these new methods to prevent
invalid segments being added.
2001-11-06 10:34:51 +00:00
Robert Osfield
b45aa55555 Integrated updates to stats sent in my Geoff Michel. 2001-11-04 19:29:20 +00:00