OpenSceneGraph  3.5.1
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
osg::Camera Class Reference

Camera - is a subclass of Transform which represents encapsulates the settings of a Camera. More...

Inheritance diagram for osg::Camera:
Inheritance graph
[legend]

Classes

struct  Attachment
 
struct  DrawCallback
 Draw callback for custom operations. More...
 

Public Types

enum  TransformOrder { PRE_MULTIPLY, POST_MULTIPLY }
 
enum  ProjectionResizePolicy { FIXED, HORIZONTAL, VERTICAL }
 
enum  RenderOrder { PRE_RENDER, NESTED_RENDER, POST_RENDER }
 
enum  RenderTargetImplementation {
  FRAME_BUFFER_OBJECT, PIXEL_BUFFER_RTT, PIXEL_BUFFER, FRAME_BUFFER,
  SEPARATE_WINDOW
}
 
enum  BufferComponent {
  DEPTH_BUFFER, STENCIL_BUFFER, PACKED_DEPTH_STENCIL_BUFFER, COLOR_BUFFER,
  COLOR_BUFFER0, COLOR_BUFFER1 = COLOR_BUFFER0+1, COLOR_BUFFER2 = COLOR_BUFFER0+2, COLOR_BUFFER3 = COLOR_BUFFER0+3,
  COLOR_BUFFER4 = COLOR_BUFFER0+4, COLOR_BUFFER5 = COLOR_BUFFER0+5, COLOR_BUFFER6 = COLOR_BUFFER0+6, COLOR_BUFFER7 = COLOR_BUFFER0+7,
  COLOR_BUFFER8 = COLOR_BUFFER0+8, COLOR_BUFFER9 = COLOR_BUFFER0+9, COLOR_BUFFER10 = COLOR_BUFFER0+10, COLOR_BUFFER11 = COLOR_BUFFER0+11,
  COLOR_BUFFER12 = COLOR_BUFFER0+12, COLOR_BUFFER13 = COLOR_BUFFER0+13, COLOR_BUFFER14 = COLOR_BUFFER0+14, COLOR_BUFFER15 = COLOR_BUFFER0+15
}
 
enum  ResizeMask { RESIZE_VIEWPORT =1, RESIZE_ATTACHMENTS =2, RESIZE_PROJECTIONMATRIX =4, RESIZE_DEFAULT =RESIZE_VIEWPORT|RESIZE_ATTACHMENTS }
 
enum  ImplicitBufferAttachment { IMPLICIT_DEPTH_BUFFER_ATTACHMENT = DisplaySettings::IMPLICIT_DEPTH_BUFFER_ATTACHMENT, IMPLICIT_STENCIL_BUFFER_ATTACHMENT = DisplaySettings::IMPLICIT_STENCIL_BUFFER_ATTACHMENT, IMPLICIT_COLOR_BUFFER_ATTACHMENT = DisplaySettings::IMPLICIT_COLOR_BUFFER_ATTACHMENT, USE_DISPLAY_SETTINGS_MASK = (~0) }
 Explicit control over implicit allocation of buffers when using FBO. More...
 
typedef std::map< BufferComponent, AttachmentBufferAttachmentMap
 
typedef int ImplicitBufferAttachmentMask
 
- Public Types inherited from osg::Transform
enum  ReferenceFrame { RELATIVE_RF, ABSOLUTE_RF, ABSOLUTE_RF_INHERIT_VIEWPOINT }
 
- Public Types inherited from osg::Node
typedef std::vector< Group * > ParentList
 A vector of osg::Group pointers which is used to store the parent(s) of node. More...
 
typedef unsigned int NodeMask
 This is a set of bits (flags) that represent the Node. More...
 
typedef std::vector< std::string > DescriptionList
 A vector of std::string's which are used to describe the object. More...
 
- Public Types inherited from osg::Object
enum  DataVariance { DYNAMIC, STATIC, UNSPECIFIED }
 
- Public Types inherited from osg::CullSettings
enum  VariablesMask {
  COMPUTE_NEAR_FAR_MODE = (0x1 << 0), CULLING_MODE = (0x1 << 1), LOD_SCALE = (0x1 << 2), SMALL_FEATURE_CULLING_PIXEL_SIZE = (0x1 << 3),
  CLAMP_PROJECTION_MATRIX_CALLBACK = (0x1 << 4), NEAR_FAR_RATIO = (0x1 << 5), IMPOSTOR_ACTIVE = (0x1 << 6), DEPTH_SORT_IMPOSTOR_SPRITES = (0x1 << 7),
  IMPOSTOR_PIXEL_ERROR_THRESHOLD = (0x1 << 8), NUM_FRAMES_TO_KEEP_IMPOSTORS_SPRITES = (0x1 << 9), CULL_MASK = (0x1 << 10), CULL_MASK_LEFT = (0x1 << 11),
  CULL_MASK_RIGHT = (0x1 << 12), CLEAR_COLOR = (0x1 << 13), CLEAR_MASK = (0x1 << 14), LIGHTING_MODE = (0x1 << 15),
  LIGHT = (0x1 << 16), DRAW_BUFFER = (0x1 << 17), READ_BUFFER = (0x1 << 18), NO_VARIABLES = 0x00000000,
  ALL_VARIABLES = 0x7FFFFFFF
}
 
enum  InheritanceMaskActionOnAttributeSetting { DISABLE_ASSOCIATED_INHERITANCE_MASK_BIT, DO_NOT_MODIFY_INHERITANCE_MASK }
 
enum  ComputeNearFarMode { DO_NOT_COMPUTE_NEAR_FAR = 0, COMPUTE_NEAR_FAR_USING_BOUNDING_VOLUMES, COMPUTE_NEAR_FAR_USING_PRIMITIVES, COMPUTE_NEAR_USING_PRIMITIVES }
 
enum  CullingModeValues {
  NO_CULLING = 0x0, VIEW_FRUSTUM_SIDES_CULLING = 0x1, NEAR_PLANE_CULLING = 0x2, FAR_PLANE_CULLING = 0x4,
  VIEW_FRUSTUM_CULLING, SMALL_FEATURE_CULLING = 0x8, SHADOW_OCCLUSION_CULLING = 0x10, CLUSTER_CULLING = 0x20,
  DEFAULT_CULLING, ENABLE_ALL_CULLING
}
 
typedef int InheritanceMask
 
typedef int CullingMode
 

