Cortex
10.0.0-a4
|
#include <FrameBuffer.h>
Classes | |
class | ScopedBinding |
Public Member Functions | |
IE_CORE_DECLARERUNTIMETYPEDEXTENSION (IECoreGL::FrameBuffer, FrameBufferTypeId, IECore::RunTimeTyped) | |
FrameBuffer () | |
GLuint | frameBuffer () const |
void | setColor (TexturePtr texture, unsigned int index=0) |
TexturePtr | getColor (unsigned int index=0) |
ConstTexturePtr | getColor (unsigned int index=0) const |
void | setDepth (DepthTexturePtr depthTexture) |
Sets the texture to be used as the depth buffer. | |
DepthTexturePtr | getDepth () |
ConstDepthTexturePtr | getDepth () const |
void | validate () const |
![]() | |
IE_CORE_DECLAREMEMBERPTR (RunTimeTyped) | |
virtual TypeId | typeId () const |
virtual const char * | typeName () const |
virtual bool | isInstanceOf (TypeId typeId) const |
virtual bool | isInstanceOf (const char *typeName) const |
![]() | |
IE_CORE_DECLAREMEMBERPTR (RefCounted) | |
void | addRef () const |
Add a reference to the current object. | |
void | removeRef () const |
Remove a reference from the current object. | |
RefCount | refCount () const |
Returns the current reference count. | |
Static Public Member Functions | |
static unsigned int | maxColors () |
![]() | |
static TypeId | staticTypeId () |
Returns the TypeId for this class, without needing an instance. | |
static const char * | staticTypeName () |
Returns the type name for this class, without needing an instance. | |
static TypeId | baseTypeId () |
static const char * | baseTypeName () |
static bool | inheritsFrom (TypeId typeId) |
Returns true if this class inherits from the specified type. | |
static bool | inheritsFrom (const char *typeName) |
Returns true if this class inherits from the specified type. | |
static bool | inheritsFrom (TypeId type, TypeId baseType) |
Returns true if type inherits from baseType. | |
static bool | inheritsFrom (const char *typeName, const char *baseTypeName) |
Returns true if typeName inherits from baseTypeName. | |
static TypeId | baseTypeId (TypeId typeId) |
Returns the base type of the given type, or InvalidTypeId if no such base exists. | |
static const std::vector< TypeId > & | baseTypeIds (TypeId typeId) |
static const std::set< TypeId > & | derivedTypeIds (TypeId typeId) |
static TypeId | typeIdFromTypeName (const char *typeName) |
static const char * | typeNameFromTypeId (TypeId typeId) |
static void | registerType (TypeId derivedTypeId, const char *derivedTypeName, TypeId baseTypeId) |
Allows external modules to register their own type ids. | |
Additional Inherited Members | |
![]() | |
typedef RefCounted | BaseClass |
A typedef for the class this class derives from. All RunTimeTyped classes define this typedef. | |
![]() | |
typedef size_t | RefCount |
![]() | |
typedef std::map< TypeId, TypeId > | BaseTypeRegistryMap |
typedef std::map< TypeId, std::vector< TypeId > > | BaseTypesRegistryMap |
typedef std::map< TypeId, std::set< TypeId > > | DerivedTypesRegistryMap |
typedef tbb::spin_rw_mutex | Mutex |
typedef std::map< TypeId, std::string > | TypeIdsToTypeNamesMap |
typedef std::map< std::string, TypeId > | TypeNamesToTypeIdsMap |
![]() | |
static BaseTypeRegistryMap & | baseTypeRegistry () |
static DerivedTypesRegistryMap & | derivedTypesRegistry () |
static BaseTypesRegistryMap & | completeBaseTypesRegistry () |
static DerivedTypesRegistryMap & | completeDerivedTypesRegistry () |
static void | derivedTypeIdsWalk (TypeId typeId, std::set< TypeId > &) |
static TypeIdsToTypeNamesMap & | typeIdsToTypeNames () |
static TypeNamesToTypeIdsMap & | typeNamesToTypeIds () |
![]() | |
static Mutex | g_baseTypeIdsMutex |
static Mutex | g_derivedTypeIdsMutex |
The FrameBuffer object provides a nice reference counted wrapper around the OpenGL framebuffer object extension. It uses the Texture classes to set the components of the framebuffer.
IECoreGL::FrameBuffer::FrameBuffer | ( | ) |
Makes a new framebuffer. At this point the buffer is empty - you must use the set*() functions below to provide locations to draw to before using it.
GLuint IECoreGL::FrameBuffer::frameBuffer | ( | ) | const |
Returns the GL handle for the framebuffer. Note that this is owned by the FrameBuffer class and will be destroyed in the destructor - you must therefore not call glDeleteFramebuffers() yourself.
TexturePtr IECoreGL::FrameBuffer::getColor | ( | unsigned int | index = 0 | ) |
Returns the texture being used for the specified color channel, or 0 if no such texture has been specified.
ConstTexturePtr IECoreGL::FrameBuffer::getColor | ( | unsigned int | index = 0 | ) | const |
Returns the texture being used for the specified color channel, or 0 if no such texture has been specified.
DepthTexturePtr IECoreGL::FrameBuffer::getDepth | ( | ) |
Returns the texture being used for the depth buffer, or 0 if none has been specified.
ConstDepthTexturePtr IECoreGL::FrameBuffer::getDepth | ( | ) | const |
Returns the texture being used for the depth buffer, or 0 if none has been specified.
|
static |
Returns the maximum number of color attachments available in the calls below (the maximum allowable value for index).
void IECoreGL::FrameBuffer::setColor | ( | TexturePtr | texture, |
unsigned int | index = 0 |
||
) |
Sets the texture to render colour output to. Multiple color outputs may be specified by specifying several indices
void IECoreGL::FrameBuffer::validate | ( | ) | const |
Throws a descriptive Exception if there is any problem with the framebuffer.