14#ifndef OSGUTIL_SCENEVIEW
15#define OSGUTIL_SCENEVIEW 1
49 NO_SCENEVIEW_LIGHT = 0x0,
52 COMPILE_GLOBJECTS_AT_INIT = 0x4,
53 APPLY_GLOBAL_DEFAULTS = 0x8,
54 CLEAR_GLOBAL_STATESET = 0x10,
55 STANDARD_SETTINGS = HEADLIGHT |
56 COMPILE_GLOBJECTS_AT_INIT |
57 APPLY_GLOBAL_DEFAULTS |
87 osg::Node*
getSceneData(
unsigned int childNo=0) {
return (_camera->getNumChildren()>childNo) ? _camera->getChild(childNo) : 0; }
92 const osg::Node*
getSceneData(
unsigned int childNo=0)
const {
return (_camera->getNumChildren()>childNo) ? _camera->getChild(childNo) : 0; }
101 void setViewport(
int x,
int y,
int width,
int height) { _camera->setViewport(x,y,width,height); }
149 FRAME_NUMBER_UNIFORM = 1,
150 FRAME_TIME_UNIFORM = 2,
151 DELTA_FRAME_TIME_UNIFORM = 4,
152 SIMULATION_TIME_UNIFORM = 8,
153 DELTA_SIMULATION_TIME_UNIFORM = 16,
154 VIEW_MATRIX_UNIFORM = 32,
155 VIEW_MATRIX_INVERSE_UNIFORM = 64,
156 DEFAULT_UNIFORMS = FRAME_NUMBER_UNIFORM |
158 DELTA_FRAME_TIME_UNIFORM |
159 SIMULATION_TIME_UNIFORM |
160 DELTA_SIMULATION_TIME_UNIFORM |
161 VIEW_MATRIX_UNIFORM |
162 VIEW_MATRIX_INVERSE_UNIFORM,
163 ALL_UNIFORMS = 0x7FFFFFFF
206 double bottom,
double top,
207 double zNear,
double zFar);
211 double bottom,
double top);
215 double bottom,
double top,
216 double zNear,
double zFar);
221 double zNear,
double zFar);
232 double& bottom,
double& top,
233 double& zNear,
double& zFar)
const;
238 double& bottom,
double& top,
239 double& zNear,
double& zFar)
const;
247 double& zNear,
double& zFar)
const;
343 PROPORTIONAL_TO_SCREEN_DISTANCE
349 _fusionDistanceMode = mode;
350 _fusionDistanceValue = value;
419 if (_computeStereoMatricesCallback.valid())
return _computeStereoMatricesCallback->computeLeftEyeProjection(projection);
420 else return computeLeftEyeProjectionImplementation(projection);
425 if (_computeStereoMatricesCallback.valid())
return _computeStereoMatricesCallback->computeLeftEyeView(view);
426 else return computeLeftEyeViewImplementation(view);
431 if (_computeStereoMatricesCallback.valid())
return _computeStereoMatricesCallback->computeRightEyeProjection(projection);
432 else return computeRightEyeProjectionImplementation(projection);
437 if (_computeStereoMatricesCallback.valid())
return _computeStereoMatricesCallback->computeRightEyeView(view);
438 else return computeRightEyeViewImplementation(view);
Definition CullVisitor:49
Definition RenderStage:38
osg::Matrixd computeRightEyeView(const osg::Matrixd &view) const
Definition SceneView:435
void setFrameStamp(osg::FrameStamp *fs)
Definition SceneView:408
void setFusionDistance(FusionDistanceMode mode, float value=1.0f)
Definition SceneView:347
osg::ref_ptr< osg::NodeVisitor > _updateVisitor
Definition SceneView:525
void setLight(osg::Light *light)
Definition SceneView:180
virtual void setDefaults()
Definition SceneView:63
double _previousFrameTime
Definition SceneView:566
virtual void inheritCullSettings(const osg::CullSettings &settings)
Definition SceneView:455
osgUtil::StateGraph * getStateGraphLeft()
Definition SceneView:303
void setPrioritizeTextures(bool pt)
Definition SceneView:361
osg::NodeVisitor * getUpdateVisitor()
Definition SceneView:277
osg::DisplaySettings * getDisplaySettings()
Definition SceneView:117
void setComputeStereoMatricesCallback(ComputeStereoMatricesCallback *callback)
Definition SceneView:376
unsigned int _dynamicObjectCount
Definition SceneView:573
osg::Camera * getCamera()
Definition SceneView:74
void setProjectionMatrixAsOrtho(double left, double right, double bottom, double top, double zNear, double zFar)
const osgUtil::CullVisitor * getCullVisitorRight() const
Definition SceneView:291
void setViewMatrix(const osg::Matrixf &matrix)
Definition SceneView:251
const osg::View * getView() const
Definition SceneView:190
void setRenderStage(osgUtil::RenderStage *rs)
Definition SceneView:311
osg::ref_ptr< osgUtil::StateGraph > _stateGraphRight
Definition SceneView:538
bool getPrioritizeTextures() const
Definition SceneView:364
void computeRightEyeViewport(const osg::Viewport *viewport)
LightingMode _lightingMode
Definition SceneView:558
osg::Viewport * getViewport()
Definition SceneView:105
unsigned int getNumSceneData() const
Definition SceneView:95
void setClearColor(const osg::Vec4 &color)
Definition SceneView:122
FusionDistanceMode _fusionDistanceMode
Definition SceneView:555
const osg::FrameStamp * getFrameStamp() const
Definition SceneView:414
const osg::Light * getLight() const
Definition SceneView:182
void setDrawBufferValue(GLenum drawBufferValue)
Definition SceneView:331
virtual void releaseGLObjects(osg::State *=0) const
osg::ref_ptr< osgUtil::StateGraph > _stateGraphLeft
Definition SceneView:533
void getViewMatrixAsLookAt(osg::Vec3 &eye, osg::Vec3 ¢er, osg::Vec3 &up, float lookDistance=1.0f) const
const osg::Matrixd & getProjectionMatrix() const
Definition SceneView:227
int _interlacedStereoStencilWidth
Definition SceneView:570
bool getProjectionMatrixAsPerspective(double &fovy, double &aspectRatio, double &zNear, double &zFar) const
osg::RenderInfo _renderInfo
Definition SceneView:521
const ComputeStereoMatricesCallback * getComputeStereoMatricesCallback() const
Definition SceneView:378
const osg::NodeVisitor * getUpdateVisitor() const
Definition SceneView:278
osg::ref_ptr< osg::StateSet > _secondaryStateSet
Definition SceneView:553
osg::ref_ptr< osgUtil::StateGraph > _stateGraph
Definition SceneView:527
float _fusionDistanceValue
Definition SceneView:556
void setActiveUniforms(int activeUniforms)
Definition SceneView:167
void setStateGraphLeft(osgUtil::StateGraph *rg)
Definition SceneView:302
const osg::CollectOccludersVisitor * getCollectOccludersVisitor() const
Definition SceneView:295
const osgUtil::StateGraph * getStateGraph() const
Definition SceneView:300
osg::ref_ptr< osgUtil::CullVisitor > _cullVisitorRight
Definition SceneView:537
const osg::Matrix computeMVPW() const
osg::ref_ptr< osgUtil::RenderStage > _renderStageRight
Definition SceneView:539
osg::Matrixd computeRightEyeProjection(const osg::Matrixd &projection) const
Definition SceneView:429
void setProjectionMatrix(const osg::Matrixd &matrix)
Definition SceneView:202
osg::ref_ptr< osg::FrameStamp > _frameStamp
Definition SceneView:544
osg::StateSet * getSecondaryStateSet()
Definition SceneView:140
osgUtil::CullVisitor * getCullVisitor()
Definition SceneView:282
void setViewport(int x, int y, int width, int height)
Definition SceneView:101
osg::Matrixd & getProjectionMatrix()
Definition SceneView:224
void setRenderInfo(osg::RenderInfo &renderInfo)
Definition SceneView:192
const osgUtil::StateGraph * getStateGraphRight() const
Definition SceneView:308
bool _requiresFlush
Definition SceneView:563
virtual void setDefaults(unsigned int options)
void setView(osg::View *view)
Definition SceneView:188
osgUtil::StateGraph * getStateGraphRight()
Definition SceneView:307
virtual osg::Matrixd computeRightEyeProjectionImplementation(const osg::Matrixd &projection) const
void setRedrawInterlacedStereoStencilMask(bool flag)
Definition SceneView:129
void setResetColorMaskToAllOn(bool enable)
Definition SceneView:503
const osgUtil::CullVisitor * getCullVisitor() const
Definition SceneView:283
SceneView(osg::DisplaySettings *ds=NULL)
void setCollectOccludersVisitor(osg::CollectOccludersVisitor *cov)
Definition SceneView:293
osg::NodeVisitor * getInitVisitor()
Definition SceneView:272
bool getAutomaticFlush() const
Definition SceneView:501
int getActiveUniforms() const
Definition SceneView:170
void setStateGraphRight(osgUtil::StateGraph *rg)
Definition SceneView:306
virtual void resizeGLObjectBuffers(unsigned int maxSize)
const osgUtil::RenderStage * getRenderStage() const
Definition SceneView:313
void setUpdateVisitor(osg::NodeVisitor *av)
Definition SceneView:276
void setLocalStateSet(osg::StateSet *state)
Definition SceneView:143
void collateReferencesToDependentCameras()
bool getProjectionMatrixAsOrtho(double &left, double &right, double &bottom, double &top, double &zNear, double &zFar) const
void setCullVisitorRight(osgUtil::CullVisitor *cv)
Definition SceneView:289
virtual osg::Matrixd computeLeftEyeViewImplementation(const osg::Matrixd &view) const
const osgUtil::CullVisitor * getCullVisitorLeft() const
Definition SceneView:287
osgUtil::CullVisitor * getCullVisitorLeft()
Definition SceneView:286
float getFusionDistanceValue() const
Definition SceneView:357
ActiveUniforms
Definition SceneView:148
bool _initCalled
Definition SceneView:523
const osgUtil::RenderStage * getRenderStageLeft() const
Definition SceneView:317
void setCullVisitorLeft(osgUtil::CullVisitor *cv)
Definition SceneView:285
const osg::RenderInfo & getRenderInfo() const
Definition SceneView:194
osg::StateSet * getLocalStateSet()
Definition SceneView:144
osg::View * getView()
Definition SceneView:189
void setSceneData(osg::Node *node)
bool getRedrawInterlacedStereoStencilMask() const
Definition SceneView:132
void setViewport(osg::Viewport *viewport)
Definition SceneView:98
osg::ref_ptr< osg::StateSet > _globalStateSet
Definition SceneView:549
const osg::StateSet * getGlobalStateSet() const
Definition SceneView:137
osg::ref_ptr< osg::DisplaySettings > _displaySettings
Definition SceneView:551
void setProjectionMatrixAsPerspective(double fovy, double aspectRatio, double zNear, double zFar)
const osg::Matrixd & getViewMatrix() const
Definition SceneView:263
osg::State * getState()
Definition SceneView:185
LightingMode getLightingMode() const
Definition SceneView:178
void setState(osg::State *state)
Definition SceneView:184
void setViewMatrix(const osg::Matrixd &matrix)
Definition SceneView:254
bool _redrawInterlacedStereoStencilMask
Definition SceneView:569
bool _resetColorMaskToAllEnabled
Definition SceneView:575
void setProjectionMatrixAsFrustum(double left, double right, double bottom, double top, double zNear, double zFar)
const osg::StateSet * getLocalStateSet() const
Definition SceneView:145
void setCamera(osg::Camera *camera, bool assumeOwnershipOfCamera=true)
bool projectObjectIntoWindow(const osg::Vec3 &object, osg::Vec3 &window) const
virtual void inheritCullSettings(const osg::CullSettings &settings, unsigned int inheritanceMask)
osg::ref_ptr< osgUtil::RenderStage > _renderStageLeft
Definition SceneView:534
const osg::Viewport * getViewport() const
Definition SceneView:108
osg::ref_ptr< osg::CollectOccludersVisitor > _collectOccludersVisitor
Definition SceneView:542
const osgUtil::RenderStage * getRenderStageRight() const
Definition SceneView:321
SceneView(const SceneView &sceneview, const osg::CopyOp ©op=osg::CopyOp())
virtual osg::Matrixd computeRightEyeViewImplementation(const osg::Matrixd &view) const
void clearReferencesToDependentCameras()
osg::ref_ptr< osg::Viewport > _viewportLeft
Definition SceneView:535
osg::ref_ptr< osg::Camera > _cameraWithOwnership
Definition SceneView:547
double _previousSimulationTime
Definition SceneView:567
virtual bool cullStage(const osg::Matrixd &projection, const osg::Matrixd &modelview, osgUtil::CullVisitor *cullVisitor, osgUtil::StateGraph *rendergraph, osgUtil::RenderStage *renderStage, osg::Viewport *viewport)
bool _automaticFlush
Definition SceneView:562
void setRenderStageRight(osgUtil::RenderStage *rs)
Definition SceneView:319
virtual void flushAllDeletedGLObjects()
const osg::NodeVisitor * getInitVisitor() const
Definition SceneView:273
osg::Matrixd computeLeftEyeView(const osg::Matrixd &view) const
Definition SceneView:423
const osgUtil::StateGraph * getStateGraphLeft() const
Definition SceneView:304
Options LightingMode
Definition SceneView:175
osgUtil::RenderStage * getRenderStageLeft()
Definition SceneView:316
void setDisplaySettings(osg::DisplaySettings *vs)
Definition SceneView:111
osg::Node * getSceneData(unsigned int childNo=0)
Definition SceneView:87
osg::ref_ptr< osgUtil::CullVisitor > _cullVisitor
Definition SceneView:526
osg::Matrixd & getViewMatrix()
Definition SceneView:260
osg::ref_ptr< osg::Light > _light
Definition SceneView:550
virtual osg::Matrixd computeLeftEyeProjectionImplementation(const osg::Matrixd &projection) const
FusionDistanceMode
Definition SceneView:339
@ USE_FUSION_DISTANCE_VALUE
Definition SceneView:341
osgUtil::StateGraph * getStateGraph()
Definition SceneView:299
unsigned int getDynamicObjectCount() const
Definition SceneView:480
void setStateGraph(osgUtil::StateGraph *rg)
Definition SceneView:298
void setCullVisitor(osgUtil::CullVisitor *cv)
Definition SceneView:281
const osg::State * getState() const
Definition SceneView:186
osg::RenderInfo & getRenderInfo()
Definition SceneView:193
bool getProjectionMatrixAsFrustum(double &left, double &right, double &bottom, double &top, double &zNear, double &zFar) const
osg::ref_ptr< osg::StateSet > _localStateSet
Definition SceneView:520
void clearArea(int x, int y, int width, int height, const osg::Vec4 &color)
bool _prioritizeTextures
Definition SceneView:560
osg::ref_ptr< osgUtil::RenderStage > _renderStage
Definition SceneView:528
virtual void releaseAllGLObjects()
bool getStats(Statistics &primStats)
osg::ref_ptr< osg::Viewport > _viewportRight
Definition SceneView:540
void setSecondaryStateSet(osg::StateSet *state)
Definition SceneView:139
Options
Definition SceneView:48
osg::Matrixd computeLeftEyeProjection(const osg::Matrixd &projection) const
Definition SceneView:417
const osg::StateSet * getSecondaryStateSet() const
Definition SceneView:141
osg::StateSet * getGlobalStateSet()
Definition SceneView:136
osgUtil::RenderStage * getRenderStage()
Definition SceneView:312
void setProjectionMatrixAsOrtho2D(double left, double right, double bottom, double top)
osg::ref_ptr< osgUtil::CullVisitor > _cullVisitorLeft
Definition SceneView:532
osg::ref_ptr< osg::NodeVisitor > _initVisitor
Definition SceneView:524
ComputeStereoMatricesCallback * getComputeStereoMatricesCallback()
Definition SceneView:377
osgUtil::CullVisitor * getCullVisitorRight()
Definition SceneView:290
GLenum getDrawBufferValue() const
Definition SceneView:334
void setLightingMode(LightingMode mode)
osg::ref_ptr< ComputeStereoMatricesCallback > _computeStereoMatricesCallback
Definition SceneView:530
virtual void flushDeletedGLObjects(double &availableTime)
const osg::Camera * getCamera() const
Definition SceneView:77
const osg::Vec4 & getClearColor() const
Definition SceneView:125
void setGlobalStateSet(osg::StateSet *state)
Definition SceneView:135
FusionDistanceMode getFusionDistanceMode() const
Definition SceneView:354
void setProjectionMatrix(const osg::Matrixf &matrix)
Definition SceneView:199
osg::FrameStamp * getFrameStamp()
Definition SceneView:411
void setRenderStageLeft(osgUtil::RenderStage *rs)
Definition SceneView:315
osg::Light * getLight()
Definition SceneView:181
osg::CollectOccludersVisitor * getCollectOccludersVisitor()
Definition SceneView:294
int _activeUniforms
Definition SceneView:565
bool projectWindowIntoObject(const osg::Vec3 &window, osg::Vec3 &object) const
void setInitVisitor(osg::NodeVisitor *av)
Definition SceneView:271
const osg::DisplaySettings * getDisplaySettings() const
Definition SceneView:114
bool getResetColorMaskToAllOn() const
Definition SceneView:504
osgUtil::RenderStage * getRenderStageRight()
Definition SceneView:320
bool projectWindowXYIntoObject(int x, int y, osg::Vec3 &near_point, osg::Vec3 &far_point) const
void computeLeftEyeViewport(const osg::Viewport *viewport)
int _interlacedStereoStencilHeight
Definition SceneView:571
void setViewMatrixAsLookAt(const osg::Vec3 &eye, const osg::Vec3 ¢er, const osg::Vec3 &up)
osg::observer_ptr< osg::Camera > _camera
Definition SceneView:546
void setAutomaticFlush(bool automaticFlush)
Definition SceneView:500
const osg::Node * getSceneData(unsigned int childNo=0) const
Definition SceneView:92
META_Object(osgUtil, SceneView)
Definition CollectOccludersVisitor:25
Definition CullSettings:28
Definition DisplaySettings:34
Definition NodeVisitor:82
Definition observer_ptr:39
Shader generator framework.
Definition NodeVisitor:25
#define OSGUTIL_EXPORT
Definition osgUtil/Export:40
#define NULL
Definition osg/Export:55
virtual osg::Matrixd computeRightEyeProjection(const osg::Matrixd &projection) const =0
virtual osg::Matrixd computeLeftEyeProjection(const osg::Matrixd &projection) const =0
virtual osg::Matrixd computeLeftEyeView(const osg::Matrixd &view) const =0
virtual osg::Matrixd computeRightEyeView(const osg::Matrixd &view) const =0