Commit Graph

69 Commits

Author SHA1 Message Date
Robert Osfield
ab1bd48511 Moved SceneView across to use an osg::CameraNode to store the projection and view matrices,
the viewport, the clear colour and the subgraph needing rendered.  This is done
transparently so all existing functionality will behave as before.  What it does
add is the ability to set a SceneView directly by a single osg::CameraNode when required.
2005-10-28 13:11:56 +00:00
Robert Osfield
f46044084a From Farshid Lashkari & Robert Osfield: Added support for VERTICAL_INTERLACE and HORIZONTAL_INTERLACE
stereo modes use the stencil buffer.
2005-10-25 15:43:04 +00:00
Robert Osfield
285418d6f8 From Brede Johansen, changed osg_InverseViewMatrix to osg_ViewMatrixInverse to bring
into line with OpenGL shader languague conventions.

From Robert Osfield, changed the SceneView::ActiveUnforms enum to from INVERSE_VIEW_MATRIX_UNIFORM
VIEW_MATRIX_INVERSE_UNIFORM to be convistent with the above change.
2005-10-25 09:23:21 +00:00
Robert Osfield
e31c114011 From Brede Johansen, fixed INVERSE_VIEW_MATRIX_UNIFORM enum value. 2005-10-14 21:38:44 +00:00
Robert Osfield
fb524952b6 Renamed osgUtil::RenderGraph to osgUtil::StateGraph 2005-10-13 12:51:00 +00:00
Robert Osfield
c0d6126313 From Domenico Mangieri, addded some missing const qualifiers in osgUtil::SceneView. 2005-08-22 13:58:23 +00:00
Robert Osfield
56f415f7a8 From Martin Aumueller, fixed copy and paste error on getActiveUniforms(). 2005-05-19 21:42:38 +00:00
Robert Osfield
538ced579e Removed deprecated API in preparation for 0.9.9 release. 2005-05-09 13:09:07 +00:00
Robert Osfield
cdab058b32 Added osg_DeltaFrameTime uniform to default set. 2005-05-06 10:32:31 +00:00
Robert Osfield
2798d58a41 Added support for osg_FrameNumber, osg_FrameTime, osg_ViewMatrix, osg_InverseViewMatrix
into SceneView, controlled via a setActiveUniforms(.) method.
2005-05-05 12:30:54 +00:00
Robert Osfield
678b22ce83 Updated Copyright notices to 1998-2005. 2005-04-14 21:41:28 +00:00
Robert Osfield
37c8b3a6fb From Geoff Michel, typos and spelling fixes. 2004-09-26 18:39:34 +00:00
Robert Osfield
10247ef983 Fixed typo. 2004-09-23 20:07:37 +00:00
Robert Osfield
b9e4235d85 Added releaseAllGLObjects() convinience method. 2004-09-23 20:01:40 +00:00
Robert Osfield
54b45ce3bc Updated to DatabasePager support 2004-09-21 21:33:52 +00:00
Robert Osfield
9b33dee6ac Made the member variables in RenderStage and RenderBin protected 2004-08-02 12:19:50 +00:00
Robert Osfield
3bca9ec9cf Added SceneView::Options for SceneView::setDefaults(options) and
OsgCameraGroup::setRealizeSceneViewOptions(options) to allow better control
of what functionality is compiled in by default.
2004-07-20 10:17:22 +00:00
Robert Osfield
5836d60fbd Added osg::CullSettings class as a way of collecting all the various
settings related to the cull traversal in one place, so we can keep APIs
for settings these values more consistent.
2004-04-30 15:35:31 +00:00
Robert Osfield
678c456fc8 Made s/getBackgroundColor() deprecated, and add in new s/getClearColor() to
replace it.
2004-04-27 19:09:58 +00:00
Robert Osfield
5fa64ba416 Made getViewport(...) const. 2004-02-10 12:36:17 +00:00
Robert Osfield
f230f5a132 Added support into osgProducer::Viewer for flushing and compiling GL objects
via a Producer post swap callback.
2004-01-05 13:40:36 +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
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
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
5c3a2bc683 Added s/getCullVistorLeft/Right(), s/getRenderStageLeft/Right(),
s/getRenderGraphLeft/Right() methods.
2003-08-29 23:04:42 +00:00
Robert Osfield
2a142c096a Added setProjectionMatrix*(), setViewMatrix*() and get*() methods to osgUtil::SceneView. 2003-07-16 22:15:28 +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
Don BURNS
15f88f35b2 *** empty log message *** 2003-06-24 15:40:09 +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
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
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
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
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
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
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
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
3a964a6b93 Updated docs and added osgGA 2002-07-16 20:07:32 +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
Robert Osfield
5deafbda24 Added clearing of seperation band between horizontal/vertical split stereo
areas.
2002-04-16 15:31: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
9b2fe06896 Fixed compile problem related to missing includes (a result of removing include of Camera..) 2002-04-13 11:08:04 +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