osgUtil::RenderStage Class Reference

Inheritance diagram for osgUtil::RenderStage:

osgUtil::RenderBin osg::Object osg::Referenced List of all members.

Public Member Functions

 RenderStage ()
 RenderStage (SortMode mode)
 RenderStage (const RenderStage &rhs, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
virtual osg::ObjectcloneType () const
virtual osg::Objectclone (const osg::CopyOp &copyop) const
virtual bool isSameKindAs (const osg::Object *obj) const
virtual const char * className () const
virtual void reset ()
void setDrawBuffer (GLenum buffer)
GLenum getDrawBuffer () const
void setReadBuffer (GLenum buffer)
GLenum getReadBuffer () const
void setViewport (osg::Viewport *viewport)
const osg::ViewportgetViewport () const
osg::ViewportgetViewport ()
void setClearMask (GLbitfield mask)
GLbitfield getClearMask () const
void setColorMask (osg::ColorMask *cm)
osg::ColorMaskgetColorMask ()
const osg::ColorMaskgetColorMask () const
void setClearColor (const osg::Vec4 &color)
const osg::Vec4getClearColor () const
void setClearAccum (const osg::Vec4 &color)
const osg::Vec4getClearAccum () const
void setClearDepth (double depth)
double getClearDepth () const
void setClearStencil (int stencil)
int getClearStencil () const
void setCameraNode (osg::CameraNode *camera)
osg::CameraNodegetCameraNode ()
const osg::CameraNodegetCameraNode () const
void setCameraRequiresSetUp (bool flag)
bool getCameraRequiresSetUp () const
void runCameraSetUp (osg::State &state)
void setTexture (osg::Texture *texture, unsigned int level=0, unsigned int face=0)
osg::TexturegetTexture ()
void setImage (osg::Image *image)
osg::ImagegetImage ()
void setImageReadPixelFormat (GLenum format)
GLenum getImageReadPixelFormat () const
void setImageReadPixelDataType (GLenum type)
GLenum getImageReadPixelDataType () const
void setFrameBufferObject (osg::FrameBufferObject *fbo)
osg::FrameBufferObjectgetFrameBufferObject ()
const osg::FrameBufferObjectgetFrameBufferObject () const
void setGraphicsContext (osg::GraphicsContext *context)
osg::GraphicsContextgetGraphicsContext ()
const osg::GraphicsContextgetGraphicsContext () const
void setInheritedPositionalStateContainerMatrix (const osg::Matrix &matrix)
const osg::MatrixgetInheritedPositionalStateContainerMatrix () const
void setInheritedPositionalStateContainer (PositionalStateContainer *rsl)
PositionalStateContainergetInheritedPositionalStateContainer ()
void setPositionalStateContainer (PositionalStateContainer *rsl)
PositionalStateContainergetPositionalStateContainer () const
virtual void addPositionedAttribute (osg::RefMatrix *matrix, const osg::StateAttribute *attr)
virtual void addPositionedTextureAttribute (unsigned int textureUnit, osg::RefMatrix *matrix, const osg::StateAttribute *attr)
void copyTexture (osg::State &state)
virtual void sort ()
virtual void drawPreRenderStages (osg::State &state, RenderLeaf *&previous)
virtual void draw (osg::State &state, RenderLeaf *&previous)
virtual void drawInner (osg::State &state, RenderLeaf *&previous, bool &doCopyTexture)
virtual void drawPostRenderStages (osg::State &state, RenderLeaf *&previous)
virtual void drawImplementation (osg::State &state, RenderLeaf *&previous)
void addToDependencyList (RenderStage *rs)
void addPreRenderStage (RenderStage *rs, int order=0)
void addPostRenderStage (RenderStage *rs, int order=0)
bool getStats (Statistics &stats) const

Protected Types

typedef std::pair< int, osg::ref_ptr<
RenderStage > > 
RenderStageOrderPair
typedef std::list< RenderStageOrderPairRenderStageList

Protected Member Functions

virtual ~RenderStage ()

Protected Attributes

bool _stageDrawnThisFrame
RenderStageList _preRenderList
RenderStageList _postRenderList
osg::ref_ptr< osg::Viewport_viewport
GLenum _drawBuffer
GLenum _readBuffer
GLbitfield _clearMask
osg::ref_ptr< osg::ColorMask_colorMask
osg::Vec4 _clearColor
osg::Vec4 _clearAccum
double _clearDepth
int _clearStencil
bool _cameraRequiresSetUp
osg::CameraNode_camera
osg::ref_ptr< osg::Texture_texture
unsigned int _level
unsigned int _face
osg::ref_ptr< osg::Image_image
GLenum _imageReadPixelFormat
GLenum _imageReadPixelDataType
osg::ref_ptr< osg::FrameBufferObject_fbo
osg::ref_ptr< osg::GraphicsContext_graphicsContext
osg::Matrix _inheritedPositionalStateContainerMatrix
osg::ref_ptr< PositionalStateContainer_inheritedPositionalStateContainer
osg::ref_ptr< PositionalStateContainer_renderStageLighting

Detailed Description

RenderStage base class. Used for encapsulate a complete stage in rendering - setting up of viewport, the projection and model matrices and rendering the RenderBin's enclosed with this RenderStage. RenderStage also has a dependency list of other RenderStages, each of which must be called before the rendering of this stage. These 'pre' rendering stages are used for advanced rendering techniques like multistage pixel shading or impostors.


Member Typedef Documentation

typedef std::list< RenderStageOrderPair > osgUtil::RenderStage::RenderStageList [protected]

typedef std::pair< int , osg::ref_ptr<RenderStage> > osgUtil::RenderStage::RenderStageOrderPair [protected]


Constructor & Destructor Documentation

osgUtil::RenderStage::RenderStage (  ) 

osgUtil::RenderStage::RenderStage ( SortMode  mode  ) 

osgUtil::RenderStage::RenderStage ( const RenderStage rhs,
const osg::CopyOp copyop = osg::CopyOp::SHALLOW_COPY 
)

virtual osgUtil::RenderStage::~RenderStage (  )  [protected, virtual]


Member Function Documentation

virtual void osgUtil::RenderStage::addPositionedAttribute ( osg::RefMatrix matrix,
const osg::StateAttribute attr 
) [inline, virtual]

virtual void osgUtil::RenderStage::addPositionedTextureAttribute ( unsigned int  textureUnit,
osg::RefMatrix matrix,
const osg::StateAttribute attr 
) [inline, virtual]

void osgUtil::RenderStage::addPostRenderStage ( RenderStage rs,
int  order = 0 
)

void osgUtil::RenderStage::addPreRenderStage ( RenderStage rs,
int  order = 0 
)

void osgUtil::RenderStage::addToDependencyList ( RenderStage rs  )  [inline]

virtual const char* osgUtil::RenderStage::className (  )  const [inline, virtual]

return the name of the object's class type. Must be defined by derived classes.

Reimplemented from osgUtil::RenderBin.

virtual osg::Object* osgUtil::RenderStage::clone ( const osg::CopyOp copyop  )  const [inline, virtual]

Clone an object, with Object* return type. Must be defined by derived classes.

Reimplemented from osgUtil::RenderBin.

virtual osg::Object* osgUtil::RenderStage::cloneType (  )  const [inline, virtual]

Clone the type of an object, with Object* return type. Must be defined by derived classes.

Reimplemented from osgUtil::RenderBin.

void osgUtil::RenderStage::copyTexture ( osg::State state  ) 

virtual void osgUtil::RenderStage::draw ( osg::State state,
RenderLeaf *&  previous 
) [virtual]

Reimplemented from osgUtil::RenderBin.

virtual void osgUtil::RenderStage::drawImplementation ( osg::State state,
RenderLeaf *&  previous 
) [virtual]

Reimplemented from osgUtil::RenderBin.

virtual void osgUtil::RenderStage::drawInner ( osg::State state,
RenderLeaf *&  previous,
bool &  doCopyTexture 
) [virtual]

virtual void osgUtil::RenderStage::drawPostRenderStages ( osg::State state,
RenderLeaf *&  previous 
) [virtual]

virtual void osgUtil::RenderStage::drawPreRenderStages ( osg::State state,
RenderLeaf *&  previous 
) [virtual]

const osg::CameraNode* osgUtil::RenderStage::getCameraNode (  )  const [inline]

osg::CameraNode* osgUtil::RenderStage::getCameraNode (  )  [inline]

bool osgUtil::RenderStage::getCameraRequiresSetUp (  )  const [inline]

const osg::Vec4& osgUtil::RenderStage::getClearAccum (  )  const [inline]

Get the clear accum.

const osg::Vec4& osgUtil::RenderStage::getClearColor (  )  const [inline]

Get the clear color.

double osgUtil::RenderStage::getClearDepth (  )  const [inline]

Get the clear depth.

GLbitfield osgUtil::RenderStage::getClearMask (  )  const [inline]

Get the clear mask.

int osgUtil::RenderStage::getClearStencil (  )  const [inline]

Get the clear color.

const osg::ColorMask* osgUtil::RenderStage::getColorMask (  )  const [inline]

osg::ColorMask* osgUtil::RenderStage::getColorMask (  )  [inline]

GLenum osgUtil::RenderStage::getDrawBuffer (  )  const [inline]

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

const osg::FrameBufferObject* osgUtil::RenderStage::getFrameBufferObject (  )  const [inline]

osg::FrameBufferObject* osgUtil::RenderStage::getFrameBufferObject (  )  [inline]

const osg::GraphicsContext* osgUtil::RenderStage::getGraphicsContext (  )  const [inline]

osg::GraphicsContext* osgUtil::RenderStage::getGraphicsContext (  )  [inline]

osg::Image* osgUtil::RenderStage::getImage (  )  [inline]

GLenum osgUtil::RenderStage::getImageReadPixelDataType (  )  const [inline]

GLenum osgUtil::RenderStage::getImageReadPixelFormat (  )  const [inline]

PositionalStateContainer* osgUtil::RenderStage::getInheritedPositionalStateContainer (  )  [inline]

const osg::Matrix& osgUtil::RenderStage::getInheritedPositionalStateContainerMatrix (  )  const [inline]

PositionalStateContainer* osgUtil::RenderStage::getPositionalStateContainer (  )  const [inline]

GLenum osgUtil::RenderStage::getReadBuffer (  )  const [inline]

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

bool osgUtil::RenderStage::getStats ( Statistics stats  )  const

Extract stats for current draw list.

Reimplemented from osgUtil::RenderBin.

osg::Texture* osgUtil::RenderStage::getTexture (  )  [inline]

osg::Viewport* osgUtil::RenderStage::getViewport (  )  [inline]

Get the viewport.

const osg::Viewport* osgUtil::RenderStage::getViewport (  )  const [inline]

Get the const viewport.

virtual bool osgUtil::RenderStage::isSameKindAs ( const osg::Object obj  )  const [inline, virtual]

Reimplemented from osgUtil::RenderBin.

virtual void osgUtil::RenderStage::reset (  )  [virtual]

Reimplemented from osgUtil::RenderBin.

void osgUtil::RenderStage::runCameraSetUp ( osg::State state  ) 

Attempt the set the RenderStage from the Camera settings.

void osgUtil::RenderStage::setCameraNode ( osg::CameraNode camera  )  [inline]

void osgUtil::RenderStage::setCameraRequiresSetUp ( bool  flag  )  [inline]

void osgUtil::RenderStage::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 osgUtil::RenderStage::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 osgUtil::RenderStage::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 osgUtil::RenderStage::setClearMask ( GLbitfield  mask  )  [inline]

Set the clear mask used in glClear(..). Defaults to GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT.

void osgUtil::RenderStage::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 osgUtil::RenderStage::setColorMask ( osg::ColorMask cm  )  [inline]

void osgUtil::RenderStage::setDrawBuffer ( GLenum  buffer  )  [inline]

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

void osgUtil::RenderStage::setFrameBufferObject ( osg::FrameBufferObject fbo  )  [inline]

void osgUtil::RenderStage::setGraphicsContext ( osg::GraphicsContext context  )  [inline]

void osgUtil::RenderStage::setImage ( osg::Image image  )  [inline]

void osgUtil::RenderStage::setImageReadPixelDataType ( GLenum  type  )  [inline]

void osgUtil::RenderStage::setImageReadPixelFormat ( GLenum  format  )  [inline]

void osgUtil::RenderStage::setInheritedPositionalStateContainer ( PositionalStateContainer rsl  )  [inline]

void osgUtil::RenderStage::setInheritedPositionalStateContainerMatrix ( const osg::Matrix matrix  )  [inline]

void osgUtil::RenderStage::setPositionalStateContainer ( PositionalStateContainer rsl  )  [inline]

void osgUtil::RenderStage::setReadBuffer ( GLenum  buffer  )  [inline]

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

void osgUtil::RenderStage::setTexture ( osg::Texture texture,
unsigned int  level = 0,
unsigned int  face = 0 
) [inline]

void osgUtil::RenderStage::setViewport ( osg::Viewport viewport  )  [inline]

Set the viewport.

virtual void osgUtil::RenderStage::sort (  )  [virtual]

Reimplemented from osgUtil::RenderBin.


Member Data Documentation

osg::CameraNode* osgUtil::RenderStage::_camera [protected]

bool osgUtil::RenderStage::_cameraRequiresSetUp [protected]

osg::Vec4 osgUtil::RenderStage::_clearAccum [protected]

osg::Vec4 osgUtil::RenderStage::_clearColor [protected]

double osgUtil::RenderStage::_clearDepth [protected]

GLbitfield osgUtil::RenderStage::_clearMask [protected]

int osgUtil::RenderStage::_clearStencil [protected]

osg::ref_ptr<osg::ColorMask> osgUtil::RenderStage::_colorMask [protected]

GLenum osgUtil::RenderStage::_drawBuffer [protected]

unsigned int osgUtil::RenderStage::_face [protected]

osg::ref_ptr<osg::FrameBufferObject> osgUtil::RenderStage::_fbo [protected]

osg::ref_ptr<osg::GraphicsContext> osgUtil::RenderStage::_graphicsContext [protected]

osg::ref_ptr<osg::Image> osgUtil::RenderStage::_image [protected]

GLenum osgUtil::RenderStage::_imageReadPixelDataType [protected]

GLenum osgUtil::RenderStage::_imageReadPixelFormat [protected]

osg::ref_ptr<PositionalStateContainer> osgUtil::RenderStage::_inheritedPositionalStateContainer [mutable, protected]

osg::Matrix osgUtil::RenderStage::_inheritedPositionalStateContainerMatrix [mutable, protected]

unsigned int osgUtil::RenderStage::_level [protected]

RenderStageList osgUtil::RenderStage::_postRenderList [protected]

RenderStageList osgUtil::RenderStage::_preRenderList [protected]

GLenum osgUtil::RenderStage::_readBuffer [protected]

osg::ref_ptr<PositionalStateContainer> osgUtil::RenderStage::_renderStageLighting [mutable, protected]

bool osgUtil::RenderStage::_stageDrawnThisFrame [protected]

osg::ref_ptr<osg::Texture> osgUtil::RenderStage::_texture [protected]

osg::ref_ptr<osg::Viewport> osgUtil::RenderStage::_viewport [protected]


The documentation for this class was generated from the following file:
Generated on Sun Oct 1 13:17:14 2006 for openscenegraph by  doxygen 1.4.7