Commit Graph

140 Commits

Author SHA1 Message Date
Robert Osfield
f2e215bf44 Added conversion to osg::GeoSet::converToGeometry() utility to help the
migration to and testing of the new osg::Geometry class.
2002-06-23 21:43:46 +00:00
Robert Osfield
49ab8f4706 Added new osggeometry demo to test the work on the new osg::Geometry Drawable. 2002-06-21 16:45:45 +00:00
Robert Osfield
b12e36cede Added computation of the bounding volume of osg::OccluderNodes.
Added support for osg::BoundingSphere::expandBy*(osg::BoundingBox) and have
added osg::BoundingSphere/Box::valid() which deprecates isValid(), this
is to be more consistent with other classes in the OSG.
2002-06-19 15:18:47 +00:00
Robert Osfield
21beb236d2 Added support for occlusion of holes in occluders, and cleaned up the
interface to ShadowVolumeOccluders.
2002-06-19 10:19:10 +00:00
Robert Osfield
27412c27c9 Fixes to the occluder culling code to properly disable occluders to prevent
self occlusion.
2002-06-17 09:10:26 +00:00
Robert Osfield
156a9fbaea Fixes for Visual .NET and Mingw builds, and fix MacOSX notify() crash. 2002-06-15 20:57:50 +00:00
Robert Osfield
7adb75c572 Added occluder hole test code into the osgoccluder demo. The code works,
but I've commented it out right now as the Geode physically representing
the occluder doesn't yet have a hole in it - just a cosmetic thing.
2002-06-14 14:50:31 +00:00
Robert Osfield
61df1ed6b7 Further work on occlusion culling. 2002-06-13 23:46:02 +00:00
Robert Osfield
171312e720 IRIX build fix. 2002-06-12 15:43:47 +00:00
Robert Osfield
247cb3ff7e Checked in Macro Jez's additions to osgText to support .osg IO make it
a fully functioning NodeKit.

Also reimplement notify() to try an prevent a crash which has been caused by
to objects in notify.cpp being initiliazed twice, the second time the auto_ptr
holding the dev/null ofstream was being initilized to 0.
2002-06-11 18:41:57 +00:00
Robert Osfield
d91b848a63 Checked in migration from osgUtil based GUIAdapter code to Neil Salter's
osgGA (Gui Abstraction).  This may break users code, but all it should
require to fix the builds should be a change from
osgUtil::CameraManipulator (etc) to osgGA::CameraManipulator and
include <osgUtil/CameraManipulator (etc) to osgGA/CameraManipulator and
the extra dependency of the link line.
2002-06-09 13:10:09 +00:00
Robert Osfield
bf6bf60e21 Added osgoccluder demo, it creates a single quad occluder, but the culling
code is not complete yet, so it won't actually do any occlusion culling,
the demo is here so I can test the evolving occlusion culling code.
2002-06-07 20:03:08 +00:00
Robert Osfield
9ba7505d1e Checked in osgParticle, writtten by Marco Jez. 2002-06-05 12:44:55 +00:00
Robert Osfield
0ec80bb5ee Fix for IRIX build. 2002-05-29 16:15:10 +00:00
Robert Osfield
ae5e4f848f Added new osgcallback demo, and updated small API changes to improve the
flexiblity of callbacks.

Added beginings of convex planer occlusions culling.
2002-05-28 23:43:22 +00:00
Robert Osfield
e73d4ca5b3 Changes for Cygwin build, sent in by Norman Vine. 2002-05-28 11:40:37 +00:00
Robert Osfield
ae8076f83b dded osg::ClipNode class for managing OpenGL clipping planes, and osgclip demo. 2002-05-02 00:14:40 +00:00
Robert Osfield
26d34ed6d6 Qarning fixes, and updated the date in NEWS to reflect todays release of 0.8.45 2002-04-26 08:16:14 +00:00
Robert Osfield
117e3c2304 A more verbose version of the test script, using each and more memleaks.log
to print out progress and report any memory leaks which have been logged.
The later will only occur with a debug build.  The use of echo and more
makes this version osgtest.bat not portable to windows unfortuntately.
2002-04-25 10:46:11 +00:00
Robert Osfield
f0e7e8e48b Removed CullViewState from the distribution, moved CullViewState::CullingMode
into CullVisitor, and then removed all references to CullViewState from other
parts of the scene graph.
2002-04-24 20:24:10 +00:00
Robert Osfield
20b5e59dfd Fix for the Cygwin build related to the new FileUtils_Unix not using the
Windows PATH environmental variable for searching for libraries.  Sent in
by Norman Vine.

