osgUtil::RenderStage Class Reference

RenderStage base class. More...

Inheritance diagram for osgUtil::RenderStage:

Inheritance graph
[legend]

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::Object * cloneType () const
 Clone the type of an object, with Object* return type.
virtual osg::Object * clone (const osg::CopyOp &copyop) const
 Clone an object, with Object* return type.
virtual bool isSameKindAs (const osg::Object *obj) const
virtual const char * className () const
 return the name of the object's class type.
virtual void reset ()
void setDrawBuffer (GLenum buffer)
 Set the draw buffer used at the start of each frame draw.
GLenum getDrawBuffer () const
 Get the draw buffer used at the start of each frame draw.
void setReadBuffer (GLenum buffer)
 Set the read buffer for any required copy operations to use.
GLenum getReadBuffer () const
 Get the read buffer for any required copy operations to use.
void setViewport (osg::Viewport *viewport)
 Set the viewport.
const osg::Viewport * getViewport () const
 Get the const viewport.
osg::Viewport * getViewport ()
 Get the viewport.
void setClearMask (GLbitfield mask)
 Set the clear mask used in glClear(.
GLbitfield getClearMask () const
 Get the clear mask.
void setColorMask (osg::ColorMask *cm)
osg::ColorMask * getColorMask ()
const osg::ColorMask * getColorMask () const
void setClearColor (const osg::Vec4 &color)
 Set the clear color used in glClearColor(.
const osg::Vec4 & getClearColor () const
 Get the clear color.
void setClearAccum (const osg::Vec4 &color)
 Set the clear accum used in glClearAccum(.
const osg::Vec4 & getClearAccum () const
 Get the clear accum.
void setClearDepth (double depth)
 Set the clear depth used in glClearDepth(.
double getClearDepth () const
 Get the clear depth.
void setClearStencil (int stencil)
 Set the clear stencil value used in glClearStencil().
int getClearStencil () const
 Get the clear color.
void setCamera (osg::Camera *camera)
osg::Camera * getCamera ()
const osg::Camera * getCamera () const
void setCameraRequiresSetUp (bool flag)
bool getCameraRequiresSetUp () const
void runCameraSetUp (osg::RenderInfo &renderInfo)
 Attempt the set the RenderStage from the Camera settings.
void setTexture (osg::Texture *texture, unsigned int level=0, unsigned int face=0)
osg::Texture * getTexture ()
void setImage (osg::Image *image)
osg::Image * getImage ()
void setImageReadPixelFormat (GLenum format)
GLenum getImageReadPixelFormat () const
void setImageReadPixelDataType (GLenum type)
GLenum getImageReadPixelDataType () const
void setFrameBufferObject (osg::FrameBufferObject *fbo)
osg::FrameBufferObject * getFrameBufferObject ()
const
osg::FrameBufferObject * 
getFrameBufferObject () const
void setGraphicsContext (osg::GraphicsContext *context)
osg::GraphicsContext * getGraphicsContext ()
const
osg::GraphicsContext * 
getGraphicsContext () const
void setInheritedPositionalStateContainerMatrix (const osg::Matrix &matrix)
const osg::Matrix & getInheritedPositionalStateContainerMatrix () const
void setInheritedPositionalStateContainer (PositionalStateContainer *rsl)
PositionalStateContainer * getInheritedPositionalStateContainer ()
void setPositionalStateContainer (PositionalStateContainer *rsl)
PositionalStateContainer * getPositionalStateContainer () 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::RenderInfo &renderInfo)
virtual void sort ()
virtual void drawPreRenderStages (osg::RenderInfo &renderInfo, RenderLeaf *&previous)
virtual void draw (osg::RenderInfo &renderInfo, RenderLeaf *&previous)
virtual void drawInner (osg::RenderInfo &renderInfo, RenderLeaf *&previous, bool &doCopyTexture)
virtual void drawPostRenderStages (osg::RenderInfo &renderInfo, RenderLeaf *&previous)
virtual void drawImplementation (osg::RenderInfo &renderInfo, 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
 Extract stats for current draw list.
virtual unsigned int computeNumberOfDynamicRenderLeaves () const
 Compute the number of dynamic RenderLeaves.
void attach (osg::Camera::BufferComponent buffer, osg::Image *image)

Protected Types

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

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::Camera * _camera
osg::ref_ptr
< osg::Texture > 
_texture
unsigned int _level
unsigned int _face
osg::ref_ptr
< osg::Image > 
_image
GLenum _imageReadPixelFormat
GLenum _imageReadPixelDataType
std::map
< osg::Camera::BufferComponent,
Attachment > 
_bufferAttachmentMap
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

Classes

struct  Attachment


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::pair< int , osg::ref_ptr<RenderStage> > osgUtil::RenderStage::RenderStageOrderPair [protected]

typedef std::list< RenderStageOrderPair > osgUtil::RenderStage::RenderStageList [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 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.

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

Clone an object, with Object* return type.

Must be defined by derived classes.

Reimplemented from osgUtil::RenderBin.

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

Reimplemented from osgUtil::RenderBin.

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 void osgUtil::RenderStage::reset (  )  [virtual]

Reimplemented from osgUtil::RenderBin.

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

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

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

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

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

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

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

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

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

Set the viewport.

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

Get the const viewport.

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

Get the viewport.

void osgUtil::RenderStage::setClearMask ( GLbitfield  mask  )  [inline]

Set the clear mask used in glClear(.

.). Defaults to GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT.

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

Get the clear mask.

void osgUtil::RenderStage::setColorMask ( osg::ColorMask *  cm  )  [inline]

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

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

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

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

Get the clear color.

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.

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

Get the clear accum.

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.

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

Get the clear depth.

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

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

Get the clear color.

void osgUtil::RenderStage::setCamera ( osg::Camera *  camera  )  [inline]

osg::Camera* osgUtil::RenderStage::getCamera (  )  [inline]

const osg::Camera* osgUtil::RenderStage::getCamera (  )  const [inline]

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

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

void osgUtil::RenderStage::runCameraSetUp ( osg::RenderInfo &  renderInfo  ) 

Attempt the set the RenderStage from the Camera settings.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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::copyTexture ( osg::RenderInfo &  renderInfo  ) 

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

Reimplemented from osgUtil::RenderBin.

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

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

Reimplemented from osgUtil::RenderBin.

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

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

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

Reimplemented from osgUtil::RenderBin.

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

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

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

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

Extract stats for current draw list.

Reimplemented from osgUtil::RenderBin.

virtual unsigned int osgUtil::RenderStage::computeNumberOfDynamicRenderLeaves (  )  const [virtual]

Compute the number of dynamic RenderLeaves.

Reimplemented from osgUtil::RenderBin.

void osgUtil::RenderStage::attach ( osg::Camera::BufferComponent  buffer,
osg::Image *  image 
)


Member Data Documentation

bool osgUtil::RenderStage::_stageDrawnThisFrame [protected]

RenderStageList osgUtil::RenderStage::_preRenderList [protected]

RenderStageList osgUtil::RenderStage::_postRenderList [protected]

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

GLenum osgUtil::RenderStage::_drawBuffer [protected]

GLenum osgUtil::RenderStage::_readBuffer [protected]

GLbitfield osgUtil::RenderStage::_clearMask [protected]

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

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

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

double osgUtil::RenderStage::_clearDepth [protected]

int osgUtil::RenderStage::_clearStencil [protected]

bool osgUtil::RenderStage::_cameraRequiresSetUp [protected]

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

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

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

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

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

GLenum osgUtil::RenderStage::_imageReadPixelFormat [protected]

GLenum osgUtil::RenderStage::_imageReadPixelDataType [protected]

std::map< osg::Camera::BufferComponent, Attachment> osgUtil::RenderStage::_bufferAttachmentMap [protected]

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

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

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

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

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


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:52 2007 for the OpenSceneGraph by doxygen 1.5.3.