14#ifndef OSGUTIL_RENDERSTAGE
15#define OSGUTIL_RENDERSTAGE 1
52 virtual const char*
className()
const {
return "RenderStage"; }
58 void setDrawBuffer(GLenum buffer,
bool applyMask =
true ) { _drawBuffer = buffer; setDrawBufferApplyMask( applyMask ); }
72 void setReadBuffer(GLenum buffer,
bool applyMask =
true) { _readBuffer = buffer; setReadBufferApplyMask( applyMask ); }
141 void setCamera(
osg::Camera* camera) {
if (_camera!=camera) { _camera = camera; _cameraRequiresSetUp =
true; } }
155 void setTexture(
osg::Texture* texture,
unsigned int level = 0,
unsigned int face=0) { _texture = texture; _level = level; _face = face; }
207 return _renderStageLighting.get();
212 getPositionalStateContainer()->addPositionedAttribute(matrix,attr);
217 getPositionalStateContainer()->addPositionedTextureAttribute(textureUnit, matrix,attr);
277 typedef std::vector< osg::ref_ptr<osg::Camera> >
Cameras;
Definition PositionalStateContainer:30
SortMode
Definition RenderBin:42
Definition RenderStage:38
bool _cameraRequiresSetUp
Definition RenderStage:300
void setMultisampleResolveFramebufferObject(osg::FrameBufferObject *fbo)
virtual void drawPostRenderStages(osg::RenderInfo &renderInfo, RenderLeaf *&previous)
void setCamera(osg::Camera *camera)
Definition RenderStage:141
virtual void addPositionedAttribute(osg::RefMatrix *matrix, const osg::StateAttribute *attr)
Definition RenderStage:210
std::pair< int, osg::ref_ptr< RenderStage > > RenderStageOrderPair
Definition RenderStage:41
osg::ref_ptr< PositionalStateContainer > _renderStageLighting
Definition RenderStage:321
unsigned int _cameraAttachmentMapModifiedCount
Definition RenderStage:301
const RenderStageList & getPostRenderList() const
Definition RenderStage:244
osg::GraphicsContext * getGraphicsContext()
Definition RenderStage:190
osg::Vec4 _clearAccum
Definition RenderStage:296
void addPostRenderStage(RenderStage *rs, int order=0)
const osg::FrameBufferObject * getFrameBufferObject() const
Definition RenderStage:172
bool getDisableFboAfterRender() const
Definition RenderStage:187
GLenum getImageReadPixelFormat() const
Definition RenderStage:162
virtual unsigned int computeNumberOfDynamicRenderLeaves() const
bool getStats(Statistics &stats) const
const osg::GraphicsContext * getGraphicsContext() const
Definition RenderStage:191
GLenum getDrawBuffer() const
Definition RenderStage:61
std::vector< osg::ref_ptr< osg::Camera > > Cameras
Definition RenderStage:277
void copyTexture(osg::RenderInfo &renderInfo)
GLenum getImageReadPixelDataType() const
Definition RenderStage:165
bool _drawBufferApplyMask
Definition RenderStage:290
bool _readBufferApplyMask
Definition RenderStage:292
RenderStageList & getPostRenderList()
Definition RenderStage:245
void setInheritedPositionalStateContainerMatrix(const osg::Matrix &matrix)
Definition RenderStage:196
virtual void drawPreRenderStages(osg::RenderInfo &renderInfo, RenderLeaf *&previous)
void addPreRenderStage(RenderStage *rs, int order=0)
const osg::Matrix & getInheritedPositionalStateContainerMatrix() const
Definition RenderStage:197
const osg::Camera * getCamera() const
Definition RenderStage:143
void setCameraRequiresSetUp(bool flag)
Definition RenderStage:145
void setTexture(osg::Texture *texture, unsigned int level=0, unsigned int face=0)
Definition RenderStage:155
void setImageReadPixelFormat(GLenum format)
Definition RenderStage:161
virtual void releaseGLObjects(osg::State *state=0) const
bool getCameraRequiresSetUp() const
Definition RenderStage:146
void setDrawBuffer(GLenum buffer, bool applyMask=true)
Definition RenderStage:58
void setCameraAttachmentMapCount(unsigned int v)
Definition RenderStage:148
osg::Image * getImage()
Definition RenderStage:159
osg::ref_ptr< const osg::RefMatrix > _initialViewMatrix
Definition RenderStage:287
RenderStageList & getPreRenderList()
Definition RenderStage:242
double getClearDepth() const
Definition RenderStage:131
bool _stageDrawnThisFrame
Definition RenderStage:279
void addToDependencyList(RenderStage *rs)
Definition RenderStage:235
osg::ref_ptr< osg::Texture > _texture
Definition RenderStage:304
osg::ref_ptr< osg::GraphicsContext > _graphicsContext
Definition RenderStage:316
int _clearStencil
Definition RenderStage:298
virtual void drawImplementation(osg::RenderInfo &renderInfo, RenderLeaf *&previous)
virtual osg::Object * clone(const osg::CopyOp ©op) const
Definition RenderStage:50
void setInitialViewMatrix(const osg::RefMatrix *matrix)
Definition RenderStage:94
void setInheritedPositionalStateContainer(PositionalStateContainer *rsl)
Definition RenderStage:199
virtual void drawInner(osg::RenderInfo &renderInfo, RenderLeaf *&previous, bool &doCopyTexture)
osg::FrameBufferObject * getFrameBufferObject()
Definition RenderStage:171
int getClearStencil() const
Definition RenderStage:138
bool getReadBufferApplyMask() const
Definition RenderStage:78
GLenum getReadBuffer() const
Definition RenderStage:75
RenderStageList _postRenderList
Definition RenderStage:281
osg::Texture * getTexture()
Definition RenderStage:156
void setGraphicsContext(osg::GraphicsContext *context)
Definition RenderStage:189
void attach(osg::Camera::BufferComponent buffer, osg::Image *image)
osg::ref_ptr< osg::Viewport > _viewport
Definition RenderStage:286
void setFrameBufferObject(osg::FrameBufferObject *fbo)
Definition RenderStage:170
osg::ref_ptr< osg::Image > _image
Definition RenderStage:308
std::map< osg::Camera::BufferComponent, Attachment > _bufferAttachmentMap
Definition RenderStage:312
void setViewport(osg::Viewport *viewport)
Definition RenderStage:85
void clearReferencesToDependentCameras()
void runCameraSetUp(osg::RenderInfo &renderInfo)
virtual bool isSameKindAs(const osg::Object *obj) const
Definition RenderStage:51
void setClearMask(GLbitfield mask)
Definition RenderStage:101
Cameras _dependentCameras
Definition RenderStage:283
virtual osg::Object * cloneType() const
Definition RenderStage:49
void setDrawBufferApplyMask(bool applyMask)
Definition RenderStage:67
bool _disableFboAfterRender
Definition RenderStage:317
osg::observer_ptr< osg::Camera > _camera
Definition RenderStage:302
osg::Camera * getCamera()
Definition RenderStage:142
const osg::RefMatrix * getInitialViewMatrix()
Definition RenderStage:97
const osg::ColorMask * getColorMask() const
Definition RenderStage:109
virtual const char * className() const
Definition RenderStage:52
const osg::FrameBufferObject * getMultisampleResolveFramebufferObject() const
Definition RenderStage:181
const osg::Vec4 & getClearAccum() const
Definition RenderStage:124
RenderStage(SortMode mode)
const osg::Vec4 & getClearColor() const
Definition RenderStage:117
osg::ref_ptr< osg::FrameBufferObject > _resolveFbo
Definition RenderStage:315
osg::ref_ptr< PositionalStateContainer > _inheritedPositionalStateContainer
Definition RenderStage:320
osg::ref_ptr< osg::ColorMask > _colorMask
Definition RenderStage:294
const RenderStageList & getPreRenderList() const
Definition RenderStage:241
GLbitfield _clearMask
Definition RenderStage:293
osg::Matrix _inheritedPositionalStateContainerMatrix
Definition RenderStage:319
osg::Vec4 _clearColor
Definition RenderStage:295
void setClearColor(const osg::Vec4 &color)
Definition RenderStage:114
osg::ColorMask * getColorMask()
Definition RenderStage:108
void setColorMask(osg::ColorMask *cm)
Definition RenderStage:107
void setPositionalStateContainer(PositionalStateContainer *rsl)
Definition RenderStage:202
osg::FrameBufferObject * getMultisampleResolveFramebufferObject()
Definition RenderStage:180
unsigned int _face
Definition RenderStage:306
bool getDrawBufferApplyMask() const
Definition RenderStage:64
const osg::Viewport * getViewport() const
Definition RenderStage:88
PositionalStateContainer * getInheritedPositionalStateContainer()
Definition RenderStage:200
GLbitfield getClearMask() const
Definition RenderStage:104
void setClearStencil(int stencil)
Definition RenderStage:135
GLenum _imageReadPixelDataType
Definition RenderStage:310
osg::ref_ptr< osg::FrameBufferObject > _fbo
Definition RenderStage:314
void setClearDepth(double depth)
Definition RenderStage:128
RenderStage(const RenderStage &rhs, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
void setReadBuffer(GLenum buffer, bool applyMask=true)
Definition RenderStage:72
RenderStageList _preRenderList
Definition RenderStage:280
unsigned int getCameraAttachmentMapCount()
Definition RenderStage:149
void setImageReadPixelDataType(GLenum type)
Definition RenderStage:164
virtual void draw(osg::RenderInfo &renderInfo, RenderLeaf *&previous)
void setReadBufferApplyMask(bool applyMask)
Definition RenderStage:81
GLenum _drawBuffer
Definition RenderStage:289
unsigned int _level
Definition RenderStage:305
GLenum _imageReadPixelFormat
Definition RenderStage:309
void setDisableFboAfterRender(bool disable)
Definition RenderStage:186
void collateReferencesToDependentCameras()
void setImage(osg::Image *image)
Definition RenderStage:158
PositionalStateContainer * getPositionalStateContainer() const
Definition RenderStage:204
double _clearDepth
Definition RenderStage:297
void setClearAccum(const osg::Vec4 &color)
Definition RenderStage:121
std::list< RenderStageOrderPair > RenderStageList
Definition RenderStage:42
virtual void addPositionedTextureAttribute(unsigned int textureUnit, osg::RefMatrix *matrix, const osg::StateAttribute *attr)
Definition RenderStage:215
osg::Viewport * getViewport()
Definition RenderStage:91
GLenum _readBuffer
Definition RenderStage:291
BufferComponent
Definition Camera:326
@ SHALLOW_COPY
Definition CopyOp:47
Definition FrameBufferObject:321
Definition GraphicsContext:30
Definition StateAttribute:77
Definition observer_ptr:39
Shader generator framework.
Definition NodeVisitor:25
#define OSGUTIL_EXPORT
Definition osgUtil/Export:40
Definition RenderStage:254
osg::ref_ptr< osg::Image > _image
Definition RenderStage:255
GLenum _imageReadPixelDataType
Definition RenderStage:257
GLenum _imageReadPixelFormat
Definition RenderStage:256