Public Types | |
typedef std::map < Camera::BufferComponent, FrameBufferAttachment > | AttachmentMap |
typedef std::vector< GLenum > | MultipleRenderingTargets |
typedef Camera::BufferComponent | BufferComponent |
Public Member Functions | |
FrameBufferObject () | |
FrameBufferObject (const FrameBufferObject ©, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
META_StateAttribute (osg, FrameBufferObject,(StateAttribute::Type) 0x101010) | |
const AttachmentMap & | getAttachmentMap () const |
void | setAttachment (GLenum attachment_point, const FrameBufferAttachment &attachment) |
const FrameBufferAttachment & | getAttachment (GLenum attachment_point) const |
bool | hasAttachment (GLenum attachment_point) const |
void | setAttachment (BufferComponent attachment_point, const FrameBufferAttachment &attachment) |
const FrameBufferAttachment & | getAttachment (BufferComponent attachment_point) const |
bool | hasAttachment (BufferComponent attachment_point) const |
GLenum | convertBufferComponentToGLenum (BufferComponent attachment_point) const |
BufferComponent | convertGLenumToBufferComponent (GLenum attachment_point) const |
bool | hasMultipleRenderingTargets () const |
const MultipleRenderingTargets & | getMultipleRenderingTargets () const |
int | compare (const StateAttribute &sa) const |
void | apply (State &state) const |
Static Public Member Functions | |
static void | deleteFrameBufferObject (unsigned int contextID, GLuint program) |
static void | flushDeletedFrameBufferObjects (unsigned int contextID, double currentTime, double &availableTime) |
static void | discardDeletedFrameBufferObjects (unsigned int contextID) |
Protected Member Functions | |
virtual | ~FrameBufferObject () |
FrameBufferObject & | operator= (const FrameBufferObject &) |
void | updateDrawBuffers () |
void | dirtyAll () |
typedef std::map<Camera::BufferComponent, FrameBufferAttachment> osg::FrameBufferObject::AttachmentMap |
typedef std::vector<GLenum> osg::FrameBufferObject::MultipleRenderingTargets |
osg::FrameBufferObject::FrameBufferObject | ( | ) |
osg::FrameBufferObject::FrameBufferObject | ( | const FrameBufferObject & | copy, | |
const CopyOp & | copyop = CopyOp::SHALLOW_COPY | |||
) |
virtual osg::FrameBufferObject::~FrameBufferObject | ( | ) | [protected, virtual] |
osg::FrameBufferObject::META_StateAttribute | ( | osg | , | |
FrameBufferObject | , | |||
(StateAttribute::Type) | 0x101010 | |||
) |
const FrameBufferObject::AttachmentMap & osg::FrameBufferObject::getAttachmentMap | ( | ) | const [inline] |
void osg::FrameBufferObject::setAttachment | ( | GLenum | attachment_point, | |
const FrameBufferAttachment & | attachment | |||
) |
const FrameBufferAttachment & osg::FrameBufferObject::getAttachment | ( | GLenum | attachment_point | ) | const [inline] |
References convertGLenumToBufferComponent().
bool osg::FrameBufferObject::hasAttachment | ( | GLenum | attachment_point | ) | const [inline] |
References convertGLenumToBufferComponent().
void osg::FrameBufferObject::setAttachment | ( | BufferComponent | attachment_point, | |
const FrameBufferAttachment & | attachment | |||
) |
const FrameBufferAttachment & osg::FrameBufferObject::getAttachment | ( | FrameBufferObject::BufferComponent | attachment_point | ) | const [inline] |
bool osg::FrameBufferObject::hasAttachment | ( | FrameBufferObject::BufferComponent | attachment_point | ) | const [inline] |
GLenum osg::FrameBufferObject::convertBufferComponentToGLenum | ( | BufferComponent | attachment_point | ) | const |
BufferComponent osg::FrameBufferObject::convertGLenumToBufferComponent | ( | GLenum | attachment_point | ) | const |
Referenced by getAttachment(), and hasAttachment().
bool osg::FrameBufferObject::hasMultipleRenderingTargets | ( | ) | const [inline] |
const MultipleRenderingTargets& osg::FrameBufferObject::getMultipleRenderingTargets | ( | ) | const [inline] |
int osg::FrameBufferObject::compare | ( | const StateAttribute & | sa | ) | const [virtual] |
Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.
Implements osg::StateAttribute.
void osg::FrameBufferObject::apply | ( | State & | ) | const [virtual] |
apply the OpenGL state attributes. The render info for the current OpenGL context is passed in to allow the StateAttribute to obtain details on the the current context and state.
Reimplemented from osg::StateAttribute.
static void osg::FrameBufferObject::deleteFrameBufferObject | ( | unsigned int | contextID, | |
GLuint | program | |||
) | [static] |
Mark internal FBO for deletion. Deletion requests are queued until they can be executed in the proper GL context.
static void osg::FrameBufferObject::flushDeletedFrameBufferObjects | ( | unsigned int | contextID, | |
double | currentTime, | |||
double & | availableTime | |||
) | [static] |
flush all the cached FBOs which need to be deleted in the OpenGL context related to contextID.
static void osg::FrameBufferObject::discardDeletedFrameBufferObjects | ( | unsigned int | contextID | ) | [static] |
discard all the cached FBOs which need to be deleted in the OpenGL context related to contextID.
FrameBufferObject& osg::FrameBufferObject::operator= | ( | const FrameBufferObject & | ) | [inline, protected] |
void osg::FrameBufferObject::updateDrawBuffers | ( | ) | [protected] |
void osg::FrameBufferObject::dirtyAll | ( | ) | [inline, protected] |
References osg::buffered_value< T >::setAllElementsTo().