Public Member Functions

 Camera ()
 
 Camera (const Camera &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 Copy constructor using CopyOp to manage deep vs shallow copy. More...
 
 META_Node (osg, Camera)
 
virtual CameraasCamera ()
 Convert 'this' into a Camera pointer if Node is a Camera, otherwise return 0. More...
 
virtual const CameraasCamera () const
 convert 'const this' into a const Camera pointer if Node is a Camera, otherwise return 0. More...
 
void setView (View *view)
 Set the View that this Camera is part of. More...
 
ViewgetView ()
 Get the View that this Camera is part of. More...
 
const ViewgetView () const
 Get the const View that this Camera is part of. More...
 
void setStats (osg::Stats *stats)
 Set the Stats object used to collect various frame related timing and scene graph stats. More...
 
osg::StatsgetStats ()
 Get the Stats object. More...
 
const osg::StatsgetStats () const
 Get the const Stats object. More...
 
void setAllowEventFocus (bool focus)
 Set whether this camera allows events to be generated by the associated graphics window to be associated with this camera. More...
 
bool getAllowEventFocus () const
 Get whether this camera allows events to be generated by the associated graphics window to be associated with this camera. More...
 
void setDisplaySettings (osg::DisplaySettings *ds)
 Set the DisplaySettings object associated with this view. More...
 
osg::DisplaySettingsgetDisplaySettings ()
 Get the DisplaySettings object associated with this view. More...
 
const osg::DisplaySettingsgetDisplaySettings () const
 Get the const DisplaySettings object associated with this view. More...
 
void setClearMask (GLbitfield mask)
 Set the clear mask used in glClear(). More...
 
GLbitfield getClearMask () const
 Get the clear mask. More...
 
void setClearColor (const osg::Vec4 &color)
 Set the clear color used in glClearColor(). More...
 
const osg::Vec4getClearColor () const
 Get the clear color. More...
 
void setClearAccum (const osg::Vec4 &color)
 Set the clear accum used in glClearAccum(). More...
 
const osg::Vec4getClearAccum () const
 Get the clear accum value. More...
 
void setClearDepth (double depth)
 Set the clear depth used in glClearDepth(). More...
 
double getClearDepth () const
 Get the clear depth value. More...
 
void setClearStencil (int stencil)
 Set the clear stencil value used in glClearStencil(). More...
 
int getClearStencil () const
 Get the clear stencil value. More...
 
void setColorMask (osg::ColorMask *colorMask)
 Set the color mask of the camera to use specified osg::ColorMask. More...
 
void setColorMask (bool red, bool green, bool blue, bool alpha)
 Set the color mask of the camera to specified values. More...
 
const ColorMaskgetColorMask () const
 Get the const ColorMask. More...
 
ColorMaskgetColorMask ()
 Get the ColorMask. More...
 
void setViewport (osg::Viewport *viewport)
 Set the viewport of the camera to use specified osg::Viewport. More...
 
void setViewport (int x, int y, int width, int height)
 Set the viewport of the camera to specified dimensions. More...
 
const ViewportgetViewport () const
 Get the const viewport. More...
 
ViewportgetViewport ()
 Get the viewport. More...
 
void setTransformOrder (TransformOrder order)
 Set the transformation order for world-to-local and local-to-world transformation. More...
 
TransformOrder getTransformOrder () const
 Get the transformation order. More...
 
void setProjectionResizePolicy (ProjectionResizePolicy policy)
 Set the policy used to determine if and how the projection matrix should be adjusted on window resizes. More...
 
ProjectionResizePolicy getProjectionResizePolicy () const
 Get the policy used to determine if and how the projection matrix should be adjusted on window resizes. More...
 
void setProjectionMatrix (const osg::Matrixf &matrix)
 Set the projection matrix. More...
 
void setProjectionMatrix (const osg::Matrixd &matrix)
 Set the projection matrix. More...
 
void setProjectionMatrixAsOrtho (double left, double right, double bottom, double top, double zNear, double zFar)
 Set to an orthographic projection. More...
 
void setProjectionMatrixAsOrtho2D (double left, double right, double bottom, double top)
 Set to a 2D orthographic projection. More...
 
void setProjectionMatrixAsFrustum (double left, double right, double bottom, double top, double zNear, double zFar)
 Set to a perspective projection. More...
 
void setProjectionMatrixAsPerspective (double fovy, double aspectRatio, double zNear, double zFar)
 Create a symmetrical perspective projection, See OpenGL gluPerspective documentation for further details. More...
 
osg::MatrixdgetProjectionMatrix ()
 Get the projection matrix. More...
 
const osg::MatrixdgetProjectionMatrix () const
 Get the const projection matrix. More...
 
bool getProjectionMatrixAsOrtho (double &left, double &right, double &bottom, double &top, double &zNear, double &zFar) const
 Get the orthographic settings of the orthographic projection matrix. More...
 
bool getProjectionMatrixAsFrustum (double &left, double &right, double &bottom, double &top, double &zNear, double &zFar) const
 Get the frustum setting of a perspective projection matrix. More...
 
bool getProjectionMatrixAsPerspective (double &fovy, double &aspectRatio, double &zNear, double &zFar) const
 Get the frustum setting of a symmetric perspective projection matrix. More...
 
void setViewMatrix (const osg::Matrixf &matrix)
 Set the view matrix. More...
 
void setViewMatrix (const osg::Matrixd &matrix)
 Set the view matrix. More...
 
osg::MatrixdgetViewMatrix ()
 Get the view matrix. More...
 
const osg::MatrixdgetViewMatrix () const
 Get the const view matrix. More...
 
void setViewMatrixAsLookAt (const osg::Vec3d &eye, const osg::Vec3d &center, const osg::Vec3d &up)
 Set to the position and orientation of view matrix, using the same convention as gluLookAt. More...
 
void getViewMatrixAsLookAt (osg::Vec3d &eye, osg::Vec3d &center, osg::Vec3d &up, double lookDistance=1.0) const
 Get to the position and orientation of a modelview matrix, using the same convention as gluLookAt. More...
 
void getViewMatrixAsLookAt (osg::Vec3f &eye, osg::Vec3f &center, osg::Vec3f &up, float lookDistance=1.0f) const
 Get to the position and orientation of a modelview matrix, using the same convention as gluLookAt. More...
 
Matrixd getInverseViewMatrix () const
 Get the inverse view matrix. More...
 
void setRenderOrder (RenderOrder order, int orderNum=0)
 Set the rendering order of this camera's subgraph relative to any camera that this subgraph is nested within. More...
 
RenderOrder getRenderOrder () const
 Get the rendering order of this camera's subgraph relative to any camera that this subgraph is nested within. More...
 
int getRenderOrderNum () const
 Get the rendering order number of this camera relative to any sibling cameras in this subgraph. More...
 
bool isRenderToTextureCamera () const
 Return true if this Camera is set up as a render to texture camera, i.e. More...
 
void setRenderTargetImplementation (RenderTargetImplementation impl)
 Set the render target. More...
 
void setRenderTargetImplementation (RenderTargetImplementation impl, RenderTargetImplementation fallback)
 Set the render target and fall-back that's used if the former isn't available. More...
 
RenderTargetImplementation getRenderTargetImplementation () const
 Get the render target. More...
 
RenderTargetImplementation getRenderTargetFallback () const
 Get the render target fallback. More...
 
void setDrawBuffer (GLenum buffer)
 Set the draw buffer used at the start of each frame draw. More...
 
GLenum getDrawBuffer () const
 Get the draw buffer used at the start of each frame draw. More...
 
void setReadBuffer (GLenum buffer)
 Set the read buffer for any required copy operations to use. More...
 
GLenum getReadBuffer () const
 Get the read buffer for any required copy operations to use. More...
 
void attach (BufferComponent buffer, GLenum internalFormat)
 Attach a buffer with specified OpenGL internal format. More...
 
void attach (BufferComponent buffer, osg::Texture *texture, unsigned int level=0, unsigned int face=0, bool mipMapGeneration=false, unsigned int multisampleSamples=0, unsigned int multisampleColorSamples=0)
 Attach a Texture to specified buffer component. More...
 
void attach (BufferComponent buffer, osg::Image *image, unsigned int multisampleSamples=0, unsigned int multisampleColorSamples=0)
 Attach a Image to specified buffer component. More...
 
void detach (BufferComponent buffer)
 Detach specified buffer component. More...
 
BufferAttachmentMapgetBufferAttachmentMap ()
 Get the BufferAttachmentMap, used to configure frame buffer objects, pbuffers and texture reads. More...
 
const BufferAttachmentMapgetBufferAttachmentMap () const
 Get the const BufferAttachmentMap, used to configure frame buffer objects, pbuffers and texture reads. More...
 
void dirtyAttachmentMap ()
 Increment the _attachementMapModifiedCount so that the rendering backend will know that it needs to be updated to handle any new settings (such as format change/resizes.). More...
 
void setAttachmentMapModifiedCount (unsigned int v)
 Set the AttachmentMapModifiedCount to a specific value. More...
 
unsigned int getAttachmentMapModifiedCount () const
 Get the AttachmentMapModifiedCount. More...
 
void resizeAttachments (int width, int height)
 Resize the image and textures in the AttachementMap. More...
 
void resize (int width, int height, int resizeMask=RESIZE_DEFAULT)
 Resize, to the specified width and height, the viewport, attachments and projection matrix according to the resizeMask provided. More...
 
void setImplicitBufferAttachmentMask (ImplicitBufferAttachmentMask renderMask=DisplaySettings::DEFAULT_IMPLICIT_BUFFER_ATTACHMENT, ImplicitBufferAttachmentMask resolveMask=DisplaySettings::DEFAULT_IMPLICIT_BUFFER_ATTACHMENT)
 
void setImplicitBufferAttachmentRenderMask (ImplicitBufferAttachmentMask implicitBufferAttachmentRenderMask)
 
void setImplicitBufferAttachmentResolveMask (ImplicitBufferAttachmentMask implicitBufferAttachmentResolveMask)
 
ImplicitBufferAttachmentMask getImplicitBufferAttachmentRenderMask () const
 
ImplicitBufferAttachmentMask getImplicitBufferAttachmentRenderMask (bool effectiveMask) const
 Get mask selecting implicit buffer attachments for Camera primary FBO if effectiveMask parameter is set, method follows USE_DISPLAY_SETTINGS_MASK dependence and returns effective mask if effectiveMask parameter is reset, method returns nominal mask set by the Camera. More...
 
ImplicitBufferAttachmentMask getImplicitBufferAttachmentResolveMask () const
 
ImplicitBufferAttachmentMask getImplicitBufferAttachmentResolveMask (bool effectiveMask) const
 Get mask selecting implicit buffer attachments for Camera secondary MULTISAMPLE FBO if effectiveMask parameter is set, method follows USE_DISPLAY_SETTINGS_MASK dependence and returns effective mask if effectiveMask parameter is reset, method returns nominal mask set by the Camera. More...
 
void createCameraThread ()
 Create a operation thread for this camera. More...
 
void setCameraThread (OperationThread *gt)
 Assign a operation thread to the camera. More...
 
OperationThreadgetCameraThread ()
 Get the operation thread assigned to this camera. More...
 
const OperationThreadgetCameraThread () const
 Get the const operation thread assigned to this camera. More...
 
void setGraphicsContext (GraphicsContext *context)
 Set the GraphicsContext that provides the mechansim for managing the OpenGL graphics context associated with this camera. More...
 
GraphicsContextgetGraphicsContext ()
 Get the GraphicsContext. More...
 
const GraphicsContextgetGraphicsContext () const
 Get the const GraphicsContext. More...
 
void setRenderer (osg::GraphicsOperation *rc)
 Set the Rendering object that is used to implement rendering of the subgraph. More...
 
osg::GraphicsOperationgetRenderer ()
 Get the Rendering object that is used to implement rendering of the subgraph. More...
 
const osg::GraphicsOperationgetRenderer () const
 Get the const Rendering object that is used to implement rendering of the subgraph. More...
 
void setRenderingCache (osg::Object *rc)
 Set the Rendering cache that is used for cached objects associated with rendering of subgraphs. More...
 
osg::ObjectgetRenderingCache ()
 Get the Rendering cache that is used for cached objects associated with rendering of subgraphs. More...
 
const osg::ObjectgetRenderingCache () const
 Get the const Rendering cache that is used for cached objects associated with rendering of subgraphs. More...
 
void setInitialDrawCallback (DrawCallback *cb)
 Set the initial draw callback for custom operations to be done before the drawing of the camera's subgraph and pre render stages. More...
 
DrawCallbackgetInitialDrawCallback ()
 Get the initial draw callback. More...
 
const DrawCallbackgetInitialDrawCallback () const
 Get the const initial draw callback. More...
 
void setPreDrawCallback (DrawCallback *cb)
 Set the pre draw callback for custom operations to be done before the drawing of the camera's subgraph but after any pre render stages have been completed. More...
 
DrawCallbackgetPreDrawCallback ()
 Get the pre draw callback. More...
 
const DrawCallbackgetPreDrawCallback () const
 Get the const pre draw callback. More...
 
void setPostDrawCallback (DrawCallback *cb)
 Set the post draw callback for custom operations to be done after the drawing of the camera's subgraph but before the any post render stages have been completed. More...
 
DrawCallbackgetPostDrawCallback ()
 Get the post draw callback. More...
 
const DrawCallbackgetPostDrawCallback () const
 Get the const post draw callback. More...
 
void setFinalDrawCallback (DrawCallback *cb)
 Set the final draw callback for custom operations to be done after the drawing of the camera's subgraph and all of the post render stages has been completed. More...
 
DrawCallbackgetFinalDrawCallback ()
 Get the final draw callback. More...
 
const DrawCallbackgetFinalDrawCallback () const
 Get the const final draw callback. More...
 
OpenThreads::Mutex * getDataChangeMutex () const
 
virtual void resizeGLObjectBuffers (unsigned int maxSize)
 Resize any per context GLObject buffers to specified size. More...
 
virtual void releaseGLObjects (osg::State *=0) const
 If State is non-zero, this function releases any associated OpenGL objects for the specified graphics context. More...
 
virtual bool computeLocalToWorldMatrix (Matrix &matrix, NodeVisitor *) const
 Transform method that must be defined to provide generic interface for scene graph traversals. More...
 
virtual bool computeWorldToLocalMatrix (Matrix &matrix, NodeVisitor *) const
 Transform method that must be defined to provide generic interface for scene graph traversals. More...
 
virtual void inheritCullSettings (const CullSettings &settings, unsigned int inheritanceMask)
 Inherit the local cull settings variable from specified CullSettings object, according to the inheritance mask. More...
 
- Public Member Functions inherited from osg::Transform
 Transform ()
 
 Transform (const Transform &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 Copy constructor using CopyOp to manage deep vs shallow copy. More...
 
 META_Node (osg, Transform)
 
virtual TransformasTransform ()
 Convert 'this' into a Transform pointer if Node is a Transform, otherwise return 0. More...
 
virtual const TransformasTransform () const
 convert 'const this' into a const Transform pointer if Node is a Transform, otherwise return 0. More...
 
virtual MatrixTransformasMatrixTransform ()
 
virtual const MatrixTransformasMatrixTransform () const
 
virtual PositionAttitudeTransformasPositionAttitudeTransform ()
 
virtual const PositionAttitudeTransformasPositionAttitudeTransform () const
 
void setReferenceFrame (ReferenceFrame rf)
 Set the transform's ReferenceFrame, either to be relative to its parent reference frame, or relative to an absolute coordinate frame. More...
 
ReferenceFrame getReferenceFrame () const
 
virtual BoundingSphere computeBound () const
 Overrides Group's computeBound. More...
 
- Public Member Functions inherited from osg::Group
 Group ()
 
 Group (const Group &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 Copy constructor using CopyOp to manage deep vs shallow copy. More...
 
 META_Node (osg, Group)
 
virtual GroupasGroup ()
 convert 'this' into a Group pointer if Node is a Group, otherwise return 0. More...
 
virtual const GroupasGroup () const
 convert 'const this' into a const Group pointer if Node is a Group, otherwise return 0. More...
 
virtual void traverse (NodeVisitor &nv)
 Traverse downwards : calls children's accept method with NodeVisitor. More...
 
virtual bool addChild (Node *child)
 Add Node to Group. More...
 
template<class T >
bool addChild (const ref_ptr< T > &child)
 
virtual bool insertChild (unsigned int index, Node *child)
 Insert Node to Group at specific location. More...
 
template<class T >
bool insertChild (unsigned int index, const ref_ptr< T > &child)
 
virtual bool removeChild (Node *child)
 Remove Node from Group. More...
 
template<class T >
bool removeChild (const ref_ptr< T > &child)
 
bool removeChild (unsigned int pos, unsigned int numChildrenToRemove=1)
 Remove Node from Group. More...
 
virtual bool removeChildren (unsigned int pos, unsigned int numChildrenToRemove)
 Remove children from Group. More...
 
virtual bool replaceChild (Node *origChild, Node *newChild)
 Replace specified child Node with another Node. More...
 
template<class T , class R >
bool replaceChild (const ref_ptr< T > &origChild, const ref_ptr< R > &newChild)
 
virtual unsigned int getNumChildren () const
 Return the number of children nodes. More...
 
virtual bool setChild (unsigned int i, Node *node)
 Set child node at position i. More...
 
NodegetChild (unsigned int i)
 Return child node at position i. More...
 
const NodegetChild (unsigned int i) const
 Return child node at position i. More...
 
bool containsNode (const Node *node) const
 Return true if node is contained within Group. More...
 
template<class T >
bool conatainsNode (const ref_ptr< T > &node) const
 
unsigned int getChildIndex (const Node *node) const
 Get the index number of child, return a value between 0 and _children.size()-1 if found, if not found then return _children.size(). More...
 
virtual void setThreadSafeRefUnref (bool threadSafe)
 Set whether to use a mutex to ensure ref() and unref() are thread safe. More...
 
- Public Member Functions inherited from osg::Node
 Node ()
 Construct a node. More...
 
 Node (const Node &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 Copy constructor using CopyOp to manage deep vs shallow copy. More...
 
virtual ObjectcloneType () const
 clone an object of the same type as the node. More...
 
virtual Objectclone (const CopyOp &copyop) const
 return a clone of a node, with Object* return type. More...
 
virtual bool isSameKindAs (const Object *obj) const
 return true if this and obj are of the same kind of object. More...
 
virtual const char * libraryName () const
 return the name of the node's library. More...
 
virtual const char * className () const
 return the name of the node's class type. More...
 
virtual NodeasNode ()
 Convert 'this' into a Node pointer if Object is a Node, otherwise return 0. More...
 
virtual const NodeasNode () const
 convert 'const this' into a const Node pointer if Object is a Node, otherwise return 0. More...
 
virtual DrawableasDrawable ()
 convert 'this' into a Drawable pointer if Node is a Drawable, otherwise return 0. More...
 
virtual const DrawableasDrawable () const
 convert 'const this' into a const Drawable pointer if Node is a Drawable, otherwise return 0. More...
 
virtual GeometryasGeometry ()
 convert 'this' into a Geometry pointer if Node is a Geometry, otherwise return 0. More...
 
virtual const GeometryasGeometry () const
 convert 'const this' into a const Geometry pointer if Node is a Geometry, otherwise return 0. More...
 
virtual SwitchasSwitch ()
 Convert 'this' into a Switch pointer if Node is a Switch, otherwise return 0. More...
 
virtual const SwitchasSwitch () const
 convert 'const this' into a const Switch pointer if Node is a Switch, otherwise return 0. More...
 
virtual GeodeasGeode ()
 Convert 'this' into a Geode pointer if Node is a Geode, otherwise return 0. More...
 
virtual const GeodeasGeode () const
 convert 'const this' into a const Geode pointer if Node is a Geode, otherwise return 0. More...
 
virtual osgTerrain::TerrainasTerrain ()
 Convert 'this' into a Transform pointer if Node is a Terrain, otherwise return 0. More...
 
virtual const osgTerrain::TerrainasTerrain () const
 convert 'const this' into a const Terrain pointer if Node is a Terrain, otherwise return 0. More...
 
virtual void accept (NodeVisitor &nv)
 Visitor Pattern : calls the apply method of a NodeVisitor with this node's type. More...
 
virtual void ascend (NodeVisitor &nv)
 Traverse upwards : calls parents' accept method with NodeVisitor. More...
 
const ParentListgetParents () const
 Get the parent list of node. More...
 
ParentList getParents ()
 Get the a copy of parent list of node. More...
 
GroupgetParent (unsigned int i)
 
const GroupgetParent (unsigned int i) const
 Get a single const parent of node. More...
 
unsigned int getNumParents () const
 Get the number of parents of node. More...
 
NodePathList getParentalNodePaths (osg::Node *haltTraversalAtNode=0) const
 Get the list of node paths parent paths. More...
 
MatrixList getWorldMatrices (const osg::Node *haltTraversalAtNode=0) const
 Get the list of matrices that transform this node from local coordinates to world coordinates. More...
 
void setUpdateCallback (Callback *nc)
 Set update node callback, called during update traversal. More...
 
template<class T >
void setUpdateCallback (const ref_ptr< T > &nc)
 
CallbackgetUpdateCallback ()
 Get update node callback, called during update traversal. More...
 
const CallbackgetUpdateCallback () const
 Get const update node callback, called during update traversal. More...
 
void addUpdateCallback (Callback *nc)
 Convenience method that sets the update callback of the node if it doesn't exist, or nest it into the existing one. More...
 
template<class T >
void addUpdateCallback (const ref_ptr< T > &nc)
 
void removeUpdateCallback (Callback *nc)
 Convenience method that removes a given callback from a node, even if that callback is nested. More...
 
template<class T >
void removeUpdateCallback (const ref_ptr< T > &nc)
 
unsigned int getNumChildrenRequiringUpdateTraversal () const
 Get the number of Children of this node which require Update traversal, since they have an Update Callback attached to them or their children. More...
 
void setEventCallback (Callback *nc)
 Set event node callback, called during event traversal. More...
 
template<class T >
void setEventCallback (const ref_ptr< T > &nc)
 
CallbackgetEventCallback ()
 Get event node callback, called during event traversal. More...
 
const CallbackgetEventCallback () const
 Get const event node callback, called during event traversal. More...
 
void addEventCallback (Callback *nc)
 Convenience method that sets the event callback of the node if it doesn't exist, or nest it into the existing one. More...
 
template<class T >
void addEventCallback (const ref_ptr< T > &nc)
 
void removeEventCallback (Callback *nc)
 Convenience method that removes a given callback from a node, even if that callback is nested. More...
 
template<class T >
void removeEventCallback (const ref_ptr< T > &nc)
 
unsigned int getNumChildrenRequiringEventTraversal () const
 Get the number of Children of this node which require Event traversal, since they have an Event Callback attached to them or their children. More...
 
void setCullCallback (Callback *nc)
 Set cull node callback, called during cull traversal. More...
 
template<class T >
void setCullCallback (const ref_ptr< T > &nc)
 
CallbackgetCullCallback ()
 Get cull node callback, called during cull traversal. More...
 
const CallbackgetCullCallback () const
 Get const cull node callback, called during cull traversal. More...
 
void addCullCallback (Callback *nc)
 Convenience method that sets the cull callback of the node if it doesn't exist, or nest it into the existing one. More...
 
template<class T >
void addCullCallback (const ref_ptr< T > &nc)
 
void removeCullCallback (Callback *nc)
 Convenience method that removes a given callback from a node, even if that callback is nested. More...
 
template<class T >
void removeCullCallback (const ref_ptr< T > &nc)
 
void setCullingActive (bool active)
 Set the view frustum/small feature culling of this node to be active or inactive. More...
 
bool getCullingActive () const
 Get the view frustum/small feature _cullingActive flag for this node. More...
 
unsigned int getNumChildrenWithCullingDisabled () const
 Get the number of Children of this node which have culling disabled. More...
 
bool isCullingActive () const
 Return true if this node can be culled by view frustum, occlusion or small feature culling during the cull traversal. More...
 
unsigned int getNumChildrenWithOccluderNodes () const
 Get the number of Children of this node which are or have OccluderNode's. More...
 
bool containsOccluderNodes () const
 return true if this node is an OccluderNode or the subgraph below this node are OccluderNodes. More...
 
void setNodeMask (NodeMask nm)
 Set the node mask. More...
 
NodeMask getNodeMask () const
 Get the node Mask. More...
 
void setStateSet (osg::StateSet *stateset)
 Set the node's StateSet. More...
 
template<class T >
void setStateSet (const osg::ref_ptr< T > &stateset)
 
osg::StateSetgetOrCreateStateSet ()
 return the node's StateSet, if one does not already exist create it set the node and return the newly created StateSet. More...
 
osg::StateSetgetStateSet ()
 Return the node's StateSet. More...
 
const osg::StateSetgetStateSet () const
 Return the node's const StateSet. More...
 
void setDescriptions (const DescriptionList &descriptions)
 Set the list of string descriptions. More...
 
DescriptionListgetDescriptions ()
 Get the description list of the node. More...
 
const DescriptionListgetDescriptions () const
 Get the const description list of the const node. More...
 
const std::string & getDescription (unsigned int i) const
 Get a single const description of the const node. More...
 
std::string & getDescription (unsigned int i)
 Get a single description of the node. More...
 
unsigned int getNumDescriptions () const
 Get the number of descriptions of the node. More...
 
void addDescription (const std::string &desc)
 Add a description string to the node. More...
 
void setInitialBound (const osg::BoundingSphere &bsphere)
 Set the initial bounding volume to use when computing the overall bounding volume. More...
 
const BoundingSpheregetInitialBound () const
 Set the initial bounding volume to use when computing the overall bounding volume. More...
 
void dirtyBound ()
 Mark this node's bounding sphere dirty. More...
 
const BoundingSpheregetBound () const
 
void setComputeBoundingSphereCallback (ComputeBoundingSphereCallback *callback)
 Set the compute bound callback to override the default computeBound. More...
 
template<class T >
void setComputeBoundingSphereCallback (const ref_ptr< T > &callback)
 
ComputeBoundingSphereCallbackgetComputeBoundingSphereCallback ()
 Get the compute bound callback. More...
 
const ComputeBoundingSphereCallbackgetComputeBoundingSphereCallback () const
 Get the const compute bound callback. More...
 
- Public Member Functions inherited from osg::Object
 Object ()
 Construct an object. More...
 
 Object (bool threadSafeRefUnref)
 
 Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 Copy constructor, optional CopyOp object can be used to control shallow vs deep copying of dynamic data. More...
 
std::string getCompoundClassName () const
 return the compound class name that combines the library name and class name. More...
 
virtual NodeVisitorasNodeVisitor ()
 Convert 'this' into a NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. More...
 
virtual const NodeVisitorasNodeVisitor () const
 convert 'const this' into a const NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. More...
 
virtual StateAttributeasStateAttribute ()
 Convert 'this' into a StateAttribute pointer if Object is a StateAttribute, otherwise return 0. More...
 
virtual const StateAttributeasStateAttribute () const
 convert 'const this' into a const StateAttribute pointer if Object is a StateAttribute, otherwise return 0. More...
 
virtual UniformasUniform ()
 Convert 'this' into a Uniform pointer if Object is a Uniform, otherwise return 0. More...
 
virtual const UniformasUniform () const
 convert 'const this' into a const Uniform pointer if Object is a Uniform, otherwise return 0. More...
 
virtual void setName (const std::string &name)
 Set the name of object using C++ style string. More...
 
void setName (const char *name)
 Set the name of object using a C style string. More...
 
const std::string & getName () const
 Get the name of object. More...
 
void setDataVariance (DataVariance dv)
 Set the data variance of this object. More...
 
DataVariance getDataVariance () const
 Get the data variance of this object. More...
 
virtual void computeDataVariance ()
 Compute the DataVariance based on an assessment of callback etc. More...
 
void setUserDataContainer (osg::UserDataContainer *udc)
 set the UserDataContainer object. More...
 
template<class T >
void setUserDataContainer (const ref_ptr< T > &udc)
 
osg::UserDataContainergetUserDataContainer ()
 get the UserDataContainer attached to this object. More...
 
const osg::UserDataContainergetUserDataContainer () const
 get the const UserDataContainer attached to this object. More...
 
osg::UserDataContainergetOrCreateUserDataContainer ()
 Convenience method that returns the UserDataContainer, and if one doesn't already exist creates and assigns a DefaultUserDataContainer to the Object and then return this new UserDataContainer. More...
 
virtual void setUserData (Referenced *obj)
 Set user data, data must be subclassed from Referenced to allow automatic memory handling. More...
 
template<class T >
void setUserData (const ref_ptr< T > &ud)
 
virtual ReferencedgetUserData ()
 Get user data. More...
 
virtual const ReferencedgetUserData () const
 Get const user data. More...
 
template<typename T >
bool getUserValue (const std::string &name, T &value) const
 Convenience method that casts the named UserObject to osg::TemplateValueObject<T> and gets the value. More...
 
template<typename T >
void setUserValue (const std::string &name, const T &value)
 Convenience method that creates the osg::TemplateValueObject<T> to store the specified value and adds it as a named UserObject. More...
 
template<typename T >
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool getUserValue (const std::string &name, T &value) const
 provide implementation of osg::Object::getUserValue(..) template More...
 
- Public Member Functions inherited from osg::Referenced
 Referenced ()
 
 Referenced (bool threadSafeRefUnref)
 
 Referenced (const Referenced &)
 
Referencedoperator= (const Referenced &)
 
bool getThreadSafeRefUnref () const
 Get whether a mutex is used to ensure ref() and unref() are thread safe. More...
 
OpenThreads::Mutex * getRefMutex () const
 Get the mutex used to ensure thread safety of ref()/unref(). More...
 
int ref () const
 Increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
 
int unref () const
 Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More...
 
int unref_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More...
 
int referenceCount () const
 Return the number of pointers currently referencing this object. More...
 
ObserverSetgetObserverSet () const
 Get the ObserverSet if one is attached, otherwise return NULL. More...
 
ObserverSetgetOrCreateObserverSet () const
 Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. More...
 
void addObserver (Observer *observer) const
 Add a Observer that is observing this object, notify the Observer when this object gets deleted. More...
 
void removeObserver (Observer *observer) const
 Remove Observer that is observing this object. More...
 
- Public Member Functions inherited from osg::CullSettings
 CullSettings ()
 
 CullSettings (ArgumentParser &arguments)
 
 CullSettings (const CullSettings &cs)
 
virtual ~CullSettings ()
 
CullSettingsoperator= (const CullSettings &settings)
 
virtual void setDefaults ()
 
void setInheritanceMask (InheritanceMask mask)
 Set the inheritance mask used in inheritCullSettings to control which variables get overwritten by the passed in CullSettings object. More...
 
InheritanceMask getInheritanceMask () const
 Get the inheritance mask used in inheritCullSettings to control which variables get overwritten by the passed in CullSettings object. More...
 
void setCullSettings (const CullSettings &settings)
 Set the local cull settings values from specified CullSettings object. More...
 
virtual void inheritCullSettings (const CullSettings &settings)
 Inherit the local cull settings variable from specified CullSettings object, according to the inheritance mask. More...
 
void readEnvironmentalVariables ()
 read the environmental variables. More...
 
void readCommandLine (ArgumentParser &arguments)
 read the commandline arguments. More...
 
void setInheritanceMaskActionOnAttributeSetting (InheritanceMaskActionOnAttributeSetting action)
 
InheritanceMaskActionOnAttributeSetting getInheritanceMaskActionOnAttributeSetting () const
 
void applyMaskAction (unsigned int maskBit)
 Apply the action, specified by the InheritanceMaskActionOnAttributeSetting, to apply to the inheritance bit mask. More...
 
void setImpostorsActive (bool active)
 Switch the creation of Impostors on or off. More...
 
bool getImpostorsActive () const
 Get whether impostors are active or not. More...
 
void setImpostorPixelErrorThreshold (float numPixels)
 Set the impostor error threshold. More...
 
float getImpostorPixelErrorThreshold () const
 Get the impostor error threshold. More...
 
void setDepthSortImpostorSprites (bool doDepthSort)
 Set whether ImpostorSprite's should be placed in a depth sorted bin for rendering. More...
 
bool getDepthSortImpostorSprites () const
 Get whether ImpostorSprite's are depth sorted bin for rendering. More...
 
void setNumberOfFrameToKeepImpostorSprites (int numFrames)
 Set the number of frames that an ImpostorSprite is kept whilst not being beyond, before being recycled. More...
 
int getNumberOfFrameToKeepImpostorSprites () const
 Get the number of frames that an ImpostorSprite is kept whilst not being beyond, before being recycled. More...
 
void setComputeNearFarMode (ComputeNearFarMode cnfm)
 
ComputeNearFarMode getComputeNearFarMode () const
 
void setNearFarRatio (double ratio)
 
double getNearFarRatio () const
 
void setCullingMode (CullingMode mode)
 Set the culling mode for the CullVisitor to use. More...
 
CullingMode getCullingMode () const
 Returns the current CullingMode. More...
 
void setCullMask (osg::Node::NodeMask nm)
 
osg::Node::NodeMask getCullMask () const
 
void setCullMaskLeft (osg::Node::NodeMask nm)
 
osg::Node::NodeMask getCullMaskLeft () const
 
void setCullMaskRight (osg::Node::NodeMask nm)
 
osg::Node::NodeMask getCullMaskRight () const
 
void setLODScale (float scale)
 Set the LOD bias for the CullVisitor to use. More...
 
float getLODScale () const
 Get the LOD bias. More...
 
void setSmallFeatureCullingPixelSize (float value)
 Threshold at which small features are culled. More...
 
float getSmallFeatureCullingPixelSize () const
 Get the Small Feature Culling Pixel Size. More...
 
void setClampProjectionMatrixCallback (ClampProjectionMatrixCallback *cpmc)
 set the ClampProjectionMatrixCallback. More...
 
ClampProjectionMatrixCallbackgetClampProjectionMatrixCallback ()
 get the non const ClampProjectionMatrixCallback. More...
 
const ClampProjectionMatrixCallbackgetClampProjectionMatrixCallback () const
 get the const ClampProjectionMatrixCallback. More...
 
void write (std::ostream &out)
 Write out internal settings of CullSettings. More...
 

Static Public Attributes

static const unsigned int FACE_CONTROLLED_BY_GEOMETRY_SHADER
 

Protected Member Functions

virtual ~Camera ()
 
- Protected Member Functions inherited from osg::Transform
virtual ~Transform ()
 
- Protected Member Functions inherited from osg::Group
virtual ~Group ()
 
virtual void childRemoved (unsigned int, unsigned int)
 
virtual void childInserted (unsigned int)
 
- Protected Member Functions inherited from osg::Node
virtual ~Node ()
 Node destructor. More...
 
void addParent (osg::Group *parent)
 
void removeParent (osg::Group *parent)
 
void setNumChildrenRequiringUpdateTraversal (unsigned int num)
 
void setNumChildrenRequiringEventTraversal (unsigned int num)
 
void setNumChildrenWithCullingDisabled (unsigned int num)
 
void setNumChildrenWithOccluderNodes (unsigned int num)
 
- Protected Member Functions inherited from osg::Object
virtual ~Object ()
 Object destructor. More...
 
- Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
 
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
 
void deleteUsingDeleteHandler () const
 

Protected Attributes

OpenThreads::Mutex _dataChangeMutex
 
View_view
 
osg::ref_ptr< osg::Stats_stats
 
bool _allowEventFocus
 
osg::ref_ptr< osg::DisplaySettings_displaySettings
 
GLbitfield _clearMask
 
osg::Vec4 _clearColor
 
osg::Vec4 _clearAccum
 
double _clearDepth
 
int _clearStencil
 
ref_ptr< ColorMask_colorMask
 
ref_ptr< Viewport_viewport
 
TransformOrder _transformOrder
 
ProjectionResizePolicy _projectionResizePolicy
 
Matrixd _projectionMatrix
 
Matrixd _viewMatrix
 
RenderOrder _renderOrder
 
int _renderOrderNum
 
GLenum _drawBuffer
 
GLenum _readBuffer
 
RenderTargetImplementation _renderTargetImplementation
 
RenderTargetImplementation _renderTargetFallback
 
BufferAttachmentMap _bufferAttachmentMap
 
ImplicitBufferAttachmentMask _implicitBufferAttachmentRenderMask
 
ImplicitBufferAttachmentMask _implicitBufferAttachmentResolveMask
 
unsigned int _attachmentMapModifiedCount
 
ref_ptr< OperationThread_cameraThread
 
ref_ptr< GraphicsContext_graphicsContext
 
ref_ptr< GraphicsOperation_renderer
 
ref_ptr< Object_renderingCache
 
ref_ptr< DrawCallback_initialDrawCallback
 
ref_ptr< DrawCallback_preDrawCallback
 
ref_ptr< DrawCallback_postDrawCallback
 
ref_ptr< DrawCallback_finalDrawCallback
 
- Protected Attributes inherited from osg::Transform
ReferenceFrame _referenceFrame
 
- Protected Attributes inherited from osg::Group
NodeList _children
 
- Protected Attributes inherited from osg::Node
BoundingSphere _initialBound
 
ref_ptr< ComputeBoundingSphereCallback_computeBoundCallback
 
BoundingSphere _boundingSphere
 
bool _boundingSphereComputed
 
ParentList _parents
 
ref_ptr< Callback_updateCallback
 
unsigned int _numChildrenRequiringUpdateTraversal
 
ref_ptr< Callback_eventCallback
 
unsigned int _numChildrenRequiringEventTraversal
 
ref_ptr< Callback_cullCallback
 
bool _cullingActive
 
unsigned int _numChildrenWithCullingDisabled
 
unsigned int _numChildrenWithOccluderNodes
 
NodeMask _nodeMask
 
ref_ptr< StateSet_stateset
 
- Protected Attributes inherited from osg::Object
std::string _name
 
DataVariance _dataVariance
 
osg::UserDataContainer_userDataContainer
 
- Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
 
OpenThreads::Atomic _refCount
 
- Protected Attributes inherited from osg::CullSettings
InheritanceMask _inheritanceMask
 
InheritanceMaskActionOnAttributeSetting _inheritanceMaskActionOnAttributeSetting
 
ComputeNearFarMode _computeNearFar
 
CullingMode _cullingMode
 
float _LODScale
 
float _smallFeatureCullingPixelSize
 
ref_ptr< ClampProjectionMatrixCallback_clampProjectionMatrixCallback
 
double _nearFarRatio
 
bool _impostorActive
 
bool _depthSortImpostorSprites
 
float _impostorPixelErrorThreshold
 
int _numFramesToKeepImpostorSprites
 
Node::NodeMask _cullMask
 
Node::NodeMask _cullMaskLeft
 
Node::NodeMask _cullMaskRight
 

Additional Inherited Members

- Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * getGlobalReferencedMutex ()
 Get the optional global Referenced mutex, this can be shared between all osg::Referenced. More...
 
static void setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
 Set whether reference counting should use a mutex for thread safe reference counting. More...
 
static bool getThreadSafeReferenceCounting ()
 Get whether reference counting is active. More...
 
static void setDeleteHandler (DeleteHandler *handler)
 Set a DeleteHandler to which deletion of all referenced counted objects will be delegated. More...
 
static DeleteHandlergetDeleteHandler ()
 Get a DeleteHandler. More...
 

Detailed Description

Camera - is a subclass of Transform which represents encapsulates the settings of a Camera.

Member Typedef Documentation

Member Enumeration Documentation

Enumerator
DEPTH_BUFFER 
STENCIL_BUFFER 
PACKED_DEPTH_STENCIL_BUFFER 
COLOR_BUFFER 
COLOR_BUFFER0 
COLOR_BUFFER1 
COLOR_BUFFER2 
COLOR_BUFFER3 
COLOR_BUFFER4 
COLOR_BUFFER5 
COLOR_BUFFER6 
COLOR_BUFFER7 
COLOR_BUFFER8 
COLOR_BUFFER9 
COLOR_BUFFER10 
COLOR_BUFFER11 
COLOR_BUFFER12 
COLOR_BUFFER13 
COLOR_BUFFER14 
COLOR_BUFFER15 

Explicit control over implicit allocation of buffers when using FBO.

Implicit buffers are automatically substituted when user have not attached such buffer.

Camera may set up two FBOs: primary Render FBO and secondary Resolve FBO for multisample usage. So in practice we have two masks defined for the Camera: implicitBufferAttachmentRenderMask implicitBufferAttachmentResolveMask They can be set together by setImplicitBufferAttachmentMask method, or separately by setImplicitBufferAttachmentRenderMask and setImplicitBufferAttachmentResolveMask.

Camera defaults are USE_DISPLAY_SETTINGS_MASK which means that by default Camera chooses to substitute buffer attachments as defined by DisplaySettings.

Usually DisplaySettings implicit buffer attachment selection defaults to: DEPTH and COLOR for both primary (Render) FBO and seconday Multisample (Resolve) FBO ie: IMPLICIT_DEPTH_BUFFER_ATTACHMENT | IMPLICIT_COLOR_BUFFER_ATTACHMENT

If these masks are not changed and user did not attach depth buffer and/or color buffer to Camera, then OSG implicitly substitutes these buffers. By default it does not implicitly allocate a stencil buffer. Use implicit buffer attachment masks to override default behavior: to turn off DEPTH or COLOR buffer substitution or to enforce STENCIL buffer substitution.

Note that both values are ignored if not using FBO. Note that the second mask value is ignored if not using MSFBO.

Enumerator
IMPLICIT_DEPTH_BUFFER_ATTACHMENT 
IMPLICIT_STENCIL_BUFFER_ATTACHMENT 
IMPLICIT_COLOR_BUFFER_ATTACHMENT 
USE_DISPLAY_SETTINGS_MASK 
Enumerator
FIXED 

Keep the projection matrix fixed, despite window resizes.

HORIZONTAL 

Adjust the HORIZONTAL field of view on window resizes.

VERTICAL 

Adjust the VERTICAL field of view on window resizes.

Enumerator
PRE_RENDER 
NESTED_RENDER 
POST_RENDER 
Enumerator
FRAME_BUFFER_OBJECT 
PIXEL_BUFFER_RTT 
PIXEL_BUFFER 
FRAME_BUFFER 
SEPARATE_WINDOW 
Enumerator
RESIZE_VIEWPORT 
RESIZE_ATTACHMENTS 
RESIZE_PROJECTIONMATRIX 
RESIZE_DEFAULT 
Enumerator
PRE_MULTIPLY 
POST_MULTIPLY 

Constructor & Destructor Documentation

osg::Camera::Camera ( )
osg::Camera::Camera ( const Camera ,
const CopyOp copyop = CopyOp::SHALLOW_COPY 
)

Copy constructor using CopyOp to manage deep vs shallow copy.

virtual osg::Camera::~Camera ( )
protectedvirtual

Member Function Documentation

virtual Camera* osg::Camera::asCamera ( )
inlinevirtual

Convert 'this' into a Camera pointer if Node is a Camera, otherwise return 0.

Equivalent to dynamic_cast<Camera*>(this).

Reimplemented from osg::Node.

virtual const Camera* osg::Camera::asCamera ( ) const
inlinevirtual

convert 'const this' into a const Camera pointer if Node is a Camera, otherwise return 0.

Equivalent to dynamic_cast<const Camera*>(this).

Reimplemented from osg::Node.

void osg::Camera::attach ( BufferComponent  buffer,
GLenum  internalFormat 
)

Attach a buffer with specified OpenGL internal format.

void osg::Camera::attach ( BufferComponent  buffer,
osg::Texture texture,
unsigned int  level = 0,
unsigned int  face = 0,
bool  mipMapGeneration = false,
unsigned int  multisampleSamples = 0,
unsigned int  multisampleColorSamples = 0 
)

Attach a Texture to specified buffer component.

The level parameter controls the mip map level of the texture that is attached. The face parameter controls the face of texture cube map or z level of 3d texture. The mipMapGeneration flag controls whether mipmap generation should be done for texture.

void osg::Camera::attach ( BufferComponent  buffer,
osg::Image image,
unsigned int  multisampleSamples = 0,
unsigned int  multisampleColorSamples = 0 
)

Attach a Image to specified buffer component.

virtual bool osg::Camera::computeLocalToWorldMatrix ( Matrix matrix,
NodeVisitor  
) const
virtual

Transform method that must be defined to provide generic interface for scene graph traversals.

Reimplemented from osg::Transform.

virtual bool osg::Camera::computeWorldToLocalMatrix ( Matrix matrix,
NodeVisitor  
) const
virtual

Transform method that must be defined to provide generic interface for scene graph traversals.

Reimplemented from osg::Transform.

void osg::Camera::createCameraThread ( )

Create a operation thread for this camera.

void osg::Camera::detach ( BufferComponent  buffer)

Detach specified buffer component.

void osg::Camera::dirtyAttachmentMap ( )
inline

Increment the _attachementMapModifiedCount so that the rendering backend will know that it needs to be updated to handle any new settings (such as format change/resizes.).

bool osg::Camera::getAllowEventFocus ( ) const
inline

Get whether this camera allows events to be generated by the associated graphics window to be associated with this camera.

unsigned int osg::Camera::getAttachmentMapModifiedCount ( ) const
inline

Get the AttachmentMapModifiedCount.

BufferAttachmentMap& osg::Camera::getBufferAttachmentMap ( )
inline

Get the BufferAttachmentMap, used to configure frame buffer objects, pbuffers and texture reads.

const BufferAttachmentMap& osg::Camera::getBufferAttachmentMap ( ) const
inline

Get the const BufferAttachmentMap, used to configure frame buffer objects, pbuffers and texture reads.

OperationThread* osg::Camera::getCameraThread ( )
inline

Get the operation thread assigned to this camera.

const OperationThread* osg::Camera::getCameraThread ( ) const
inline

Get the const operation thread assigned to this camera.

const osg::Vec4& osg::Camera::getClearAccum ( ) const
inline

Get the clear accum value.

const osg::Vec4& osg::Camera::getClearColor ( ) const
inline

Get the clear color.

double osg::Camera::getClearDepth ( ) const
inline

Get the clear depth value.

GLbitfield osg::Camera::getClearMask ( ) const
inline

Get the clear mask.

int osg::Camera::getClearStencil ( ) const
inline

Get the clear stencil value.

const ColorMask* osg::Camera::getColorMask ( ) const
inline

Get the const ColorMask.

ColorMask* osg::Camera::getColorMask ( )
inline

Get the ColorMask.

OpenThreads::Mutex* osg::Camera::getDataChangeMutex ( ) const
inline
osg::DisplaySettings* osg::Camera::getDisplaySettings ( )
inline

Get the DisplaySettings object associated with this view.

const osg::DisplaySettings* osg::Camera::getDisplaySettings ( ) const
inline

Get the const DisplaySettings object associated with this view.

GLenum osg::Camera::getDrawBuffer ( ) const
inline

Get the draw buffer used at the start of each frame draw.

DrawCallback* osg::Camera::getFinalDrawCallback ( )
inline

Get the final draw callback.

const DrawCallback* osg::Camera::getFinalDrawCallback ( ) const
inline

Get the const final draw callback.

GraphicsContext* osg::Camera::getGraphicsContext ( )
inline

Get the GraphicsContext.

const GraphicsContext* osg::Camera::getGraphicsContext ( ) const
inline

Get the const GraphicsContext.

ImplicitBufferAttachmentMask osg::Camera::getImplicitBufferAttachmentRenderMask ( ) const
inline
ImplicitBufferAttachmentMask osg::Camera::getImplicitBufferAttachmentRenderMask ( bool  effectiveMask) const
inline

Get mask selecting implicit buffer attachments for Camera primary FBO if effectiveMask parameter is set, method follows USE_DISPLAY_SETTINGS_MASK dependence and returns effective mask if effectiveMask parameter is reset, method returns nominal mask set by the Camera.

ImplicitBufferAttachmentMask osg::Camera::getImplicitBufferAttachmentResolveMask ( ) const
inline
ImplicitBufferAttachmentMask osg::Camera::getImplicitBufferAttachmentResolveMask ( bool  effectiveMask) const
inline

Get mask selecting implicit buffer attachments for Camera secondary MULTISAMPLE FBO if effectiveMask parameter is set, method follows USE_DISPLAY_SETTINGS_MASK dependence and returns effective mask if effectiveMask parameter is reset, method returns nominal mask set by the Camera.

DrawCallback* osg::Camera::getInitialDrawCallback ( )
inline

Get the initial draw callback.

const DrawCallback* osg::Camera::getInitialDrawCallback ( ) const
inline

Get the const initial draw callback.

Matrixd osg::Camera::getInverseViewMatrix ( ) const

Get the inverse view matrix.

DrawCallback* osg::Camera::getPostDrawCallback ( )
inline

Get the post draw callback.

const DrawCallback* osg::Camera::getPostDrawCallback ( ) const
inline

Get the const post draw callback.

DrawCallback* osg::Camera::getPreDrawCallback ( )
inline

Get the pre draw callback.

const DrawCallback* osg::Camera::getPreDrawCallback ( ) const
inline

Get the const pre draw callback.

osg::Matrixd& osg::Camera::getProjectionMatrix ( )
inline

Get the projection matrix.

const osg::Matrixd& osg::Camera::getProjectionMatrix ( ) const
inline

Get the const projection matrix.

bool osg::Camera::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 osg::Camera::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 osg::Camera::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.

ProjectionResizePolicy osg::Camera::getProjectionResizePolicy ( ) const
inline

Get the policy used to determine if and how the projection matrix should be adjusted on window resizes.

GLenum osg::Camera::getReadBuffer ( ) const
inline

Get the read buffer for any required copy operations to use.

osg::GraphicsOperation* osg::Camera::getRenderer ( )
inline

Get the Rendering object that is used to implement rendering of the subgraph.

const osg::GraphicsOperation* osg::Camera::getRenderer ( ) const
inline

Get the const Rendering object that is used to implement rendering of the subgraph.

osg::Object* osg::Camera::getRenderingCache ( )
inline

Get the Rendering cache that is used for cached objects associated with rendering of subgraphs.

const osg::Object* osg::Camera::getRenderingCache ( ) const
inline

Get the const Rendering cache that is used for cached objects associated with rendering of subgraphs.

RenderOrder osg::Camera::getRenderOrder ( ) const
inline

Get the rendering order of this camera's subgraph relative to any camera that this subgraph is nested within.

int osg::Camera::getRenderOrderNum ( ) const
inline

Get the rendering order number of this camera relative to any sibling cameras in this subgraph.

RenderTargetImplementation osg::Camera::getRenderTargetFallback ( ) const
inline

Get the render target fallback.

RenderTargetImplementation osg::Camera::getRenderTargetImplementation ( ) const
inline

Get the render target.

osg::Stats* osg::Camera::getStats ( )
inline

Get the Stats object.

const osg::Stats* osg::Camera::getStats ( ) const
inline

Get the const Stats object.

TransformOrder osg::Camera::getTransformOrder ( ) const
inline

Get the transformation order.

View* osg::Camera::getView ( )
inline

Get the View that this Camera is part of.

const View* osg::Camera::getView ( ) const
inline

Get the const View that this Camera is part of.

osg::Matrixd& osg::Camera::getViewMatrix ( )
inline

Get the view matrix.

const osg::Matrixd& osg::Camera::getViewMatrix ( ) const
inline

Get the const view matrix.

void osg::Camera::getViewMatrixAsLookAt ( osg::Vec3d eye,
osg::Vec3d center,
osg::Vec3d up,
double  lookDistance = 1.0 
) const

Get to the position and orientation of a modelview matrix, using the same convention as gluLookAt.

void osg::Camera::getViewMatrixAsLookAt ( osg::Vec3f eye,
osg::Vec3f center,
osg::Vec3f up,
float  lookDistance = 1.0f 
) const

Get to the position and orientation of a modelview matrix, using the same convention as gluLookAt.

const Viewport* osg::Camera::getViewport ( ) const
inline

Get the const viewport.

Viewport* osg::Camera::getViewport ( )
inline

Get the viewport.

virtual void osg::Camera::inheritCullSettings ( const 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.

bool osg::Camera::isRenderToTextureCamera ( ) const

Return true if this Camera is set up as a render to texture camera, i.e.

it has textures assigned to it.

osg::Camera::META_Node ( osg  ,
Camera   
)
virtual void osg::Camera::releaseGLObjects ( osg::State = 0) const
virtual

If State is non-zero, this function releases any associated OpenGL objects for the specified graphics context.

Otherwise, releases OpenGL objexts for all graphics contexts.

Reimplemented from osg::Group.

void osg::Camera::resize ( int  width,
int  height,
int  resizeMask = RESIZE_DEFAULT 
)

Resize, to the specified width and height, the viewport, attachments and projection matrix according to the resizeMask provided.

Note, the adjustment of the projection matrix is done if the RESIZE_PROJECTIONMATRIX mask to set and according to the rules specified in the ProjectionResizePolicy.

void osg::Camera::resizeAttachments ( int  width,
int  height 
)

Resize the image and textures in the AttachementMap.

virtual void osg::Camera::resizeGLObjectBuffers ( unsigned int  maxSize)
virtual

Resize any per context GLObject buffers to specified size.

Reimplemented from osg::Group.

void osg::Camera::setAllowEventFocus ( bool  focus)
inline

Set whether this camera allows events to be generated by the associated graphics window to be associated with this camera.

void osg::Camera::setAttachmentMapModifiedCount ( unsigned int  v)
inline

Set the AttachmentMapModifiedCount to a specific value.

Note, normal usage you would simply call dirtyAttachmentMap().

void osg::Camera::setCameraThread ( OperationThread gt)

Assign a operation thread to the camera.

void osg::Camera::setClearAccum ( const osg::Vec4 color)
inline

Set the clear accum used in glClearAccum().

glClearAcumm is only called if mask & GL_ACCUM_BUFFER_BIT is true.

void osg::Camera::setClearColor ( const osg::Vec4 color)
inline

Set the clear color used in glClearColor().

glClearColor is only called if mask & GL_COLOR_BUFFER_BIT is true

void osg::Camera::setClearDepth ( double  depth)
inline

Set the clear depth used in glClearDepth().

Defaults to 1.0 glClearDepth is only called if mask & GL_DEPTH_BUFFER_BIT is true.

void osg::Camera::setClearMask ( GLbitfield  mask)
inline

Set the clear mask used in glClear().

Defaults to GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT.

void osg::Camera::setClearStencil ( int  stencil)
inline

Set the clear stencil value used in glClearStencil().

Defaults to 0; glClearStencil is only called if mask & GL_STENCIL_BUFFER_BIT is true

void osg::Camera::setColorMask ( osg::ColorMask colorMask)

Set the color mask of the camera to use specified osg::ColorMask.

void osg::Camera::setColorMask ( bool  red,
bool  green,
bool  blue,
bool  alpha 
)

Set the color mask of the camera to specified values.

void osg::Camera::setDisplaySettings ( osg::DisplaySettings ds)
inline

Set the DisplaySettings object associated with this view.

void osg::Camera::setDrawBuffer ( GLenum  buffer)
inline

Set the draw buffer used at the start of each frame draw.

Note, a buffer value of GL_NONE is used to specify that the rendering back-end should choose the most appropriate buffer.

void osg::Camera::setFinalDrawCallback ( DrawCallback cb)
inline

Set the final draw callback for custom operations to be done after the drawing of the camera's subgraph and all of the post render stages has been completed.

void osg::Camera::setGraphicsContext ( GraphicsContext context)

Set the GraphicsContext that provides the mechansim for managing the OpenGL graphics context associated with this camera.

void osg::Camera::setImplicitBufferAttachmentRenderMask ( ImplicitBufferAttachmentMask  implicitBufferAttachmentRenderMask)
inline
void osg::Camera::setImplicitBufferAttachmentResolveMask ( ImplicitBufferAttachmentMask  implicitBufferAttachmentResolveMask)
inline
void osg::Camera::setInitialDrawCallback ( DrawCallback cb)
inline

Set the initial draw callback for custom operations to be done before the drawing of the camera's subgraph and pre render stages.

void osg::Camera::setPostDrawCallback ( DrawCallback cb)
inline

Set the post draw callback for custom operations to be done after the drawing of the camera's subgraph but before the any post render stages have been completed.

void osg::Camera::setPreDrawCallback ( DrawCallback cb)
inline

Set the pre draw callback for custom operations to be done before the drawing of the camera's subgraph but after any pre render stages have been completed.

void osg::Camera::setProjectionMatrix ( const osg::Matrixf matrix)
inline

Set the projection matrix.

Can be thought of as setting the lens of a camera.

void osg::Camera::setProjectionMatrix ( const osg::Matrixd matrix)
inline

Set the projection matrix.

Can be thought of as setting the lens of a camera.

void osg::Camera::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 osg::Camera::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 osg::Camera::setProjectionMatrixAsOrtho2D ( double  left,
double  right,
double  bottom,
double  top 
)

Set to a 2D orthographic projection.

See OpenGL glOrtho2D documentation for further details.

void osg::Camera::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.

void osg::Camera::setProjectionResizePolicy ( ProjectionResizePolicy  policy)
inline

Set the policy used to determine if and how the projection matrix should be adjusted on window resizes.

void osg::Camera::setReadBuffer ( GLenum  buffer)
inline

Set the read buffer for any required copy operations to use.

Note, a buffer value of GL_NONE is used to specify that the rendering back-end should choose the most appropriate buffer.

void osg::Camera::setRenderer ( osg::GraphicsOperation rc)
inline

Set the Rendering object that is used to implement rendering of the subgraph.

void osg::Camera::setRenderingCache ( osg::Object rc)
inline

Set the Rendering cache that is used for cached objects associated with rendering of subgraphs.

void osg::Camera::setRenderOrder ( RenderOrder  order,
int  orderNum = 0 
)
inline

Set the rendering order of this camera's subgraph relative to any camera that this subgraph is nested within.

For rendering to a texture, one typically uses PRE_RENDER. For Head Up Displays, one would typically use POST_RENDER.

void osg::Camera::setRenderTargetImplementation ( RenderTargetImplementation  impl)

Set the render target.

void osg::Camera::setRenderTargetImplementation ( RenderTargetImplementation  impl,
RenderTargetImplementation  fallback 
)

Set the render target and fall-back that's used if the former isn't available.

void osg::Camera::setStats ( osg::Stats stats)
inline

Set the Stats object used to collect various frame related timing and scene graph stats.

void osg::Camera::setTransformOrder ( TransformOrder  order)
inline

Set the transformation order for world-to-local and local-to-world transformation.

void osg::Camera::setView ( View view)
inline

Set the View that this Camera is part of.

void osg::Camera::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 osg::Camera::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 osg::Camera::setViewMatrixAsLookAt ( const osg::Vec3d eye,
const osg::Vec3d center,
const osg::Vec3d up 
)

Set to the position and orientation of view matrix, using the same convention as gluLookAt.

void osg::Camera::setViewport ( osg::Viewport viewport)

Set the viewport of the camera to use specified osg::Viewport.

void osg::Camera::setViewport ( int  x,
int  y,
int  width,
int  height 
)

Set the viewport of the camera to specified dimensions.

Member Data Documentation

bool osg::Camera::_allowEventFocus
protected
unsigned int osg::Camera::_attachmentMapModifiedCount
protected
BufferAttachmentMap osg::Camera::_bufferAttachmentMap
protected
ref_ptr<OperationThread> osg::Camera::_cameraThread
protected
osg::Vec4 osg::Camera::_clearAccum
protected
osg::Vec4 osg::Camera::_clearColor
protected
double osg::Camera::_clearDepth
protected
GLbitfield osg::Camera::_clearMask
protected
int osg::Camera::_clearStencil
protected
ref_ptr<ColorMask> osg::Camera::_colorMask
protected
OpenThreads::Mutex osg::Camera::_dataChangeMutex
mutableprotected
osg::ref_ptr<osg::DisplaySettings> osg::Camera::_displaySettings
protected
GLenum osg::Camera::_drawBuffer
protected
ref_ptr<DrawCallback> osg::Camera::_finalDrawCallback
protected
ref_ptr<GraphicsContext> osg::Camera::_graphicsContext
protected
ImplicitBufferAttachmentMask osg::Camera::_implicitBufferAttachmentRenderMask
protected
ImplicitBufferAttachmentMask osg::Camera::_implicitBufferAttachmentResolveMask
protected
ref_ptr<DrawCallback> osg::Camera::_initialDrawCallback
protected
ref_ptr<DrawCallback> osg::Camera::_postDrawCallback
protected
ref_ptr<DrawCallback> osg::Camera::_preDrawCallback
protected
Matrixd osg::Camera::_projectionMatrix
protected
ProjectionResizePolicy osg::Camera::_projectionResizePolicy
protected
GLenum osg::Camera::_readBuffer
protected
ref_ptr<GraphicsOperation> osg::Camera::_renderer
protected
ref_ptr<Object> osg::Camera::_renderingCache
protected
RenderOrder osg::Camera::_renderOrder
protected
int osg::Camera::_renderOrderNum
protected
RenderTargetImplementation osg::Camera::_renderTargetFallback
protected
RenderTargetImplementation osg::Camera::_renderTargetImplementation
protected
osg::ref_ptr<osg::Stats> osg::Camera::_stats
protected
TransformOrder osg::Camera::_transformOrder
protected
View* osg::Camera::_view
protected
Matrixd osg::Camera::_viewMatrix
protected
ref_ptr<Viewport> osg::Camera::_viewport
protected
const unsigned int osg::Camera::FACE_CONTROLLED_BY_GEOMETRY_SHADER
static

The documentation for this class was generated from the following file:

osg logo
Generated at Wed Nov 11 2015 22:14:29 for the OpenSceneGraph by doxygen 1.8.10.