Cortex
10.0.0-a4
|
#include <Texture.h>
Public Member Functions | |
IE_CORE_DECLARERUNTIMETYPEDEXTENSION (IECoreGL::Texture, TextureTypeId, Bindable) | |
Texture (GLuint texture) | |
void | bind () const override |
Binds the texture as the current GL texture. | |
virtual IECoreImage::ImagePrimitivePtr | imagePrimitive () const |
Creates an ImagePrimitive using the texture contents. | |
![]() | |
IE_CORE_DECLARERUNTIMETYPEDEXTENSION (IECoreGL::Bindable, BindableTypeId, IECore::RunTimeTyped) | |
![]() | |
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. | |
Protected Attributes | |
GLuint | m_texture |
Derived classes must set this in their constructor. | |
Friends | |
class | FrameBuffer |
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 |
![]() | |
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. | |
![]() | |
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 Texture class represents a reference counted OpenGL texture. When the Texture object dies, it also removes the associated GL texture. Constructors from various IECore datatypes are provided.
Provide some control over resizing (to power of 2), mipmapping, filtering etc. Rather than complicate the constructors in the subclasses we should probabaly make ToGLTextureConverters with a bunch of parameters.
Review Y axis ordering for Cortex 8 - currently a texture lookup in GLSL ends up with the image upside down from the expected, but perhaps there are other places relying on the current ordering? See TestTexture.performShaderParameterTest() for a test that should be checking this but isn't.
IECoreGL::Texture::Texture | ( | GLuint | texture | ) |
Creates a texture object to wrap the already created GL texture specified.