Robert Osfield
1158e4605d
Added support for updating the SceneView projection matrix from the values
...
of near and far computed during the cull traversal.
2003-12-15 23:23:45 +00:00
Robert Osfield
7e012ccfc4
Renamed PermissableOptions to setPermissableOptimizations.
2003-12-11 23:33:27 +00:00
Robert Osfield
1881610a35
Added support for controlling what optimization operations can be applied
...
to specific nodes in the scene graph. Typical use would be tagging a
node so that it can't be optimized away in say a flatten static transform
pass. Added methods to Optimizer are:
inline void setPermissableOptionsForObject(const osg::Object* object, unsigned int options)
{
_permissableOptionsMap[object] = options;
}
inline unsigned int getPermissableOptionsForObject(const osg::Object* object) const
{
PermissableOptionsMap::const_iterator itr = _permissableOptionsMap.find(object);
if (itr!=_permissableOptionsMap.end()) return itr->second;
else return 0xffffffff;
}
inline bool isOperationPermissableForObject(const osg::Object* object,unsigned int option) const
{
return (option & getPermissableOptionsForObject(object))!=0;
}
2003-12-11 23:26:22 +00:00
Robert Osfield
5295d68fd3
Added _maximumNumberOfActiveOccluders variable to CollectOccludersVisitor(), to
...
limit the maximum number of occluders used in the cull traversal, default is
now 10.
Added set/getCollectOccluderVisitor() method into SceneView to allow control
of the the settings of the CollectOccluderVisitor.
2003-12-11 16:46:45 +00:00
Robert Osfield
83bf813e58
Moved the responsibility for finding file to load on to the ReaderWriter plugins,
...
instead of osgDB::Registry where it original lay. This has been done to allow
fileName strings to be encode data rather than just file names, such as one
requires when using PagedLOD along with plugins for doing dynamic tesselation.
2003-12-08 11:24:43 +00:00
Robert Osfield
75174c1be1
Changed the minium tri strip length to 2 rather than 0.
2003-12-05 22:42:02 +00:00
Robert Osfield
3f14b9a653
Added code for combining adjacent static MatrixTransforms
2003-12-05 14:39:32 +00:00
Robert Osfield
db66abd6d6
Implemented duplicate removal code into TriStripVisitor and added an
...
extra pass to doing tri stripping in the osgUtil::Optimzer.
Added validity checks into osg::TexEnvCombine to catch eronous enumarant values.
Improved the efficient of CullingSet's handling of new transforms.
Added a copy shared subgraphs and subdivision code into osgUtil::Optimizer.
2003-12-03 21:45:32 +00:00
Robert Osfield
3c9d1e0603
Added a spatializer into osgUtil to create a balanced quad/oct tree.
2003-12-01 10:28:23 +00:00
Robert Osfield
091151e4ce
Warning fix from Romano
2003-11-26 16:43:28 +00:00
Robert Osfield
845adb8745
Reorganised posstion of getViewMatrix*() methods.
2003-11-25 10:55:37 +00:00
Robert Osfield
bddd49c86a
Changed the credit from NVidia's NvTriStrip to Tanguy Faure's traingulation code.
2003-11-14 09:25:17 +00:00
Robert Osfield
bc7622149d
Updated to slideshow3D to support animation + pausing of animation.
...
Updated associated osg/osgUtil classes that provide animation pausing.
2003-11-03 23:13:31 +00:00
Robert Osfield
594f25b5d1
Added SceneView::s/getDrawBufferValue(GLenum) to allow customization of what
...
glDrawBuffer() value is set on each frame.
2003-10-17 10:25:59 +00:00
Robert Osfield
4700b8902c
Introduced new DisplaySettings::set/getDisplayType() and environemtal variables
...
to and command line arguments to set it.
Added support for using the DisplaySettings::getDisplayType() to detect use
of a Head Mounted Display when doing stereo so that the asymtric frustum can
be switched off.
2003-10-01 15:56:52 +00:00
Robert Osfield
7d69f8e193
Added getPerspective() method to Matrix* and SceneView
2003-09-29 13:14:34 +00:00
Robert Osfield
243b288d87
Made the calling of drawable update callbacks always happen when a geode
...
is traversed in the update traversal.
2003-09-24 18:53:47 +00:00
Robert Osfield
2812c50329
Improved the Geometry::verifyBinding() and computeCorrectBindingsAndArraySizes()
...
methods to check all atributes and to report warnigns when errors are detected.
Added a CheckGeomtryVisitor to osgUtil::Optimizer to detect eroneous Geometry
before rendering.
2003-09-24 15:54:22 +00:00
Robert Osfield
c342b29a04
Warning fixes for Win32.
2003-09-16 19:56:19 +00:00
Robert Osfield
bd44cfcfd8
Added a Matrix::value_type typedef'd trait into osg::Matrix, defaulting its
...
value to float, and converted the internal code across to use value_type. This
allows Matrix to be converted to use double's simply by change the definition
of value_type. Added Matrix::glLoadlMatrix and Matrix::glMultMatrix() to
help encapsulate the changes between float and double matrix usage.
Updated code that uses Matrix so it doesn't assume float or double matrices.
2003-09-03 10:47:25 +00:00
Robert Osfield
e530912744
Made Matrix a typedef to Matrixf, and converted the old Matrix to Matrixf, as
...
part of prep for supporting both Matrixf (float) and Matrixd (double).
Added osg::Matrixf::glLoadMatrix() and osg::Matrixf::glMultiMatrix() methods
and changed corresponding usage of glLoad/MultMatrixf() calls across to use these
methods. Again prep for support Matrixd.
Fixes for VisualStudio 6.0 compile.
2003-09-02 17:19:18 +00:00
Robert Osfield
da6f7ebeef
Fixes for IRIX build + to_unix on txp plugin files.
2003-09-02 10:27:57 +00:00
Robert Osfield
5c3a2bc683
Added s/getCullVistorLeft/Right(), s/getRenderStageLeft/Right(),
...
s/getRenderGraphLeft/Right() methods.
2003-08-29 23:04:42 +00:00
Robert Osfield
77c862d305
From Marco Jez, tangent space generator.
2003-08-27 14:13:12 +00:00
Robert Osfield
8c65920c1f
Fixes for Java build.
2003-08-18 09:24:17 +00:00
Robert Osfield
2a142c096a
Added setProjectionMatrix*(), setViewMatrix*() and get*() methods to osgUtil::SceneView.
2003-07-16 22:15:28 +00:00
Robert Osfield
1998bdef86
Moved osg::Statistics to osgUtil::Statistics and merged addition to it
...
fro Pavel Moloshtan.
2003-07-15 13:46:19 +00:00
Robert Osfield
deb26621c9
Changed the SceneView::setModelViewMatrix() methods across to being setViewMatrix().
...
The old RefMatrix methods for setModelViewMatrix() and setProjectMatrix() have
been removed to keep the API as minimal as possible.
2003-07-15 11:49:56 +00:00
Robert Osfield
c2eabe1d4b
Added osg::PagedLOD and osgProducer::DatabasePager class, and linked up osgProducer::Viewer
...
to manage the pager.
2003-07-08 14:44:00 +00:00
Robert Osfield
8839cfe8cd
Updated NEWS.
...
Added AttrData.h to flt.dsp
Removed redundent (and duplicate definition of RenderBinPrototypeList and its
associated static) from the RenderBin header.
2003-06-25 10:30:46 +00:00
Robert Osfield
d70ab592ed
Additions since the CVS back up was made.
2003-06-24 21:57:13 +00:00
Don BURNS
15f88f35b2
*** empty log message ***
2003-06-24 15:40:09 +00:00
Robert Osfield
efa16a34c5
Fixes to the Optimizer's handling of merging of osg::Geometry
2003-05-22 15:29:20 +00:00
Robert Osfield
4a6bdad3e1
Removed osg::GeoSet for core osg lib and osgPlugin.
...
Commented out OpenDX plugin as its still based on GeoSet.
Added support for loading and converting GeoSet into the osgconv example.
2003-05-21 12:15:45 +00:00
Robert Osfield
4e9724245a
Added setProjectMatrix(const Matrix&) and setModelViewMatrix(const Matrix&) methods.
2003-05-20 11:01:16 +00:00
Robert Osfield
940ce67133
Removed remaining dependancies on osg::Camera.
2003-05-19 15:15:17 +00:00
Robert Osfield
d2d9b97953
Added set/getNearFarRatio() to CullVisitor.
2003-05-01 19:56:02 +00:00
Robert Osfield
f759f7e69e
Added OSGUTIL_EXPORT to front of DelaunayTriangulator class.
2003-04-17 06:52:56 +00:00
Robert Osfield
cad160fbe6
From Marco Jez, added DelaunayTriangulator class.
2003-04-16 19:21:27 +00:00
Robert Osfield
63628ce099
From Romano, extra methods/variables for controlling tesselation.
2003-04-15 09:33:11 +00:00
Robert Osfield
5df7118d6d
Updates to the osgpick code.
...
Updates to osgGA::CameraManipulors.
2003-04-14 15:44:30 +00:00
Robert Osfield
026dc2cbb7
Added Geoff Michel's osgpick and osgUtil::PickVisitor code.
2003-04-13 13:26:41 +00:00
Robert Osfield
2166f9b701
Fixes to the Impostor implementation.
2003-04-09 21:53:09 +00:00
Robert Osfield
48868982f1
Added a traverseGeode method to the UpdateVisitor which contains the
...
traversal code for both the nodes traversal and the drawables the geode
contains.
2003-03-22 09:48:43 +00:00
Robert Osfield
e87a08f1c3
Fixes to osgcluster demo as new Producer based example.
...
Added extra pragrma remove a warning about float to int cast under VS.NET.
2003-03-16 21:58:27 +00:00
Robert Osfield
fbe674b321
First cut of new osgText implementation.
2003-03-02 21:05:05 +00:00
Robert Osfield
c2b4a05825
Minor fixes to ReaderWriter and Paragraph to help work with use of Doxygen.
...
Fix to CullVisior to handle the new no referenced counted cull and draw traversal.
2003-02-10 13:58:39 +00:00
Robert Osfield
6c4f2f5207
Fixes for multipipe support.
...
Addition of FrameStatsHandler to osgproducer demo to add frame stats.
2003-01-29 17:16:26 +00:00
Robert Osfield
329a8a1656
Fixed an Optimizer crash where if the top most node of a model was
...
a static transform it would crash when this root was deleted. Have fixed
by recognising this node as one not to remove and set it to identity instead.
2003-01-22 12:06:22 +00:00
Robert Osfield
48bda9cc79
Added new Copyright/License notice to header and source files.
2003-01-21 16:45:36 +00:00
Robert Osfield
f36bc69c58
Made the more of the OSG's referenced object desctructors protected to ensure
...
that they arn't created on the stack inappropriately.
Split the implemention of Matrix up so that it is a simple no referenced counted
class and can be safefly created on the stack. To support referenced counting a
seperate subclass now exists, this is RefMatrix which inherits from both Matrix and
Object.
2003-01-10 09:25:42 +00:00
Robert Osfield
e6b64a5550
Added support for sharing arrays in the .osg format for osg::Geometry.
...
Fixed the osgUtil::Optimizater so it takes into account sharing of arrays when
deciding whether an geometry can be merged or not.
2003-01-07 16:29:07 +00:00
Robert Osfield
adf5c91808
Renamed all instance of AppCallback/AppVisitor to UpdateCallback/UpdateVisitor
...
inline with the decision to rename the "app phase" the "update phase".
2002-12-19 15:55:40 +00:00
Robert Osfield
ee3348afc9
Added txp::TerrapageNode to the txp plugin, and implemented the node so that it
...
automatically assign handles the updates of eye points and database merges.
2002-12-17 15:41:05 +00:00
Robert Osfield
00cc3a1833
Converted the instance of osgNew and osgDelete back to new and delete as part
...
of depecating the include/osg/MemoryManager
2002-12-16 13:40:58 +00:00
Don BURNS
b63827c5d9
Cleanin' up after Robert's spelling ...er ... challenges.
2002-12-07 06:59:08 +00:00
Robert Osfield
1be82ec697
From Tree, mods to help support the creation of Java bindings.
2002-12-06 09:44:11 +00:00
Robert Osfield
8e84722f90
Added LEFT_EYE and RIGHT_EYE stereo to osg::DisplaySettings/osgUtil::SceneView
...
Renamed LODBias to LODScale.
2002-11-12 10:22:38 +00:00
Robert Osfield
9816a51bc7
Added GL_LIBS to the osgText/Makefile for OSX build.
...
Fixed typo in IntersectVisitor.
Fixed warnings in osgimpsotor demo.
2002-11-08 11:00:16 +00:00
Robert Osfield
f5f20e4ac1
Fix from Don Tidrow for bug when moving between RenderGraph when popping back
...
up to common parents.
2002-10-23 07:46:11 +00:00
Robert Osfield
e1b084749e
Renamed the RenderBin::sort_local to sortImplementation(),
...
draw_local to drawImplementation() and added a new RenderBin::DrawCallback().
Added osgcubemap to the Make/ test scripts.
2002-10-17 13:48:46 +00:00
Robert Osfield
50652f389b
Added Macro's new cube map generation classes and osgcubemap demo.
2002-10-10 12:44:38 +00:00
Robert Osfield
70861ef70e
Converted osg::LOD from used n+1 successive ranges to n min/max ranges,
...
one min/max pair per child. Converted the rest of the OSG to use the new
osg::LOD node.
2002-10-06 20:33:13 +00:00
Robert Osfield
68384e984b
Made the calls to the drawing of the pre rendering stages exclit, using
...
a seperate method in RenderStage and associated calls in sceneView.cpp.
This fixes problems when doing stereo and prerender at the same time.
2002-09-19 09:52:50 +00:00
Robert Osfield
f11410928f
Simplified the depth calculation code in CullVisitor so that it always computes
...
the depth of all drawables, so that it is always safe for RenderBin sort routines can use
these values directly.
Add an example of a RenderBin::SortCallback to sgv.cpp.
2002-09-18 14:57:01 +00:00
Robert Osfield
ed43d97ed3
Improved the sort callback support in osgUtil::RenderBin, and removed the
...
now rendundent DepthSortedBin class.
2002-09-17 15:47:23 +00:00
Don BURNS
b5870857c4
Fixed setFusionDistance
2002-09-12 14:29:59 +00:00
Robert Osfield
f574d0dd68
Added support for setting the fusion distance directly in SceneView, defaults
...
to the original behavior of using the values from the Camera if attached.
2002-09-04 10:49:17 +00:00
Robert Osfield
12226e4371
Converted the instances of const built in types being returned from methods
...
and passed as paramters into straight forward non const built in types,
i.e. const bool foogbar(const int) becomes bool foobar(int).
2002-09-02 12:31:35 +00:00
Robert Osfield
b1f69a9b11
Fixed the flatten static transform visitor.
2002-08-30 15:07:10 +00:00
Robert Osfield
0b5c20af8d
Made the sort callback's sort method pure virtual.
2002-08-26 12:34:42 +00:00
Robert Osfield
43d3beb59e
Removed redundent parameter in sort() callback which was never being used.
2002-08-26 12:28:10 +00:00
Robert Osfield
239068f223
Added new osg::TextureBase, osg::Texture1D, osg::Texture2D, and osg::Texture3D
...
classes, and changed osg::Texture and osg::TextureCubeMap so that they now derive
from osg::TextureBase.
2002-08-24 19:39:39 +00:00
Robert Osfield
b23a48a763
Renamed the osg::EarthSky to osg::ClearNode to make it more obvious what
...
role it has play and make it more relevant to non vis-sim applications.
2002-08-19 11:42:37 +00:00
Robert Osfield
1ba901cf64
Added support for a sort callback in RenderBin.
2002-08-03 16:49:42 +00:00
Robert Osfield
95bdcfc3f6
Fixes to Doxygen files from Neil.
...
Removed unused set/getReportMode() methods and member variables from IntersectVisitor.
Added deep copy construction of Geometry objects.
2002-07-25 21:50:08 +00:00
Robert Osfield
389dd8adbb
Futher changes to remove unitialized variables/reordering of initialization to
...
prevent unitialized warnings.
2002-07-21 01:29:11 +00:00
Robert Osfield
48b3be40e9
Various fixes to constructors to ensure that all variables are initialized.
2002-07-20 23:54:55 +00:00
Robert Osfield
7682e32521
Updates to the Geometry to add more access methods, and updates to Optimizer
...
to add the new merge primtives option.
2002-07-19 14:19:49 +00:00
Robert Osfield
8036901ea1
Rewrote osg:Statistics so that it is PrimitiveFunctor as is now completely
...
decoupled from osg::Drawable. The Drawable::getStats() virtual method
no longer exists.
Updated the Viewer to use the osg::Statistics incarnation and reformated stats
to clean it up.
2002-07-18 14:20:01 +00:00
Robert Osfield
1a139efbbc
Added const to LessGeometry functor to fix Win32 build.
2002-07-18 09:17:50 +00:00
Robert Osfield
09bdb10af5
Various fixes to the flt loader, and knock on changes to the osgUtil::Optimizer
...
to better support removal of seperate osg::Geometry instances where they
share the same state and bindings.
2002-07-18 00:53:03 +00:00
Robert Osfield
3a964a6b93
Updated docs and added osgGA
2002-07-16 20:07:32 +00:00
Robert Osfield
8a14aa29cd
Added support to osgUtil::Tesselator to insert extra vertices and other
...
attributes into an osg::Geometry node. Uses the new osg::ArrayVisitor.
Converted the osg plugin Geometry support to use the new UByte4 class.
2002-07-15 22:23:57 +00:00
Robert Osfield
27338f57b1
Added app callback to Drawable.
2002-07-10 15:35:47 +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
f4a167c64c
Added setCurrentRenderBin() method.
2002-07-10 09:04:28 +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
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
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
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
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
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
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
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
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
f67be7c07f
Further work on moving culling functionality from CullVisitor into CullingSet,
...
in preperation for occlusion culling.
2002-06-04 15:21:24 +00:00