Reoder of the makedefs/makedirdefs to fix Mac OSX compilation. Sent in by
Bob Kuehne.
2002-04-24 08:50:03 +00:00
Robert Osfield
2d0df88ee4 Added an imageList.clear() to osgbillboard so that its memory would be
cleared before entering the viewer main loop, this removes memorymanager
a reported memory leak due to the viewer using exit() which bypasses
the clean up on main itself.

Added an osgNew to the ReaderWriterRGB.cpp to aid detected of tracking of
memory leaks.
2002-04-23 10:55:45 +00:00
Robert Osfield
ac7af8eee5 Fixed warning in swapBytes, simple addded unsigned to the int loop count,
since sizeof() is always an unsigned int.
2002-04-23 08:29:39 +00:00
Don BURNS
ecd2c73c55 Impleneted byte swap for use between machines with different endians. 2002-04-22 23:54:13 +00:00
Don BURNS
043016ce1d Fixed couple of small errors caught by Solaris compiler 2002-04-22 21:45:33 +00:00
Robert Osfield
8b30a10375 Added code in hangglide to move the earth sky around with the eye point,
use osg::Transform::ComputeTransformCallback.
2002-04-22 19:41:33 +00:00
Robert Osfield
e3958790a2 Changed the implementation of osg::Quat::makeRotate(heading,pitch,roll) so that
it conforms to the OpenFlight convention of euler angles.  Added documentation
into Matrix and Quat to reflect this.

Added so test code to osgcube for stress testing memory allocation and deallocation.

Commented out the registering of app and cull callbacks in osghud.
2002-04-19 19:55:48 +00:00
Robert Osfield
5830c60cef Fixes for warnings under VisualStudio 2002-04-17 11:36:38 +00:00
Don BURNS
6428715304 Added makedirdefs via a request from Bob Kheune. This allows us to edit
the DIRS cruft in a single file in the Make directory instead of having
to edit multiple files.  Also edited Makefiles that needed to include
this file.

Also cleaned up txp loader to compile with SunOS.  This needs to be retested
on other platforms.
2002-04-16 15:21:24 +00:00
Robert Osfield
2b4008bbbc Purge on warnings under Linux. 2002-04-16 14:09:46 +00:00
Robert Osfield
89afe99562 Added Makefile.inst which was not added ealier with the check in osghud. 2002-04-15 19:12:39 +00:00
Robert Osfield
bbef7164db Added CullCallbacks to osg::Node, and osgUtil::CullVisitor. 2002-04-15 13:15:48 +00:00
Robert Osfield
0222f10d27 Added osghud, a head up display demo. 2002-04-15 11:03:31 +00:00
Robert Osfield
1c4de0e1d2 Fixed display problem with the HUD in osgtext which was caused by the
new mods to SceneView not honouring the z near/far calculation flag.
2002-04-15 08:09:02 +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
Robert Osfield
360247225e Added new osg::DrawPixels class with encapsulates glDrawPixels as and
osg::Drawable.  Added osg::Image::readPixels to osg::Image.

Made osg::LightSource to default to cullActive set to false to that LightSource
nodes don't get culled by default.
2002-04-10 21:51:34 +00:00
Don BURNS
57248a4bf9 Checking in all Makefile.inst in src/Demos/*. These are the Makefiles
that get installed rather than the build Makefiles.
2002-04-09 15:51:20 +00:00
Don BURNS
30eab4b79a Added pkgadd distribution for Solaris.
Added a cleaner way to install demo source so that installed versions use a
simplified makedefs/makerules.

Small fix to get osgText to compile with Solaris CC.  Constructor declared
with a non-const argument, but implemented with const argument.
2002-04-09 14:55:38 +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
7e2c82f141 Futher updates to MemoryManager, fixed memory leak in osgconv. 2002-03-27 16:31:25 +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
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
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
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
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
f600f6fe4a Added support for glLineStipple via osg::LineStipple state attribute. 2002-02-24 20:55:45 +00:00
Robert Osfield
00e91eec1d Add support for Metrowerks Codewarrior build under Windows. 2002-02-22 17:12:10 +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