Public Member Functions | |
RenderStage () | |
RenderStage (SortMode mode) | |
RenderStage (const RenderStage &rhs, const osg::CopyOp ©op=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 ©op) 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 |
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.
typedef std::pair< int , osg::ref_ptr<RenderStage> > osgUtil::RenderStage::RenderStageOrderPair [protected] |
typedef std::list< RenderStageOrderPair > osgUtil::RenderStage::RenderStageList [protected] |
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] |
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 |
virtual unsigned int osgUtil::RenderStage::computeNumberOfDynamicRenderLeaves | ( | ) | const [virtual] |
void osgUtil::RenderStage::attach | ( | osg::Camera::BufferComponent | buffer, | |
osg::Image * | image | |||
) |
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::Matrix osgUtil::RenderStage::_inheritedPositionalStateContainerMatrix [mutable, protected] |
osg::ref_ptr<PositionalStateContainer> osgUtil::RenderStage::_inheritedPositionalStateContainer [mutable, protected] |
osg::ref_ptr<PositionalStateContainer> osgUtil::RenderStage::_renderStageLighting [mutable, protected] |