Commit Graph

919 Commits

Author SHA1 Message Date
Robert Osfield
08f5b7cbdd Removed the old hangglide directory. 2002-07-15 10:51:45 +00:00
Robert Osfield
6e40d676a2 Renamed osghangglide demo. 2002-07-15 10:45:13 +00:00
Robert Osfield
db892e6bfe Added State::disableTexCoordPointersAboveAndIncluding( unit ) method so that
all unsed texture units can be turned off simply within Drawables such
as Geometry and GeoSet. This can be used to prevent bleed of arrays from
one object to the next - which can cause crashes.
2002-07-15 10:03:59 +00:00
Don BURNS
6a2aa35c26 Changes for Sunos 2002-07-15 04:42:44 +00:00
Don BURNS
523b64ef3f Added Logos loader 2002-07-14 21:49:51 +00:00
Robert Osfield
8883f1d571 Fixed unused variable `osg::StateSet *osgStateSet' warning 2002-07-14 20:51:31 +00:00
Robert Osfield
e7657f6b51 Added Drawable::AppCallback example and fixed a warning. 2002-07-14 20:48:30 +00:00
Robert Osfield
9792aa09dc Tweaked the color and aspect ratio settings of the pre rendering bin. 2002-07-14 20:32:05 +00:00
Robert Osfield
f32245ba5b Fixed computeNearFar bug in CullVisitor::apply(Billboard&). 2002-07-14 16:26:03 +00:00
Robert Osfield
733be1b309 Fixes to read/write of MatrixTransform/Transform. 2002-07-14 10:46:46 +00:00
Robert Osfield
32a4625e59 Copy and Paste bug where an for() loop was repeated within itself, which
was introduced when moving across to use osg::Geometry.
2002-07-14 08:35:35 +00:00
Robert Osfield
4895b22da1 Fixed various warnings which were appearing under MacOSX. 2002-07-13 21:17:40 +00:00
Robert Osfield
db888b191c Conveted GeoSet to use the new state::set*Pointer/disable*Pointer methods
to keep the current state valid.
2002-07-13 20:31:30 +00:00
Robert Osfield
12be8e5493 Support added for multitextured TXP files, sent in by Boris Bralo. 2002-07-13 14:16:41 +00:00
Robert Osfield
bbc6779f95 Added missing MatrixTransform.cpp file 2002-07-12 21:45:54 +00:00
Robert Osfield
717dab9389 added glutInit to osgparticle demo to fix crash under MacOSX. 2002-07-12 21:45:08 +00:00
Robert Osfield
5504f51774 Added second texture to osgprerender demo to test out multitexture in
osg::Geometry, it works!!
2002-07-12 21:42:27 +00:00
Robert Osfield
d87d27b749 Added MatrixTransform header and source. 2002-07-12 21:08:19 +00:00
Robert Osfield
1f9e4547e7 Changed the osgmultitexture demo so that it uses a TexEnv::BLEND mode
with a colour.  This lightens the resultant models.
2002-07-12 19:50:52 +00:00
Robert Osfield
995f6f9e21 Added using namespace osgUtil to get round IRIX/Windows compiler differences. 2002-07-12 18:14:45 +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
8128265e09 Have added a #define USE_DEPRECATED_API to include/osg/Export, and
various
osg header and source files to optional compile in deprecated parts of
the
OSG API.

Have renamed osg::Transparency osg::BlendFunc to bring it in line with
the
rest of the OSG's StateAttribute classes which are named after their
OpenGL counterparts.  include/osg/Transparency still exists and is
simply
a typedef to BlendFunc and is enclosed in a #ifdef USE_DEPRECTATED_API
block.

The matrix methods in the osg::Transform class have been
moved/replicated in
a osg::MatrixTransform sublcass from osg::Transform.  The old matrix
functionality is still present in the osg::Transform class but is guard
by #ifdef USG_DEPRECATED_API blocks.  One should now think of
osg::Transform
as being a Transform Node base class.  MatrixTransform has all the
functionality of the original Transform class, so should be used
instead.
2002-07-12 14:25:10 +00:00
Robert Osfield
00470acb61 Fix, sent in by Macro Jez, to the set of the camera with the computed near and far plane, so that
it is only updated when  _computeNearFar != CullVisitor::DO_NOT_COMPUTE_NEAR_FAR.
2002-07-12 13:00:09 +00:00
Robert Osfield
3edb8a3d18 Added blend color to osg::TexEnv 2002-07-12 10:30:27 +00:00
Robert Osfield
0d84d3ed15 Fixed indenting. 2002-07-12 09:16:49 +00:00
Robert Osfield
5b97336e37 Addition of RoadRecords from Yefei He. 2002-07-12 08:48:27 +00:00
Robert Osfield
0ea6a7af4a Fixes for Win32 build 2002-07-11 21:08:02 +00:00
Robert Osfield
840df13438 Added Makefile for osgmultitexture demos. 2002-07-11 18:33:30 +00:00
Robert Osfield
8219a0a63a Added support for multitexturing to osg::State and added osgmultitexture
demo which adds as spherical environment map using texture 1 to any model.
2002-07-11 16:12:24 +00:00
Robert Osfield
c4c97a0f64 Moved the code referencing osg::BoundingBox::isValid() and
osg::BoundingSphere::isValid() across to use the valid() methods, the later
being more consitent with other classes such as osg::ref_ptr<>.
2002-07-11 14:32:21 +00:00
Robert Osfield
b015d80d68 Fixes for win32 build 2002-07-11 12:57:53 +00:00
Robert Osfield
cd3c2c0b77 Fixes for Win32 build 2002-07-11 11:36:25 +00:00
Robert Osfield
54c27e36bf Updates for new use of GLushort instead of osg::ushort in GeoSet index pointer. 2002-07-10 22:38:02 +00:00
Robert Osfield
5d18f0ee11 Tidied up the types in osg::GeoSet so that the index pointers use GLushort
and GLuint to get round compile issues under MacOSX.
2002-07-10 22:33:08 +00:00
Robert Osfield
8b1e9345df Updates to osg::Drawable::AppCallback and osgprerender demo. 2002-07-10 20:30:57 +00:00
Robert Osfield
27338f57b1 Added app callback to Drawable. 2002-07-10 15:35:47 +00:00
Robert Osfield
b3ac26f3dc Updates to osgprerender to support use of rendering to an image, rather then
just a texture.
2002-07-10 13:33:25 +00:00
Robert Osfield
c1fc3dcdb9 Ported all the demos and loaders across to use the new multitexturing API. 2002-07-10 11:22:24 +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
44d0bb05e7 Updates from Macro to support the new multitexture API, and improve
bounding box computation.
2002-07-10 09:14:46 +00:00
Robert Osfield
842eb59e1f Implemented more code for the new osgprerender demo. 2002-07-09 19:23:53 +00:00
Robert Osfield
68540f5fb1 Updates to the osgprerender code. Still doesn't do anything interesting yet.. 2002-07-09 13:31:50 +00:00
Robert Osfield
3ab727713d Added new demo osgprerender to demonstrate how to prerender a scene and use
the result in the main rendering for special effects.
2002-07-09 13:17:42 +00:00
Robert Osfield
aca7f7b216 Fixes for IRIX build. 2002-07-09 10:23:48 +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
8f4a77ce4c Fixes for Windows build. 2002-07-07 17:42:34 +00:00
Robert Osfield
e23b40e316 Added include<unistd.h> to __DARWIN_OSX__ build. 2002-07-07 17:40:34 +00:00
Robert Osfield
0801b363f5 Work on supporting multitexturing in State/StateSet/StateAttribute/Geoemtry. 2002-07-07 14:40:41 +00:00
Robert Osfield
0dcd5cb017 Added support for Win32 broadcast and recience over lan. Changes sent in
by Michael Gronager.
2002-07-04 18:41:13 +00:00
Robert Osfield
5957c21082 Fixed the TriangleFunctor QUAD_STRIP code so that it produces consistent
results.
2002-07-04 09:49:12 +00:00
Robert Osfield
04a841bf93 Spotted by Neil Salter - missing transform. in the Transform copy operator. 2002-07-03 20:33:21 +00:00
Robert Osfield
3700e7e2cd Reimplemted the osgUtil::SceneView::setCalcNearFar() functionality to bring
it inline with the CullStack/CullVisitor implementation.  Also added the
setSmallFeatureCullingPixelSize() method and wired them up inside
SceneView.cpp so they set the corresponding CullVisitor paramters.

Intergrated pfImage copying change in the Performer plugin, submission sent in by Ulrich Hertlein
2002-07-02 19:53:18 +00:00
Don BURNS
304e56db51 osgcallback required fixes for new osg::Drawable::CullCallback 2002-07-02 06:28:41 +00:00
Don BURNS
d2aa4270ce Added support for CullVisitor to contain a osg::State. This used when
cull Callbacks require the contextID for  doing operations on texture
objects, for example.  Modified CullVisitor SceneView and Drawable
2002-07-02 06:22:28 +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
4e81711ef7 A couple fixes to remove Performer runtime warnings. 2002-06-28 20:54:09 +00:00
Robert Osfield
ebbd72556e Fixes from Ulrich Hertlein to build of pfb plugin. Small mods to these
by Robert.
2002-06-28 16:25:46 +00:00
Robert Osfield
ee6444c643 Added to the osggeometry demo. 2002-06-28 14:42:34 +00:00
Robert Osfield
f809ef8a7b Rewriting the osggeomtry demo to illustrate more primitive types. 2002-06-28 11:11:20 +00:00
Robert Osfield
26497c7581 Change =0 to osg::Vec2Array::iterator() in .obj loader to get round warnings
under gcc3.0.x
2002-06-28 08:36: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
fb3e705709 Converted the template DrawElements primitive class into three seperate
non templated classes - UByteDrawElements, UShortDrawElements, UIntDrawElements.
2002-06-27 13:15:34 +00:00
Robert Osfield
532a32416f Moved the AttributeArray and Primitive classes into their own header and
source files.
2002-06-27 10:50:19 +00:00
Robert Osfield
726d680184 Removed the test aginst a iterator as a bool. 2002-06-27 09:56:30 +00:00
Robert Osfield
7c95922300 Ported LWO loader across to use osg::Geometry. Work not quite complete,
as we need to retesselate any concave polygons that can exists in these
datasets.
2002-06-26 21:08:17 +00:00
Robert Osfield
8094c777b7 Added templated constructor to TemplateArray & DrawElements template to
handle VisualStudio7.0 build.

Ported 3DS across to use osg::Geometry instead of osg::GeoSet.
2002-06-26 17:48:13 +00:00
Robert Osfield
bdafc27d9c Ported pfb, txp and obj loaders across to use osg::Geometry. 2002-06-26 14:34:04 +00:00
Robert Osfield
40fefcf335 Ported various demos and support classes over to use the new osg::Geometry class
thus removing dependancy on osg::Geoset from most of the OSG, only loaders
left to port now.
2002-06-26 10:28:17 +00:00
Robert Osfield
1ceb0b60a8 Fixes for Cygwin build from Norman Vine. 2002-06-25 20:47:42 +00:00
Robert Osfield
3765631cd7 Fix to Quat::slerp so that it interpolates along the shortest path. 2002-06-25 20:36:17 +00:00
Robert Osfield
cbeeeefdab Added osg::Drawable::PrimitiveFunctor and TriangleFunctor subclass for
querrying the primitive data inside Drawables.  Moved various support
classes over from being osg::GeoSet based to osg::Geometry based.
2002-06-25 20:27:51 +00:00
Robert Osfield
336c47e5fe Fixed osgText::Text::DrawModeType::ALIGNEMENT spelling mistake, now
is ALIGNMENT.
2002-06-24 21:44:27 +00:00
Robert Osfield
cbb95d0445 Checked in .osg support for the new osg::Geometry class. 2002-06-24 21:37:34 +00:00
Robert Osfield
d174f60f8c Added required std:: to front of endl to fix Win32 build. 2002-06-24 12:53:27 +00:00
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
bbc129e5c6 Compile Fixes for Win32. 2002-06-22 15:46:43 +00:00
Robert Osfield
7dd82beaa9 Temporarily removed the references to multi-texturing calls. 2002-06-21 19:24:43 +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
53b6d0c92e Bug fix to the size calculation of bmp images, changed both the reading and
writing of images.
2002-06-21 15:14:29 +00:00
Robert Osfield
476f931eaa Addd new experimental osg::Geometry Drawable which will eventually replace
GeoSet.  Currently doesn't draw anything, and is very much in the
early design stages.
2002-06-20 19:54:08 +00:00
Robert Osfield
d763a47d2e Mods to MemoryManager to make the optimized build produce dummy
implementations for all the public functions found in the header,
this should prevent problems when not compiling in the MemoryManager
under IRIX 64 build.
2002-06-20 18:17:36 +00:00
Robert Osfield
4f4f68e961 Added support for reading the new OSG_MAX_TEXTURE_SIZE environmental variable
inside the osg::Image::ensureValidSizeForTexturing() method. The
smallest of GL_MAX_TEXTURE_SIZE and OSG_MAX_TEXTURE_SIZE is used for the
final max texture size.

This new env. var. allows users to deliberate cap the size of their textures
so they can test whether their models are limited by texture memory.  If
reducing the max texture size increases performance then you are limited
by texture memory!
2002-06-19 18:45:05 +00:00
Robert Osfield
77e1fb7f80 Added support for reading and writing OccluderNode's to the .osg file format. 2002-06-19 16:06:03 +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
b3c26d5634 Changed the osg::LightSource so its Light attribute is now generalised to
be a StateAttribute.  This allows alternative implementations of Lights
other than the standard osg::Light.
2002-06-19 08:34:19 +00:00
Robert Osfield
5e85cd59ab Added support for occluders occluding other occluders, which helps reduce
the number of occluder that will be used in cull traversal to only the
ones that will be effective. Note. Holes in occluders arn't handled in
this occluder occlusion test, will implement this later.
2002-06-18 22:35:48 +00:00
Robert Osfield
aa58ecae2f Clean ups for the Windows build. 2002-06-18 10:18:12 +00:00
Robert Osfield
d3b4a36447 Added the length argument to a std::string argument, under Linux it
compiled with the default value npos, under Windows it broke the build,
add the npost excpilicity should get round this difference in implementation.
2002-06-18 09:09:37 +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
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
52c36dde70 Added computation of occluders volume scaled relative to the frustum volume,
all volumes computed in eye coords.
2002-06-15 12:14:42 +00:00
Robert Osfield
25b420ac0e Added computation of the occluders volume, scale it to a ratio of the
frustum.
2002-06-14 16:28:47 +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
73ec80843f Refined the CollectOccluderVisitor so that it checks the subgraph below
a node contains occluders before traversing.
2002-06-14 13:49:59 +00:00
Robert Osfield
c71bf35152 Improvements to the plane clipping code. 2002-06-14 11:27:34 +00:00
Robert Osfield
d7760fbbd4 Further updates to the occlusion culling code, also adding missing OccludeNode
file the .osg plugin.
2002-06-14 08:45:28 +00:00
Robert Osfield
61df1ed6b7 Further work on occlusion culling. 2002-06-13 23:46:02 +00:00
Don BURNS
8c5722577e removed the use of gettimeofday for 32 bit architectures... 2002-06-13 19:39:28 +00:00
Robert Osfield
f2cbab46d4 Added -osgGA to the Makefile list. 2002-06-13 19:10:29 +00:00
Robert Osfield
4e5a3696e3 Merge Randall's changes. 2002-06-13 18:27:14 +00:00
Robert Osfield
0ebe473eb5 Further work on Occlusion Culling. Most of work is complete, just debugging
required now.
2002-06-13 16:21:00 +00:00
Robert Osfield
171312e720 IRIX build fix. 2002-06-12 15:43:47 +00:00
Robert Osfield
65a9a8043e Changes for MacOSX build, send in by Bob Kuehne. 2002-06-12 14:57:35 +00:00
Robert Osfield
47bbe8f3cc Fixed the osgDB::getFilePath, osgDB::getSimpleFileName() and osgDB::getStrippedName()
so that they check for both unix style '/' and windows style '\' slashes in
file names.
2002-06-12 14:46:44 +00:00
Robert Osfield
e467027946 Fix for renaming of ShadowOccluderVolume to ShadowVolumeOccluder. 2002-06-12 13:54:14 +00:00
Robert Osfield
c7e99ff77a Further work on occludision code. 2002-06-12 09:22:30 +00:00
Robert Osfield
fa13d948b5 A little more work on Occlusion culling. 2002-06-11 19:52:55 +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
e1ba8a6292 Added osg::CollectOccludersVisitor which is a helper class for finding active
occluder in the view frustum, to be used as pre cull traversal.
2002-06-10 13:50:25 +00:00
Robert Osfield
348419219d Created new helper class osg::CullStack to handle the accumulation of projection,
modelview and culling sets, to be used during travesal of the scene graph, such
as the cull traversal.
2002-06-10 11:21:21 +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
0a8d0a255f More more occlusion culling. 2002-06-08 19:58:05 +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
96a6b3c5c6 Added default IntersectVisitor::_hitReportingMode to be ONLY_NEAREST_HIT. 2002-06-07 13:57:20 +00:00
Robert Osfield
8140035ea8 Fixed a couple of problems with the NodeKit support. 2002-06-07 11:32:18 +00:00
Robert Osfield
f8502a076c Added support for NodeKits to the osgDB::Registry. Object names in .osg
files which have the library::class syntax will automatically invoke
the dynamic loading of either a nodekit or database plugin.
2002-06-07 10:03:49 +00:00
Robert Osfield
9e982e6b32 Fixed crash in loading osg files which have object types which arn't recognized. 2002-06-06 14:00:15 +00:00
Robert Osfield
99580f2212 Addd libraryName() method to osg::Object in preperation for the osgDB support
for node kits plugins.
2002-06-06 13:25:36 +00:00
Robert Osfield
dc00711337 Fixed compile problems under VisualStudio6.0 2002-06-05 14:14:32 +00:00
Robert Osfield
9ba7505d1e Checked in osgParticle, writtten by Marco Jez. 2002-06-05 12:44:55 +00:00
Robert Osfield
5feba17410 Added new osg::OccluderNode which subclasses from osg::Group, and will
provide hooks for adding ConvexPlanerOccluders to the scene.
2002-06-05 09:39:04 +00:00
Robert Osfield
4d2dbdafac Futher refinement of the new CullingSet support. 2002-06-04 15:56:41 +00:00
Robert Osfield
f67be7c07f Further work on moving culling functionality from CullVisitor into CullingSet,
in preperation for occlusion culling.
2002-06-04 15:21:24 +00:00
Robert Osfield
0732701e9d Fix to CullVisitor::popCullingSet(). 2002-06-03 18:38:40 +00:00
Robert Osfield
db78726acf Updates to shadow occlusion culling code. 2002-06-03 17:49:28 +00:00
Robert Osfield
3f84849210 Additions for the support for ConvexPlaneOccluder. Work still underway. 2002-06-03 15:39:41 +00:00
Robert Osfield
94cd4f6ac7 Changed the ReadResult handling in readNode so that it better handled the case
when a plugin hasn't been found to load a plugin.
2002-06-03 10:44:18 +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
dc883b0577 Fixed bug in the Use mechansim in Registry.cpp, sumbitted by Macro Jez. 2002-05-28 15:17:45 +00:00
Robert Osfield
6ab93ff61d Adde osgText::Text::setColor/getColor so that osg::Material's need not be
attached to set the text color.
2002-05-28 14:33:13 +00:00
Robert Osfield
e73d4ca5b3 Changes for Cygwin build, sent in by Norman Vine. 2002-05-28 11:40:37 +00:00
Robert Osfield
165cc1bf42 Changed the method of expanding of the near and far planes in
CullVisitor::popProjectionMatrix so that it better handled models of zero
thickness orthogonal to the viewing direction.
2002-05-28 11:39:51 +00:00
Robert Osfield
02fc6ad5f8 Various updates to operations related to cull traversal. 2002-05-28 10:24:43 +00:00
Robert Osfield
f424c86465 Fixed crash associated with searching in an empty filepath. 2002-05-25 09:30:38 +00:00
Robert Osfield
09121a1583 Fixed a bug in the Optimizer::RemoveDuplicateNodesVisitor which was prevent
removal of node which could have been removed.

Added so extra convinience methods to ClippingVolume and utilized them in the
CullVisitor to push and pop only culling planes that are active.
2002-05-23 15:35:12 +00:00
Don BURNS
5ce4a54c0d Fixed spelling error Calander -> Calendar 2002-05-22 19:58:43 +00:00
Robert Osfield
553db68bc4 Added osgUtil::CullVisitor::getCurentRenderGraph() and getRootRenderGraph()
methods which replace getRenderGraph(). Small changing of order of push/pop
of StateSet's in SceneView to clean things up.
2002-05-22 12:01:12 +00:00
Robert Osfield
bf872fa7ac Renamed osg::State::getCurrentMode/Attribute(..) to
getLastAppliedMode/Attribute() to make it more consistent with the internal
workings of osg::State.
2002-05-21 09:16:31 +00:00
Robert Osfield
b8d8a8be27 Added osg::State::getCurrentMode and osg::State::getCurrentAttribute().
Aded osg::clampAbove(..) and osg::clampBelow() template functions to
include/osg/Math.
2002-05-21 08:59:26 +00:00
Robert Osfield
00f91631c2 Various API updates to suppor light points developments better, but should also
benifit other extensions to rendering.
2002-05-18 08:39:42 +00:00
Robert Osfield
116e0cd8c9 Made trilinear filtering the default mode for osg::Texture's. 2002-05-18 08:37:08 +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
e66372a137 Fixed problem with orhographic projections due to a bug in CullVisitor
where it automatically resets the near and far to the values calculated
during cull traversal.  The maths for converting the computed far and near
into clip coordinates was wrong, fixed this and the problem goes away.
2002-05-15 19:58:04 +00:00
Robert Osfield
806efcd0d4 Exposed the CullVisitor::setComputeNearFarMode 2002-05-15 11:27:47 +00:00
Robert Osfield
10c3b4e7bf Fixes to new flipVertical/flipHorizontal. 2002-05-14 10:20:55 +00:00
Robert Osfield
7301d1505a Added osg::Image::flipHorziontal and flipVertical, submitted by Brede Johansen. 2002-05-14 09:34:11 +00:00
Robert Osfield
a9ef1ecb1d Reverted change to use decal flag. 2002-05-13 07:30:21 +00:00
Robert Osfield
dd3603c9db Fix for finding windows fonts. 2002-05-10 15:42:27 +00:00
Don BURNS
0304b926d7 Small std::cout fix 2002-05-09 22:48:15 +00:00
Robert Osfield
d6ff23d32f Fix compile problems with osgGA under Windows. 2002-05-09 19:02:35 +00:00
Robert Osfield
d140decb44 Added pixelSize method to CullVisitor, and converted small feature
culling to use the pixelSize method instead of a ratio of radius to
distance from eye point.  setSmallFeatureCullingPixelSize() method
has also been added to provide the user with finer control of small
featyre culling.
2002-05-09 18:59:19 +00:00
Robert Osfield
cf4a3500ec Added new osgGA - GUI Adapter library submitted by Neil Salter. This will
replace the current GUI adapter code inside osgUtil.
2002-05-09 10:31:03 +00:00
Robert Osfield
60fe01dafa Fixed osg::Camera::getModelViewMatrix() so that it handles the EYE_TO_MODEL
transform correctly.

Fixed warning in ClipNode.cpp.
2002-05-07 11:44:24 +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
e296df4632 Added osg::Node::getValidStateSet(). 2002-05-03 22:47:57 +00:00
Robert Osfield
08a4fd5bfc Added support for the managing the StateSet above a LightSource node,
and made it an osg::Group so that it can be used a decorator above a
scene.

Added osgclip demo to the test suite.
2002-05-03 16:47:16 +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
1f1d3b57fe Updated docs.
Fix to pfb Makefile for missing $.
2002-04-26 13:45:01 +00:00
Robert Osfield
06dc1a38df Fix for CisualStudio6.0 build. 2002-04-26 12:06:19 +00:00
Robert Osfield
07ba07dc62 Fixed remaining MAX_PATH usuage, replacing it with the new DX_MAX_PATH, this
should solve compile problems under VisualStudio .NET.
2002-04-26 08:25:51 +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
2bd20f5c6f Fixes for IRIX build.
Fix for a warning under VisualStudio.NET.
2002-04-25 22:09:28 +00:00
Robert Osfield
a1a1876875 Cygwin build fixes. 2002-04-25 22:07:48 +00:00
Robert Osfield
62dc8f7cda Fix for window build. 2002-04-25 21:31:16 +00:00
Robert Osfield
6dbfa3b88d Fixes to .obj plugin from gideon. 2002-04-25 11:30:21 +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
88c6a476ca Fixed compile problem under VisualStudio. 2002-04-25 08:54:48 +00:00
Robert Osfield
61b0865309 Merged Bob's changes for MacOSX build. This change is simply the addition of
GLUT_LIB to the link line.  This change should be removed once we fixed the
OSG_LIBS so that it doens't include osgGLUT, however, I'll leave this for another
day...
2002-04-24 20:57:00 +00:00
Robert Osfield
84dd24ce3f Fix for MacOSX build, making sure that the compresed tex image is defined
on all builds by removing the #ifdef's but then changing the name used
in the typedef so it doesn't collide with local implementations.
2002-04-24 20:36:47 +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
8f3debaf9b Changes for Mac OSX build, sent in by Bob Kuehne 2002-04-24 20:04:34 +00:00
Robert Osfield
b2e6279178 Removed the use of __FUNCTION__ from MemoryManager to remove problems with
VisualStudio .NET compile.

Added support for OSG_NOTIFY_LEVEL and OSG_FILE_PATH into the relevant getenv
routines.  This compliments the exisiting OSGNOTIFYLEVEL & OSGFILEPATH which
are deprecated but still supported.  The OSG_ version are more consistent
with the rest of the env variables used in the OSG.
2002-04-24 14:52:53 +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
3e92c8d2fe Fixed compilation problem associated wirh moving FileUtils source out into
seperate files.
2002-04-23 15:01:55 +00:00
Robert Osfield
96c790b266 Fixed ordering of paramters in osg::Image constructor to remove warning. 2002-04-23 14:58:33 +00:00
Robert Osfield
3668c050da Seperated out the platform specific implementions of the file search/access
routines - we now have FileUtils_Windows.cpp, FileUtils_Mac.cpp and
FileUtils_Unix.cpp.  The FileUtils_Mac.cpp is based on code submitted
by Josh Portway and add uses the carbon API for searching for files.
2002-04-23 13:59:01 +00:00
Robert Osfield
90112df269 Changed the Windows gauard around so that it only works for VisualStudio
and not Cygwin/Mingw.
2002-04-23 11:03:09 +00:00
Robert Osfield
f4f4423fe7 Added a pragma to get round a VisualStudio warning that I couldn't fix
in any easy way.
2002-04-23 11:02:09 +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
a9bf24cf71 Replaced texture compression extension define so that its #ifndef guard used
GL_ARB_texture_compression as natured intended.
2002-04-23 09:06:03 +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
dcfef4a023 Integrated submission from Boris Bralo:
Supported added for precompiled mip maps stored in osg::Image, and read
by osg::Texture.

Updates to TerraPage loader for support of compressed texture images and
precompiled mip maps.
2002-04-22 21:13: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
56dc083330 Added support for compute the near and far planes and then applying to
the current projection matrix into CullVisitor itself.  Similar code to
support this has been moved out of SceneView completely.

Added Matrix:: infront of the definition of the static
osg::Matrix::inverse(Matrix) method which was missing.
2002-04-22 14:54:39 +00:00
Robert Osfield
f515d67f4f Cleaned up the handling of the Viewport with osg::SceneView/RenderStage
and CullVisitor so that the Viewport is now managed as part as the global
stateset so that it can be pushed and popped like the rest of state without
problems.  This makes it easier to have multiple viewports within one
scene graph.
2002-04-22 09:37:17 +00:00
Robert Osfield
4b9473eda9 Fixes the .mlt loading from Ben Discoe. 2002-04-22 09:31:54 +00:00
Robert Osfield
9574ce97d2 Updated TODO list.
Converted AnimationPath so it is now subclassed from osg::Transform::ComputeTransfromCallback()
so that it can be directly attached to the scene to move objects about.

Changed the osg::SateSet::setGlobalDefaults() so that is sets GL_DEPTH_TEST
to ON.

Added guards and creation of default helper classes in osgGLUT::Viewer and
osgUtil::SceneView so that sensible defaults are used when no settings
are used of osg::State/StateSet,osgUtil::RenderStage/RenderGraph/CullVisitor.
2002-04-21 22:05:26 +00:00
Robert Osfield
3d3534dda9 Updated Versions, and NEWS file to reflect impending release of 0.8.45. 2002-04-21 10:11:03 +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
1131be56dc Fixes for Max OSX build from Bob Kuehne. 2002-04-19 16:22:25 +00:00
Don BURNS
c5f26d78f6 Fixed an assignment that should have been a test 2002-04-19 16:00:15 +00:00
Don BURNS
4624514924 Updated some files sent by Boris Bralo for the txp loader. 2002-04-19 15:34:40 +00:00
Don BURNS
33b4a4cb5f Fixed small typo in src/osgUtil/RenderStage.cpp 2002-04-19 15:02:34 +00:00
Don BURNS
0a2e5565ac Added Bob K's fix 2002-04-19 15:00:57 +00:00
Don BURNS
c6254d5f87 Fixed small typo in SceneView::setDefaults(). 2002-04-18 23:30:06 +00:00
Robert Osfield
4b5e4904ac Fixed VisualStudio .NET warnings in TXP plugin. 2002-04-18 10:38:58 +00:00
Robert Osfield
ab64566b61 Fixed memory leak in FTGL associated with the function of gluTesselate.
Fixed a warnings in the DW plugin.
2002-04-18 09:57:42 +00:00
Robert Osfield
5830c60cef Fixes for warnings under VisualStudio 2002-04-17 11:36:38 +00:00
Robert Osfield
7504312839 Added a gset->computeNumVertices() which was missing, this was causing models
to disappear after application of tri stripping.
2002-04-17 11:29:49 +00:00
Robert Osfield
e17261c45f Changed the osg::Billboard comution so that it get passed in the current
modelview matrix rathan than an identity matrix, this matrix is then modified
locally.

Changed the osg::Matrix set methods so they are inline.

Added a few useful comments to MemoryManager.cpp to help people understand
the assert's better.
2002-04-17 09:48:19 +00:00
Robert Osfield
b02cc80533 Fixed the seveal hunderd warnings in TerraPage loader! 2002-04-16 21:08:46 +00:00
Robert Osfield
3f249fcb57 Fix to TXP plugin to handle to new osg::Image method naming. 2002-04-16 15:44:31 +00:00
Robert Osfield
5deafbda24 Added clearing of seperation band between horizontal/vertical split stereo
areas.
2002-04-16 15:31:46 +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
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
2b4008bbbc Purge on warnings under Linux. 2002-04-16 14:09:46 +00:00
Robert Osfield
f8340f9ef5 Removed the cached matrices from osg::Camera, so that
osg::Camrea::getModelViewMatrix() and osg::Camera::getProjectionMatrix() are
calculated on the fly.  Removed various redudent methods, including the
project and unproject methods which are better supported within osgUtil::SceneView.

Added a computeWindowMatrix() method to Viewport, to make it easier to construct
a MV*P*W matrix for converting local coords into screen coords and visa versa.
Converted SceneView and CullVisitor to use this new method.
2002-04-16 11:41:32 +00:00
Robert Osfield
43fa577566 Updates to the flt plugin from Brede Johansen. 2002-04-16 11:36:23 +00:00
Robert Osfield
0c6f09f4c5 Warnings fix. 2002-04-16 08:01:18 +00:00
Don BURNS
f69e1276a9 fixed a few problems that didn't work right with installing demo source
on platforms other than Solaris.
2002-04-16 03:24:41 +00:00
Robert Osfield
9fd7c528f4 Compile fixes for IRIX, submitted by Randall Hopper. 2002-04-15 21:48:43 +00:00
Robert Osfield
5a0f8118b7 Added support for OSG_USE_MEMORY_MANAGER into Windows build. 2002-04-15 21:03:32 +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
1c1b29809b Fixes to warning in Win32 build 2002-04-15 10:59:16 +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
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
c43607c14d Added support for specificing the eye mapping and seperation between the
horizontal and veritical split stereo modes.

Renamed osg::Image::ensureDimensionArePowerOfTwo() to osg::Image::ensureValidSizeForTexturing().
2002-04-14 22:21:59 +00:00
Robert Osfield
22e8047869 Used a faster method for checking for power of 2 on the image dimensions and
did a check on forcing 16bits textures in osg::Texture (which speeds things
up on the Umea model which is performance bound by texture memory.), the
later check is now commented out.
2002-04-14 20:30:43 +00:00
Robert Osfield
09d41789da Fixes to osg::Image::createImage(..), and addition of code to Viewer.cpp to support
output of screen snapshot via 'O'.
2002-04-14 13:41:13 +00:00
Robert Osfield
03e9f63d54 Addition of write .bmp to the BMP plugin. 2002-04-14 12:54:26 +00:00
Robert Osfield
e71b92dbcc Fix for crash in SceneView introduced when ungarded use of _dispalySettings
pointer was added, a if (valid) guard has been added to solve the problem.
2002-04-14 12:53:36 +00:00
Robert Osfield
8a5c6d5102 Clean up for VisualStudio build 2002-04-13 22:19:29 +00:00
Robert Osfield
3f67300c82 Saved workspace from VisualStudio to follow up on missing demo dependancies 2002-04-13 10:18:58 +00:00
Robert Osfield
341ffb2361 Further work on cleaning up SceneView and Camera, in particular moving strereo
support out of Camera and into SceneView. Also enabled the option to set the
projection and modelview matrices directly on SceneView thereby removing the
dependance on osg::Camrea to control the view of the scene.
2002-04-12 18:06:13 +00:00
Robert Osfield
468580a12c Fixes for Win32 build. 2002-04-12 14:05:55 +00:00
Robert Osfield
a44efe01bb Fixes for Win32 build 2002-04-12 09:53:39 +00:00
Don BURNS
14b4b7f98c Solaris PKG distribution now makes a shar (self-extracting shell archived)
changed makepgk to do this.

Changed another one of those pesky cout = std::cout in CullVisitor.cpp
2002-04-12 06:18:41 +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
e85e5a6ce6 Added several new methods to osg::Image to help keep track of memory and added
osg::Image::readPixels to encapsulate glReadPixels.

Reordering of includes in include/osg/Fog and include/osg/Light to remove silly warnings under Visual Studio.
2002-04-11 17:15:07 +00:00
Robert Osfield
421e381f17 Patch to ReadWriter3DS from Mike Connel. 2002-04-11 17:13:16 +00:00
Don BURNS
08522bd7db Backed out bad addition of NewCUllVisitor 2002-04-11 16:05:38 +00:00
Don BURNS
ad95c4b9f6 Somehow, cvs forgot to check in a modified Makefile with NewCullVisitor added
to it... Hm.. anyway this fixes it.
2002-04-11 15:54:49 +00:00
Robert Osfield
d0ebd93441 Fix for Win32 build. 2002-04-11 13:53:46 +00:00
Robert Osfield
e037c79917 Fixed refrences to NewCullVisitor which has now been mapped onto CullVisitor. 2002-04-11 08:24:55 +00:00
Robert Osfield
f2ffbdd469 Copied NewCullVisitor over top of CullVisitor and then removed NewCullVisitor.
Added some defines to Image in prep for writing code to determine how big a
pixel is.
2002-04-10 22:10:07 +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
ef15655ea3 Added (previously omitted) libpng, libjpeg, libtiff, libgif to makedefs
in the Linux section
2002-04-10 01:29:45 +00:00
Robert Osfield
6f65e86057 Further work on removing Camera references from NewCullVisitor and releted
classes, this work paves the way for making osg::Camera an optional
extra rather than a requirement for rendering.
2002-04-09 16:09:19 +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
Robert Osfield
25fbc557b1 Changed a char* into const char* to fix Solaris build. 2002-04-08 08:23:00 +00:00
Robert Osfield
42a98c780b Fix for VisualStudio's lack of auto_ptr::reset. 2002-04-08 08:22:27 +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
Robert Osfield
1b73f9579e Updates to Makefile to reflect recent .cpp additions such as TextureCubeMap,
MemoryManager etc.
2002-04-06 09:24:51 +00:00
Don BURNS
aa0e398cf7 Fixed a small oversight in the previous bug fix. in GeoSet::computeBound()
_numcoords is NOT necesarily _cindex._size.
2002-04-05 02:49:58 +00:00
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