osg::FrameBufferObject Class Reference
List of all members.
Public Types |
enum | BindTarget { READ_FRAMEBUFFER = GL_READ_FRAMEBUFFER_EXT,
DRAW_FRAMEBUFFER = GL_DRAW_FRAMEBUFFER_EXT,
READ_DRAW_FRAMEBUFFER = GL_FRAMEBUFFER_EXT
} |
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 (BufferComponent attachment_point, const FrameBufferAttachment &attachment) |
const FrameBufferAttachment & | getAttachment (BufferComponent attachment_point) const |
bool | hasAttachment (BufferComponent attachment_point) const |
bool | hasMultipleRenderingTargets () const |
const MultipleRenderingTargets & | getMultipleRenderingTargets () const |
bool | isMultisample () const |
int | compare (const StateAttribute &sa) const |
void | apply (State &state) const |
void | apply (State &state, BindTarget target) 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 () |
GLenum | convertBufferComponentToGLenum (BufferComponent attachment_point) const |
Member Typedef Documentation
Member Enumeration Documentation
- Enumerator:
READ_FRAMEBUFFER |
|
DRAW_FRAMEBUFFER |
|
READ_DRAW_FRAMEBUFFER |
|
Constructor & Destructor Documentation
osg::FrameBufferObject::FrameBufferObject |
( |
|
) |
|
osg::FrameBufferObject::FrameBufferObject |
( |
const FrameBufferObject & |
copy, |
|
|
const CopyOp & |
copyop = CopyOp::SHALLOW_COPY | |
|
) |
| | |
virtual osg::FrameBufferObject::~FrameBufferObject |
( |
|
) |
[protected, virtual] |
Member Function Documentation
void osg::FrameBufferObject::apply |
( |
State & |
state, |
|
|
BindTarget |
target | |
|
) |
| | const |
Bind the FBO as either the read or draw target, or both.
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.
int osg::FrameBufferObject::compare |
( |
const StateAttribute & |
sa |
) |
const [virtual] |
GLenum osg::FrameBufferObject::convertBufferComponentToGLenum |
( |
BufferComponent |
attachment_point |
) |
const [protected] |
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.
void osg::FrameBufferObject::dirtyAll |
( |
|
) |
[inline, protected] |
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.
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.
bool osg::FrameBufferObject::hasMultipleRenderingTargets |
( |
|
) |
const [inline] |
bool osg::FrameBufferObject::isMultisample |
( |
|
) |
const |
void osg::FrameBufferObject::updateDrawBuffers |
( |
|
) |
[protected] |
The documentation for this class was generated from the following file: