Robert Osfield
131ebabaf5
Added call to handle_cull_callbacks_and_traverse(node) to
...
CullVisitor::apply(Geode&) to enable cull callbacks to function on geode's.
2003-09-08 08:44:05 +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
763ee70f2f
Commented out calc near/far debugging messages.
2003-09-02 20:06:20 +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
b5674a7dde
Fixed CullVisitor::popProjectionMatrix() handling of othorgraphic near
...
and far values.
2003-08-27 00:39:44 +00:00
Robert Osfield
8a737dd2ca
Added support for clampping the near and far values in othrographic projection.
...
Fixed the handling of anaglyphic/stereo state in SceneView::draw().
2003-08-08 00:36:51 +00:00
Robert Osfield
aa0d5fc52e
Changed the CullVisitor::popProjection() so that it doesn't adjust orthorgraphic
...
projection matrices.
2003-05-07 09:35:43 +00:00
Robert Osfield
d2d9b97953
Added set/getNearFarRatio() to CullVisitor.
2003-05-01 19:56:02 +00:00
Robert Osfield
22546b8085
Added support for multiple graphics context to osg::VertexProgram and osg::Impostor
2003-04-10 12:11:40 +00:00
Robert Osfield
2166f9b701
Fixes to the Impostor implementation.
2003-04-09 21:53:09 +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
6439a719aa
Fixed CullVisitor::getDistanceFromEyePoint so that withLODScale is handled
...
correctly.
2003-01-29 17:24:54 +00:00
Robert Osfield
20ba1a4033
Fix for impostors bug where image insert were visible, this was down to a double
...
call to RenderStage::drawPreRenderStage(). The call to it in RenderStage inside
the draw() method has been removed, leaving on the call in SceneView.
2003-01-24 09:11:05 +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
4dd273de70
Added support for ReferenceFrame into osg::LightSource, modified the .osg
...
plugin and cull visitor to account for this change.
2003-01-16 16:37:24 +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
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
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
432654bde8
Added handled of invlid drawable bounding boxes.
2002-11-01 12:11:23 +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
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
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
c45c3d3255
Added calling of the LightSource and ClipNode as Group by the NodeVisitor and
...
fixed the CullVisitor and Optimizer to take account of this.
2002-08-22 09:19:41 +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
7010c1c4f8
Removed dependency of the new osg::DOFTransform and osg::Sequence Node's
...
on osgUtil by implementing a NodeVisitor::VisitorType enum, and associated
g/setVisitorType. This allows callbacks to querry the visitor/traversal
type without doing down cast's to specific visitor subclasses such as
osgUtil::AppVisitor/CullVisitor.
2002-08-11 21:26:58 +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
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
f32245ba5b
Fixed computeNearFar bug in CullVisitor::apply(Billboard&).
2002-07-14 16:26:03 +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
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
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
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
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
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
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
fa13d948b5
A little more work on Occlusion culling.
2002-06-11 19:52:55 +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
0a8d0a255f
More more occlusion culling.
2002-06-08 19:58:05 +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
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
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
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