Public Types | |
enum | Options { NO_SCENEVIEW_LIGHT = 0x0, HEADLIGHT = 0x1, SKY_LIGHT = 0x2, COMPILE_GLOBJECTS_AT_INIT = 0x4, STANDARD_SETTINGS } |
enum | ActiveUniforms { FRAME_NUMBER_UNIFORM = 1, FRAME_TIME_UNIFORM = 2, DELTA_FRAME_TIME_UNIFORM = 4, SIMULATION_TIME_UNIFORM = 8, DELTA_SIMULATION_TIME_UNIFORM = 16, VIEW_MATRIX_UNIFORM = 32, VIEW_MATRIX_INVERSE_UNIFORM = 64, DEFAULT_UNIFORMS, ALL_UNIFORMS = 0xFFFFFFFF } |
enum | FusionDistanceMode { USE_FUSION_DISTANCE_VALUE, PROPORTIONAL_TO_SCREEN_DISTANCE } |
FusionDistanceMode is used only when working in stereo. More... | |
typedef Options | LightingMode |
Public Member Functions | |
SceneView (osg::DisplaySettings *ds=NULL) | |
Construct a default scene view. | |
SceneView (const SceneView &sceneview, const osg::CopyOp ©op=osg::CopyOp()) | |
META_Object (osgUtil, SceneView) | |
virtual void | setDefaults () |
virtual void | setDefaults (unsigned int options) |
Set scene view to use default global state, light, camera and render visitor. | |
void | setCamera (osg::Camera *camera, bool assumeOwnershipOfCamera=true) |
Set the camera used to represent the camera view of this SceneView. | |
osg::Camera * | getCamera () |
Get the camera used to represent the camera view of this SceneView. | |
const osg::Camera * | getCamera () const |
Get the const camera used to represent the camera view of this SceneView. | |
void | setSceneData (osg::Node *node) |
Set the data to view. | |
osg::Node * | getSceneData (unsigned int childNo=0) |
Get the scene data to view. | |
const osg::Node * | getSceneData (unsigned int childNo=0) const |
Get the const scene data which to view. | |
unsigned int | getNumSceneData () const |
Get the number of scene data subgraphs added to the SceneView's camera. | |
void | setViewport (osg::Viewport *viewport) |
Set the viewport of the scene view to use specified osg::Viewport. | |
void | setViewport (int x, int y, int width, int height) |
Set the viewport of the scene view to specified dimensions. | |
osg::Viewport * | getViewport () |
Get the viewport. | |
const osg::Viewport * | getViewport () const |
Get the const viewport. | |
void | setDisplaySettings (osg::DisplaySettings *vs) |
Set the DisplaySettings. | |
const osg::DisplaySettings * | getDisplaySettings () const |
Get the const DisplaySettings. | |
osg::DisplaySettings * | getDisplaySettings () |
Get the DisplaySettings. | |
void | setClearColor (const osg::Vec4 &color) |
Set the color used in glClearColor(). | |
const osg::Vec4 & | getClearColor () const |
Get the color used in glClearColor. | |
void | setRedrawInterlacedStereoStencilMask (bool flag) |
Manually set the redraw interlaced stereo stencil mask request flag to control whether to redraw the stencil buffer on the next frame. | |
bool | getRedrawInterlacedStereoStencilMask () const |
Get the redraw interlaced stereo stencil mask request flag. | |
void | setGlobalStateSet (osg::StateSet *state) |
osg::StateSet * | getGlobalStateSet () |
const osg::StateSet * | getGlobalStateSet () const |
void | setLocalStateSet (osg::StateSet *state) |
osg::StateSet * | getLocalStateSet () |
const osg::StateSet * | getLocalStateSet () const |
void | setActiveUniforms (int activeUniforms) |
Set the uniforms that SceneView should set set up on each frame. | |
int | getActiveUniforms () const |
Get the uniforms that SceneView should set set up on each frame. | |
void | updateUniforms () |
void | setLightingMode (LightingMode mode) |
LightingMode | getLightingMode () const |
void | setLight (osg::Light *light) |
osg::Light * | getLight () |
const osg::Light * | getLight () const |
void | setState (osg::State *state) |
osg::State * | getState () |
const osg::State * | getState () const |
void | setView (osg::View *view) |
osg::View * | getView () |
const osg::View * | getView () const |
void | setRenderInfo (osg::RenderInfo &renderInfo) |
osg::RenderInfo & | getRenderInfo () |
const osg::RenderInfo & | getRenderInfo () const |
void | setProjectionMatrix (const osg::Matrixf &matrix) |
Set the projection matrix. | |
void | setProjectionMatrix (const osg::Matrixd &matrix) |
Set the projection matrix. | |
void | setProjectionMatrixAsOrtho (double left, double right, double bottom, double top, double zNear, double zFar) |
Set to an orthographic projection. | |
void | setProjectionMatrixAsOrtho2D (double left, double right, double bottom, double top) |
Set to a 2D orthographic projection. | |
void | setProjectionMatrixAsFrustum (double left, double right, double bottom, double top, double zNear, double zFar) |
Set to a perspective projection. | |
void | setProjectionMatrixAsPerspective (double fovy, double aspectRatio, double zNear, double zFar) |
Create a symmetrical perspective projection, See OpenGL gluPerspective documentation for further details. | |
osg::Matrixd & | getProjectionMatrix () |
Get the projection matrix. | |
const osg::Matrixd & | getProjectionMatrix () const |
Get the const projection matrix. | |
bool | getProjectionMatrixAsOrtho (double &left, double &right, double &bottom, double &top, double &zNear, double &zFar) const |
Get the orthographic settings of the orthographic projection matrix. | |
bool | getProjectionMatrixAsFrustum (double &left, double &right, double &bottom, double &top, double &zNear, double &zFar) const |
Get the frustum setting of a perspective projection matrix. | |
bool | getProjectionMatrixAsPerspective (double &fovy, double &aspectRatio, double &zNear, double &zFar) const |
Get the frustum setting of a symmetric perspective projection matrix. | |
void | setViewMatrix (const osg::Matrixf &matrix) |
Set the view matrix. | |
void | setViewMatrix (const osg::Matrixd &matrix) |
Set the view matrix. | |
void | setViewMatrixAsLookAt (const osg::Vec3 &eye, const osg::Vec3 ¢er, const osg::Vec3 &up) |
Set to the position and orientation of view matrix, using the same convention as gluLookAt. | |
osg::Matrixd & | getViewMatrix () |
Get the view matrix. | |
const osg::Matrixd & | getViewMatrix () const |
Get the const view matrix. | |
void | getViewMatrixAsLookAt (osg::Vec3 &eye, osg::Vec3 ¢er, osg::Vec3 &up, float lookDistance=1.0f) const |
Get to the position and orientation of a modelview matrix, using the same convention as gluLookAt. | |
void | setInitVisitor (osg::NodeVisitor *av) |
osg::NodeVisitor * | getInitVisitor () |
const osg::NodeVisitor * | getInitVisitor () const |
void | setUpdateVisitor (osg::NodeVisitor *av) |
osg::NodeVisitor * | getUpdateVisitor () |
const osg::NodeVisitor * | getUpdateVisitor () const |
void | setCullVisitor (osgUtil::CullVisitor *cv) |
osgUtil::CullVisitor * | getCullVisitor () |
const osgUtil::CullVisitor * | getCullVisitor () const |
void | setCullVisitorLeft (osgUtil::CullVisitor *cv) |
osgUtil::CullVisitor * | getCullVisitorLeft () |
const osgUtil::CullVisitor * | getCullVisitorLeft () const |
void | setCullVisitorRight (osgUtil::CullVisitor *cv) |
osgUtil::CullVisitor * | getCullVisitorRight () |
const osgUtil::CullVisitor * | getCullVisitorRight () const |
void | setCollectOccludersVisitor (osg::CollectOccludersVisitor *cov) |
osg::CollectOccludersVisitor * | getCollectOccludersVisitor () |
const osg::CollectOccludersVisitor * | getCollectOccludersVisitor () const |
void | setStateGraph (osgUtil::StateGraph *rg) |
osgUtil::StateGraph * | getStateGraph () |
const osgUtil::StateGraph * | getStateGraph () const |
void | setStateGraphLeft (osgUtil::StateGraph *rg) |
osgUtil::StateGraph * | getStateGraphLeft () |
const osgUtil::StateGraph * | getStateGraphLeft () const |
void | setStateGraphRight (osgUtil::StateGraph *rg) |
osgUtil::StateGraph * | getStateGraphRight () |
const osgUtil::StateGraph * | getStateGraphRight () const |
void | setRenderStage (osgUtil::RenderStage *rs) |
osgUtil::RenderStage * | getRenderStage () |
const osgUtil::RenderStage * | getRenderStage () const |
void | setRenderStageLeft (osgUtil::RenderStage *rs) |
osgUtil::RenderStage * | getRenderStageLeft () |
const osgUtil::RenderStage * | getRenderStageLeft () const |
void | setRenderStageRight (osgUtil::RenderStage *rs) |
osgUtil::RenderStage * | getRenderStageRight () |
const osgUtil::RenderStage * | getRenderStageRight () const |
void | setDrawBufferValue (GLenum drawBufferValue) |
Set the draw buffer value used at the start of each frame draw. | |
GLenum | getDrawBufferValue () const |
Get the draw buffer value used at the start of each frame draw. | |
void | setFusionDistance (FusionDistanceMode mode, float value=1.0f) |
Set the FusionDistanceMode and Value. | |
FusionDistanceMode | getFusionDistanceMode () const |
Get the FusionDistanceMode. | |
float | getFusionDistanceValue () const |
Get the FusionDistanceValue. | |
void | setPrioritizeTextures (bool pt) |
Set whether the draw method should call renderer->prioritizeTexture. | |
bool | getPrioritizeTextures () const |
Get whether the draw method should call renderer->prioritizeTexture. | |
void | setComputeStereoMatricesCallback (ComputeStereoMatricesCallback *callback) |
ComputeStereoMatricesCallback * | getComputeStereoMatricesCallback () |
const ComputeStereoMatricesCallback * | getComputeStereoMatricesCallback () const |
bool | projectWindowIntoObject (const osg::Vec3 &window, osg::Vec3 &object) const |
Calculate the object coordinates of a point in window coordinates. | |
bool | projectWindowXYIntoObject (int x, int y, osg::Vec3 &near_point, osg::Vec3 &far_point) const |
Calculate the object coordinates of a window x,y when projected onto the near and far planes. | |
bool | projectObjectIntoWindow (const osg::Vec3 &object, osg::Vec3 &window) const |
Calculate the window coordinates of a point in object coordinates. | |
void | setFrameStamp (osg::FrameStamp *fs) |
Set the frame stamp for the current frame. | |
const osg::FrameStamp * | getFrameStamp () const |
Get the frame stamp for the current frame. | |
osg::Matrixd | computeLeftEyeProjection (const osg::Matrixd &projection) const |
osg::Matrixd | computeLeftEyeView (const osg::Matrixd &view) const |
osg::Matrixd | computeRightEyeProjection (const osg::Matrixd &projection) const |
osg::Matrixd | computeRightEyeView (const osg::Matrixd &view) const |
virtual osg::Matrixd | computeLeftEyeProjectionImplementation (const osg::Matrixd &projection) const |
virtual osg::Matrixd | computeLeftEyeViewImplementation (const osg::Matrixd &view) const |
virtual osg::Matrixd | computeRightEyeProjectionImplementation (const osg::Matrixd &projection) const |
virtual osg::Matrixd | computeRightEyeViewImplementation (const osg::Matrixd &view) const |
virtual void | inheritCullSettings (const osg::CullSettings &settings) |
Inherit the local cull settings variable from specified CullSettings object, according to the inheritance mask. | |
virtual void | inheritCullSettings (const osg::CullSettings &settings, unsigned int inheritanceMask) |
Inherit the local cull settings variable from specified CullSettings object, according to the inheritance mask. | |
virtual void | init () |
Do init traversal of attached scene graph using Init NodeVisitor. | |
virtual void | update () |
Do app traversal of attached scene graph using App NodeVisitor. | |
virtual void | cull () |
Do cull traversal of attached scene graph using Cull NodeVisitor. | |
virtual void | draw () |
Do draw traversal of draw bins generated by cull traversal. | |
unsigned int | getDynamicObjectCount () const |
Compute the number of dynamic objects that will be held in the rendering backend. | |
virtual void | releaseAllGLObjects () |
Release all OpenGL objects from the scene graph, such as texture objects, display lists etc. | |
virtual void | flushAllDeletedGLObjects () |
Flush all deleted OpenGL objects, such as texture objects, display lists etc. | |
virtual void | flushDeletedGLObjects (double &availableTime) |
Flush deleted OpenGL objects, such as texture objects, display lists etc within specified available time. | |
bool | getStats (Statistics &primStats) |
Extract stats for current draw list. | |
Protected Member Functions | |
virtual | ~SceneView () |
virtual bool | cullStage (const osg::Matrixd &projection, const osg::Matrixd &modelview, osgUtil::CullVisitor *cullVisitor, osgUtil::StateGraph *rendergraph, osgUtil::RenderStage *renderStage) |
Do cull traversal of attached scene graph using Cull NodeVisitor. | |
const osg::Matrix | computeMVPW () const |
void | clearArea (int x, int y, int width, int height, const osg::Vec4 &color) |
Protected Attributes | |
osg::ref_ptr < osg::StateSet > | _localStateSet |
osg::RenderInfo | _renderInfo |
bool | _initCalled |
osg::ref_ptr < osg::NodeVisitor > | _initVisitor |
osg::ref_ptr < osg::NodeVisitor > | _updateVisitor |
osg::ref_ptr < osgUtil::CullVisitor > | _cullVisitor |
osg::ref_ptr < osgUtil::StateGraph > | _rendergraph |
osg::ref_ptr < osgUtil::RenderStage > | _renderStage |
osg::ref_ptr < ComputeStereoMatricesCallback > | _computeStereoMatricesCallback |
osg::ref_ptr < osgUtil::CullVisitor > | _cullVisitorLeft |
osg::ref_ptr < osgUtil::StateGraph > | _rendergraphLeft |
osg::ref_ptr < osgUtil::RenderStage > | _renderStageLeft |
osg::ref_ptr < osgUtil::CullVisitor > | _cullVisitorRight |
osg::ref_ptr < osgUtil::StateGraph > | _rendergraphRight |
osg::ref_ptr < osgUtil::RenderStage > | _renderStageRight |
osg::ref_ptr < osg::CollectOccludersVisitor > | _collectOccludersVisitor |
osg::ref_ptr < osg::FrameStamp > | _frameStamp |
osg::observer_ptr < osg::Camera > | _camera |
osg::ref_ptr < osg::Camera > | _cameraWithOwnership |
osg::ref_ptr < osg::StateSet > | _globalStateSet |
osg::ref_ptr < osg::Light > | _light |
osg::ref_ptr < osg::DisplaySettings > | _displaySettings |
FusionDistanceMode | _fusionDistanceMode |
float | _fusionDistanceValue |
LightingMode | _lightingMode |
bool | _prioritizeTextures |
bool | _requiresFlush |
int | _activeUniforms |
double | _previousFrameTime |
double | _previousSimulationTime |
bool | _redrawInterlacedStereoStencilMask |
int | _interlacedStereoStencilWidth |
int | _interlacedStereoStencilHeight |
unsigned int | _dynamicObjectCount |
Classes | |
struct | ComputeStereoMatricesCallback |
Callback for overidding the default method for compute the offset projection and view matrices. More... |
Provides methods for setting up the view and rendering it.
FusionDistanceMode is used only when working in stereo.
USE_FUSION_DISTANCE_VALUE |
Use fusion distance from the value set on the SceneView.
|
PROPORTIONAL_TO_SCREEN_DISTANCE |
Compute the fusion distance by multiplying the screen distance by the fusion distance value.
|
osgUtil::SceneView::SceneView | ( | osg::DisplaySettings * | ds = NULL |
) |
Construct a default scene view.
osgUtil::SceneView::SceneView | ( | const SceneView & | sceneview, | |
const osg::CopyOp & | copyop = osg::CopyOp() | |||
) |
virtual osgUtil::SceneView::~SceneView | ( | ) | [protected, virtual] |
osgUtil::SceneView::META_Object | ( | osgUtil | , | |
SceneView | ||||
) |
virtual void osgUtil::SceneView::setDefaults | ( | ) | [inline, virtual] |
Reimplemented from osg::CullSettings.
virtual void osgUtil::SceneView::setDefaults | ( | unsigned int | options | ) | [virtual] |
Set scene view to use default global state, light, camera and render visitor.
void osgUtil::SceneView::setCamera | ( | osg::Camera * | camera, | |
bool | assumeOwnershipOfCamera = true | |||
) |
Set the camera used to represent the camera view of this SceneView.
osg::Camera* osgUtil::SceneView::getCamera | ( | ) | [inline] |
Get the camera used to represent the camera view of this SceneView.
const osg::Camera* osgUtil::SceneView::getCamera | ( | ) | const [inline] |
Get the const camera used to represent the camera view of this SceneView.
void osgUtil::SceneView::setSceneData | ( | osg::Node * | node | ) |
Set the data to view.
The data will typically be an osg::Scene but can be any osg::Node type.
osg::Node* osgUtil::SceneView::getSceneData | ( | unsigned int | childNo = 0 |
) | [inline] |
Get the scene data to view.
The data will typically be an osg::Scene but can be any osg::Node type.
const osg::Node* osgUtil::SceneView::getSceneData | ( | unsigned int | childNo = 0 |
) | const [inline] |
Get the const scene data which to view.
The data will typically be an osg::Scene but can be any osg::Node type.
unsigned int osgUtil::SceneView::getNumSceneData | ( | ) | const [inline] |
Get the number of scene data subgraphs added to the SceneView's camera.
void osgUtil::SceneView::setViewport | ( | osg::Viewport * | viewport | ) | [inline] |
Set the viewport of the scene view to use specified osg::Viewport.
void osgUtil::SceneView::setViewport | ( | int | x, | |
int | y, | |||
int | width, | |||
int | height | |||
) | [inline] |
Set the viewport of the scene view to specified dimensions.
osg::Viewport* osgUtil::SceneView::getViewport | ( | ) | [inline] |
Get the viewport.
const osg::Viewport* osgUtil::SceneView::getViewport | ( | ) | const [inline] |
Get the const viewport.
void osgUtil::SceneView::setDisplaySettings | ( | osg::DisplaySettings * | vs | ) | [inline] |
Set the DisplaySettings.
const osg::DisplaySettings* osgUtil::SceneView::getDisplaySettings | ( | ) | const [inline] |
Get the const DisplaySettings.
osg::DisplaySettings* osgUtil::SceneView::getDisplaySettings | ( | ) | [inline] |
Get the DisplaySettings.
void osgUtil::SceneView::setClearColor | ( | const osg::Vec4 & | color | ) | [inline] |
Set the color used in glClearColor().
Defaults to an off blue color.
const osg::Vec4& osgUtil::SceneView::getClearColor | ( | ) | const [inline] |
Get the color used in glClearColor.
void osgUtil::SceneView::setRedrawInterlacedStereoStencilMask | ( | bool | flag | ) | [inline] |
Manually set the redraw interlaced stereo stencil mask request flag to control whether to redraw the stencil buffer on the next frame.
bool osgUtil::SceneView::getRedrawInterlacedStereoStencilMask | ( | ) | const [inline] |
Get the redraw interlaced stereo stencil mask request flag.
void osgUtil::SceneView::setGlobalStateSet | ( | osg::StateSet * | state | ) | [inline] |
osg::StateSet* osgUtil::SceneView::getGlobalStateSet | ( | ) | [inline] |
const osg::StateSet* osgUtil::SceneView::getGlobalStateSet | ( | ) | const [inline] |
void osgUtil::SceneView::setLocalStateSet | ( | osg::StateSet * | state | ) | [inline] |
osg::StateSet* osgUtil::SceneView::getLocalStateSet | ( | ) | [inline] |
const osg::StateSet* osgUtil::SceneView::getLocalStateSet | ( | ) | const [inline] |
void osgUtil::SceneView::setActiveUniforms | ( | int | activeUniforms | ) | [inline] |
Set the uniforms that SceneView should set set up on each frame.
int osgUtil::SceneView::getActiveUniforms | ( | ) | const [inline] |
Get the uniforms that SceneView should set set up on each frame.
void osgUtil::SceneView::updateUniforms | ( | ) |
void osgUtil::SceneView::setLightingMode | ( | LightingMode | mode | ) | [inline] |
LightingMode osgUtil::SceneView::getLightingMode | ( | ) | const [inline] |
void osgUtil::SceneView::setLight | ( | osg::Light * | light | ) | [inline] |
osg::Light* osgUtil::SceneView::getLight | ( | ) | [inline] |
const osg::Light* osgUtil::SceneView::getLight | ( | ) | const [inline] |
void osgUtil::SceneView::setState | ( | osg::State * | state | ) | [inline] |
osg::State* osgUtil::SceneView::getState | ( | ) | [inline] |
const osg::State* osgUtil::SceneView::getState | ( | ) | const [inline] |
void osgUtil::SceneView::setView | ( | osg::View * | view | ) | [inline] |
osg::View* osgUtil::SceneView::getView | ( | ) | [inline] |
const osg::View* osgUtil::SceneView::getView | ( | ) | const [inline] |
void osgUtil::SceneView::setRenderInfo | ( | osg::RenderInfo & | renderInfo | ) | [inline] |
osg::RenderInfo& osgUtil::SceneView::getRenderInfo | ( | ) | [inline] |
const osg::RenderInfo& osgUtil::SceneView::getRenderInfo | ( | ) | const [inline] |
void osgUtil::SceneView::setProjectionMatrix | ( | const osg::Matrixf & | matrix | ) | [inline] |
Set the projection matrix.
Can be thought of as setting the lens of a camera.
void osgUtil::SceneView::setProjectionMatrix | ( | const osg::Matrixd & | matrix | ) | [inline] |
Set the projection matrix.
Can be thought of as setting the lens of a camera.
void osgUtil::SceneView::setProjectionMatrixAsOrtho | ( | double | left, | |
double | right, | |||
double | bottom, | |||
double | top, | |||
double | zNear, | |||
double | zFar | |||
) |
Set to an orthographic projection.
See OpenGL glOrtho for documentation further details.
void osgUtil::SceneView::setProjectionMatrixAsOrtho2D | ( | double | left, | |
double | right, | |||
double | bottom, | |||
double | top | |||
) |
Set to a 2D orthographic projection.
See OpenGL glOrtho2D documentation for further details.
void osgUtil::SceneView::setProjectionMatrixAsFrustum | ( | double | left, | |
double | right, | |||
double | bottom, | |||
double | top, | |||
double | zNear, | |||
double | zFar | |||
) |
Set to a perspective projection.
See OpenGL glFrustum documentation for further details.
void osgUtil::SceneView::setProjectionMatrixAsPerspective | ( | double | fovy, | |
double | aspectRatio, | |||
double | zNear, | |||
double | zFar | |||
) |
Create a symmetrical perspective projection, See OpenGL gluPerspective documentation for further details.
Aspect ratio is defined as width/height.
osg::Matrixd& osgUtil::SceneView::getProjectionMatrix | ( | ) | [inline] |
Get the projection matrix.
const osg::Matrixd& osgUtil::SceneView::getProjectionMatrix | ( | ) | const [inline] |
Get the const projection matrix.
bool osgUtil::SceneView::getProjectionMatrixAsOrtho | ( | double & | left, | |
double & | right, | |||
double & | bottom, | |||
double & | top, | |||
double & | zNear, | |||
double & | zFar | |||
) | const |
Get the orthographic settings of the orthographic projection matrix.
Returns false if matrix is not an orthographic matrix, where parameter values are undefined.
bool osgUtil::SceneView::getProjectionMatrixAsFrustum | ( | double & | left, | |
double & | right, | |||
double & | bottom, | |||
double & | top, | |||
double & | zNear, | |||
double & | zFar | |||
) | const |
Get the frustum setting of a perspective projection matrix.
Returns false if matrix is not a perspective matrix, where parameter values are undefined.
bool osgUtil::SceneView::getProjectionMatrixAsPerspective | ( | double & | fovy, | |
double & | aspectRatio, | |||
double & | zNear, | |||
double & | zFar | |||
) | const |
Get the frustum setting of a symmetric perspective projection matrix.
Returns false if matrix is not a perspective matrix, where parameter values are undefined. Note, if matrix is not a symmetric perspective matrix then the shear will be lost. Asymmetric matrices occur when stereo, power walls, caves and reality center display are used. In these configurations one should use the 'getProjectionMatrixAsFrustum' method instead.
void osgUtil::SceneView::setViewMatrix | ( | const osg::Matrixf & | matrix | ) | [inline] |
Set the view matrix.
Can be thought of as setting the position of the world relative to the camera in camera coordinates.
void osgUtil::SceneView::setViewMatrix | ( | const osg::Matrixd & | matrix | ) | [inline] |
Set the view matrix.
Can be thought of as setting the position of the world relative to the camera in camera coordinates.
void osgUtil::SceneView::setViewMatrixAsLookAt | ( | const osg::Vec3 & | eye, | |
const osg::Vec3 & | center, | |||
const osg::Vec3 & | up | |||
) |
Set to the position and orientation of view matrix, using the same convention as gluLookAt.
osg::Matrixd& osgUtil::SceneView::getViewMatrix | ( | ) | [inline] |
Get the view matrix.
const osg::Matrixd& osgUtil::SceneView::getViewMatrix | ( | ) | const [inline] |
Get the const view matrix.
void osgUtil::SceneView::getViewMatrixAsLookAt | ( | osg::Vec3 & | eye, | |
osg::Vec3 & | center, | |||
osg::Vec3 & | up, | |||
float | lookDistance = 1.0f | |||
) | const |
Get to the position and orientation of a modelview matrix, using the same convention as gluLookAt.
void osgUtil::SceneView::setInitVisitor | ( | osg::NodeVisitor * | av | ) | [inline] |
osg::NodeVisitor* osgUtil::SceneView::getInitVisitor | ( | ) | [inline] |
const osg::NodeVisitor* osgUtil::SceneView::getInitVisitor | ( | ) | const [inline] |
void osgUtil::SceneView::setUpdateVisitor | ( | osg::NodeVisitor * | av | ) | [inline] |
osg::NodeVisitor* osgUtil::SceneView::getUpdateVisitor | ( | ) | [inline] |
const osg::NodeVisitor* osgUtil::SceneView::getUpdateVisitor | ( | ) | const [inline] |
void osgUtil::SceneView::setCullVisitor | ( | osgUtil::CullVisitor * | cv | ) | [inline] |
osgUtil::CullVisitor* osgUtil::SceneView::getCullVisitor | ( | ) | [inline] |
const osgUtil::CullVisitor* osgUtil::SceneView::getCullVisitor | ( | ) | const [inline] |
void osgUtil::SceneView::setCullVisitorLeft | ( | osgUtil::CullVisitor * | cv | ) | [inline] |
osgUtil::CullVisitor* osgUtil::SceneView::getCullVisitorLeft | ( | ) | [inline] |
const osgUtil::CullVisitor* osgUtil::SceneView::getCullVisitorLeft | ( | ) | const [inline] |
void osgUtil::SceneView::setCullVisitorRight | ( | osgUtil::CullVisitor * | cv | ) | [inline] |
osgUtil::CullVisitor* osgUtil::SceneView::getCullVisitorRight | ( | ) | [inline] |
const osgUtil::CullVisitor* osgUtil::SceneView::getCullVisitorRight | ( | ) | const [inline] |
void osgUtil::SceneView::setCollectOccludersVisitor | ( | osg::CollectOccludersVisitor * | cov | ) | [inline] |
osg::CollectOccludersVisitor* osgUtil::SceneView::getCollectOccludersVisitor | ( | ) | [inline] |
const osg::CollectOccludersVisitor* osgUtil::SceneView::getCollectOccludersVisitor | ( | ) | const [inline] |
void osgUtil::SceneView::setStateGraph | ( | osgUtil::StateGraph * | rg | ) | [inline] |
osgUtil::StateGraph* osgUtil::SceneView::getStateGraph | ( | ) | [inline] |
const osgUtil::StateGraph* osgUtil::SceneView::getStateGraph | ( | ) | const [inline] |
void osgUtil::SceneView::setStateGraphLeft | ( | osgUtil::StateGraph * | rg | ) | [inline] |
osgUtil::StateGraph* osgUtil::SceneView::getStateGraphLeft | ( | ) | [inline] |
const osgUtil::StateGraph* osgUtil::SceneView::getStateGraphLeft | ( | ) | const [inline] |
void osgUtil::SceneView::setStateGraphRight | ( | osgUtil::StateGraph * | rg | ) | [inline] |
osgUtil::StateGraph* osgUtil::SceneView::getStateGraphRight | ( | ) | [inline] |
const osgUtil::StateGraph* osgUtil::SceneView::getStateGraphRight | ( | ) | const [inline] |
void osgUtil::SceneView::setRenderStage | ( | osgUtil::RenderStage * | rs | ) | [inline] |
osgUtil::RenderStage* osgUtil::SceneView::getRenderStage | ( | ) | [inline] |
const osgUtil::RenderStage* osgUtil::SceneView::getRenderStage | ( | ) | const [inline] |
void osgUtil::SceneView::setRenderStageLeft | ( | osgUtil::RenderStage * | rs | ) | [inline] |
osgUtil::RenderStage* osgUtil::SceneView::getRenderStageLeft | ( | ) | [inline] |
const osgUtil::RenderStage* osgUtil::SceneView::getRenderStageLeft | ( | ) | const [inline] |
void osgUtil::SceneView::setRenderStageRight | ( | osgUtil::RenderStage * | rs | ) | [inline] |
osgUtil::RenderStage* osgUtil::SceneView::getRenderStageRight | ( | ) | [inline] |
const osgUtil::RenderStage* osgUtil::SceneView::getRenderStageRight | ( | ) | const [inline] |
void osgUtil::SceneView::setDrawBufferValue | ( | GLenum | drawBufferValue | ) | [inline] |
Set the draw buffer value used at the start of each frame draw.
Note, overridden in quad buffer stereo mode
GLenum osgUtil::SceneView::getDrawBufferValue | ( | ) | const [inline] |
Get the draw buffer value used at the start of each frame draw.
void osgUtil::SceneView::setFusionDistance | ( | FusionDistanceMode | mode, | |
float | value = 1.0f | |||
) | [inline] |
Set the FusionDistanceMode and Value.
Note, is used only when working in stereo.
FusionDistanceMode osgUtil::SceneView::getFusionDistanceMode | ( | ) | const [inline] |
Get the FusionDistanceMode.
float osgUtil::SceneView::getFusionDistanceValue | ( | ) | const [inline] |
Get the FusionDistanceValue.
Note, only used for USE_FUSION_DISTANCE_VALUE & PROPORTIONAL_TO_SCREEN_DISTANCE modes.
void osgUtil::SceneView::setPrioritizeTextures | ( | bool | pt | ) | [inline] |
Set whether the draw method should call renderer->prioritizeTexture.
bool osgUtil::SceneView::getPrioritizeTextures | ( | ) | const [inline] |
Get whether the draw method should call renderer->prioritizeTexture.
void osgUtil::SceneView::setComputeStereoMatricesCallback | ( | ComputeStereoMatricesCallback * | callback | ) | [inline] |
ComputeStereoMatricesCallback* osgUtil::SceneView::getComputeStereoMatricesCallback | ( | ) | [inline] |
const ComputeStereoMatricesCallback* osgUtil::SceneView::getComputeStereoMatricesCallback | ( | ) | const [inline] |
bool osgUtil::SceneView::projectWindowIntoObject | ( | const osg::Vec3 & | window, | |
osg::Vec3 & | object | |||
) | const |
Calculate the object coordinates of a point in window coordinates.
Note, current implementation requires that SceneView::draw() has been previously called for projectWindowIntoObject to produce valid values. Consistent with OpenGL windows coordinates are calculated relative to the bottom left of the window. Returns true on successful projection.
bool osgUtil::SceneView::projectWindowXYIntoObject | ( | int | x, | |
int | y, | |||
osg::Vec3 & | near_point, | |||
osg::Vec3 & | far_point | |||
) | const |
Calculate the object coordinates of a window x,y when projected onto the near and far planes.
Note, current implementation requires that SceneView::draw() has been previously called for projectWindowIntoObject to produce valid values. Consistent with OpenGL windows coordinates are calculated relative to the bottom left of the window. Returns true on successful projection.
bool osgUtil::SceneView::projectObjectIntoWindow | ( | const osg::Vec3 & | object, | |
osg::Vec3 & | window | |||
) | const |
Calculate the window coordinates of a point in object coordinates.
Note, current implementation requires that SceneView::draw() has been previously called for projectWindowIntoObject to produce valid values. Consistent with OpenGL windows coordinates are calculated relative to the bottom left of the window, whereas window API's normally have the top left as the origin, so you may need to pass in (mouseX,window_height-mouseY,...). Returns true on successful projection.
void osgUtil::SceneView::setFrameStamp | ( | osg::FrameStamp * | fs | ) | [inline] |
Set the frame stamp for the current frame.
const osg::FrameStamp* osgUtil::SceneView::getFrameStamp | ( | ) | const [inline] |
Get the frame stamp for the current frame.
osg::Matrixd osgUtil::SceneView::computeLeftEyeProjection | ( | const osg::Matrixd & | projection | ) | const [inline] |
osg::Matrixd osgUtil::SceneView::computeLeftEyeView | ( | const osg::Matrixd & | view | ) | const [inline] |
osg::Matrixd osgUtil::SceneView::computeRightEyeProjection | ( | const osg::Matrixd & | projection | ) | const [inline] |
osg::Matrixd osgUtil::SceneView::computeRightEyeView | ( | const osg::Matrixd & | view | ) | const [inline] |
virtual osg::Matrixd osgUtil::SceneView::computeLeftEyeProjectionImplementation | ( | const osg::Matrixd & | projection | ) | const [virtual] |
virtual osg::Matrixd osgUtil::SceneView::computeLeftEyeViewImplementation | ( | const osg::Matrixd & | view | ) | const [virtual] |
virtual osg::Matrixd osgUtil::SceneView::computeRightEyeProjectionImplementation | ( | const osg::Matrixd & | projection | ) | const [virtual] |
virtual osg::Matrixd osgUtil::SceneView::computeRightEyeViewImplementation | ( | const osg::Matrixd & | view | ) | const [virtual] |
virtual void osgUtil::SceneView::inheritCullSettings | ( | const osg::CullSettings & | settings | ) | [inline, virtual] |
Inherit the local cull settings variable from specified CullSettings object, according to the inheritance mask.
Reimplemented from osg::CullSettings.
virtual void osgUtil::SceneView::inheritCullSettings | ( | const osg::CullSettings & | settings, | |
unsigned int | inheritanceMask | |||
) | [virtual] |
Inherit the local cull settings variable from specified CullSettings object, according to the inheritance mask.
Reimplemented from osg::CullSettings.
virtual void osgUtil::SceneView::init | ( | ) | [virtual] |
Do init traversal of attached scene graph using Init NodeVisitor.
The init traversal is called once for each SceneView, and should be used to compile display list, texture objects intialize data not otherwise intialized during scene graph loading. Note, is called automatically by update & cull if it hasn't already been called elsewhere. Also init() should only ever be called within a valid graphics context.
virtual void osgUtil::SceneView::update | ( | ) | [virtual] |
Do app traversal of attached scene graph using App NodeVisitor.
virtual void osgUtil::SceneView::cull | ( | ) | [virtual] |
Do cull traversal of attached scene graph using Cull NodeVisitor.
virtual void osgUtil::SceneView::draw | ( | ) | [virtual] |
Do draw traversal of draw bins generated by cull traversal.
unsigned int osgUtil::SceneView::getDynamicObjectCount | ( | ) | const [inline] |
Compute the number of dynamic objects that will be held in the rendering backend.
virtual void osgUtil::SceneView::releaseAllGLObjects | ( | ) | [virtual] |
Release all OpenGL objects from the scene graph, such as texture objects, display lists etc.
These released scene graphs placed in the respective delete GLObjects cache, which then need to be deleted in OpenGL by SceneView::flushAllDeleteGLObjects().
virtual void osgUtil::SceneView::flushAllDeletedGLObjects | ( | ) | [virtual] |
Flush all deleted OpenGL objects, such as texture objects, display lists etc.
virtual void osgUtil::SceneView::flushDeletedGLObjects | ( | double & | availableTime | ) | [virtual] |
Flush deleted OpenGL objects, such as texture objects, display lists etc within specified available time.
bool osgUtil::SceneView::getStats | ( | Statistics & | primStats | ) |
Extract stats for current draw list.
virtual bool osgUtil::SceneView::cullStage | ( | const osg::Matrixd & | projection, | |
const osg::Matrixd & | modelview, | |||
osgUtil::CullVisitor * | cullVisitor, | |||
osgUtil::StateGraph * | rendergraph, | |||
osgUtil::RenderStage * | renderStage | |||
) | [protected, virtual] |
Do cull traversal of attached scene graph using Cull NodeVisitor.
Return true if computeNearFar has been done during the cull traversal.
const osg::Matrix osgUtil::SceneView::computeMVPW | ( | ) | const [protected] |
void osgUtil::SceneView::clearArea | ( | int | x, | |
int | y, | |||
int | width, | |||
int | height, | |||
const osg::Vec4 & | color | |||
) | [protected] |
osg::ref_ptr<osg::StateSet> osgUtil::SceneView::_localStateSet [protected] |
osg::RenderInfo osgUtil::SceneView::_renderInfo [protected] |
bool osgUtil::SceneView::_initCalled [protected] |
osg::ref_ptr<osg::NodeVisitor> osgUtil::SceneView::_initVisitor [protected] |
osg::ref_ptr<ComputeStereoMatricesCallback> osgUtil::SceneView::_computeStereoMatricesCallback [protected] |
osg::ref_ptr<osg::FrameStamp> osgUtil::SceneView::_frameStamp [protected] |
osg::observer_ptr<osg::Camera> osgUtil::SceneView::_camera [protected] |
osg::ref_ptr<osg::StateSet> osgUtil::SceneView::_globalStateSet [protected] |
osg::ref_ptr<osg::Light> osgUtil::SceneView::_light [protected] |
float osgUtil::SceneView::_fusionDistanceValue [protected] |
LightingMode osgUtil::SceneView::_lightingMode [protected] |
bool osgUtil::SceneView::_prioritizeTextures [protected] |
bool osgUtil::SceneView::_requiresFlush [protected] |
int osgUtil::SceneView::_activeUniforms [protected] |
double osgUtil::SceneView::_previousFrameTime [protected] |
double osgUtil::SceneView::_previousSimulationTime [protected] |
bool osgUtil::SceneView::_redrawInterlacedStereoStencilMask [protected] |
int osgUtil::SceneView::_interlacedStereoStencilWidth [protected] |
int osgUtil::SceneView::_interlacedStereoStencilHeight [protected] |
unsigned int osgUtil::SceneView::_dynamicObjectCount [protected] |