Public Member Functions | Public Attributes | Static Public Attributes | List of all members
ion::Graphics::GL::CTexture Class Referenceabstract

#include <CTexture.h>

Inheritance diagram for ion::Graphics::GL::CTexture:
Inheritance graph
[legend]
Collaboration diagram for ion::Graphics::GL::CTexture:
Collaboration graph
[legend]

Public Member Functions

void SetMinFilter (EFilter const MinFilter)
 
void SetMagFilter (EFilter const MagFilter)
 
void SetMipMapFilter (EFilter const MipMapFilter)
 
void SetWrapMode (EWrapMode const WrapMode)
 
void SetBorderColor (color4f const &BorderColor)
 
void SetAnisotropy (float const Anisotropy)
 
EFilter GetMinFilter ()
 
EFilter GetMagFilter ()
 
EFilter GetMipMapFilter ()
 
EWrapMode GetWrapMode ()
 
float GetAnisotropy ()
 
void ApplyParams ()
 
virtual uint GetGLBindTextureTarget () const =0
 
virtual uint GetGLTextureBindingEnum () const =0
 

Public Attributes

uint Handle = 0
 
EFilter MinFilter = EFilter::Linear
 
EFilter MagFilter = EFilter::Linear
 
EFilter MipMapFilter = EFilter::Linear
 
EWrapMode WrapMode = EWrapMode::Repeat
 
color4f BorderColor
 
float Anisotropy = -1
 
bool MipMaps = true
 
bool IsInteger = false
 

Static Public Attributes

static uint const InternalFormatMatrix [4][10]
 
static uint const FormatMatrix [4][2]
 
static string const InternalFormatStringMatrix [4][10]
 
static string const FormatStringMatrix [4]
 

Additional Inherited Members

- Public Types inherited from ion::Graphics::ITexture
enum  EFilter { EFilter::Nearest = 0, EFilter::Linear = 1 }
 
enum  EWrapMode { EWrapMode::Clamp = 0, EWrapMode::Mirror = 1, EWrapMode::Repeat = 2, EWrapMode::Border = 3 }
 
enum  EFormatComponents { EFormatComponents::R = 0, EFormatComponents::RG = 1, EFormatComponents::RGB = 2, EFormatComponents::RGBA = 3 }
 
enum  EInternalFormatType {
  EInternalFormatType::Fix8 = 0, EInternalFormatType::Float16 = 1, EInternalFormatType::Float32 = 2, EInternalFormatType::SignedInt8 = 3,
  EInternalFormatType::SignedInt16 = 4, EInternalFormatType::SignedInt32 = 5, EInternalFormatType::UnsignedInt8 = 6, EInternalFormatType::UnsignedInt16 = 7,
  EInternalFormatType::UnsignedInt32 = 8, EInternalFormatType::Depth = 9
}
 
enum  EMipMaps { EMipMaps::False = 0, EMipMaps::True = 1 }
 

Member Function Documentation

void ion::Graphics::GL::CTexture::ApplyParams ( )
float ion::Graphics::GL::CTexture::GetAnisotropy ( )
virtual
virtual uint ion::Graphics::GL::CTexture::GetGLBindTextureTarget ( ) const
pure virtual
virtual uint ion::Graphics::GL::CTexture::GetGLTextureBindingEnum ( ) const
pure virtual
ITexture::EFilter ion::Graphics::GL::CTexture::GetMagFilter ( )
virtual
ITexture::EFilter ion::Graphics::GL::CTexture::GetMinFilter ( )
virtual
ITexture::EFilter ion::Graphics::GL::CTexture::GetMipMapFilter ( )
virtual
ITexture::EWrapMode ion::Graphics::GL::CTexture::GetWrapMode ( )
virtual
void ion::Graphics::GL::CTexture::SetAnisotropy ( float const  Anisotropy)
virtual

Sets the anisotropy filtering value for this texture A value < 0 indicates that the max anisotrophy value should be used Default is -1

Implements ion::Graphics::ITexture.

void ion::Graphics::GL::CTexture::SetBorderColor ( color4f const &  BorderColor)
virtual

Sets the border color for this texture Used when WrapMode is set to EWrapMode::Border

Implements ion::Graphics::ITexture.

void ion::Graphics::GL::CTexture::SetMagFilter ( EFilter const  MagFilter)
virtual

Sets the maximizing filter for this texture Default is EFilter::Linear

Implements ion::Graphics::ITexture.

void ion::Graphics::GL::CTexture::SetMinFilter ( EFilter const  MinFilter)
virtual

Sets the minimizing filter for this texture Default is EFilter::Linear

Implements ion::Graphics::ITexture.

void ion::Graphics::GL::CTexture::SetMipMapFilter ( EFilter const  MipMapFilter)
virtual

Sets the mip map filter for this texture Default is EFilter::Linear

Implements ion::Graphics::ITexture.

void ion::Graphics::GL::CTexture::SetWrapMode ( EWrapMode const  WrapMode)
virtual

Sets the wrap mode for this texture Default is EWrapMode::Repeat

Implements ion::Graphics::ITexture.

Member Data Documentation

float ion::Graphics::GL::CTexture::Anisotropy = -1

Anisotrophic filtering value A value < 0 indicates that the max anisotrophy value should be used

color4f ion::Graphics::GL::CTexture::BorderColor
uint const ion::Graphics::GL::CTexture::FormatMatrix
static
Initial value:
=
{
GL_RED, GL_RED_INTEGER,
GL_RG, GL_RG_INTEGER,
GL_RGB, GL_RGB_INTEGER,
GL_RGBA, GL_RGBA_INTEGER,
}
string const ion::Graphics::GL::CTexture::FormatStringMatrix
static
Initial value:
=
{
"GL_RED",
"GL_RG",
"GL_RGB",
"GL_RGBA"
}
uint ion::Graphics::GL::CTexture::Handle = 0
uint const ion::Graphics::GL::CTexture::InternalFormatMatrix
static
Initial value:
=
{
{ GL_R8, GL_R16F, GL_R32F, GL_R8I, GL_R16I, GL_R32I, GL_R8UI, GL_R16UI, GL_R32UI, GL_DEPTH_COMPONENT32 },
{ GL_RG8, GL_RG16F, GL_RG32F, GL_RG8I, GL_RG16I, GL_RG32I, GL_RG8UI, GL_RG16UI, GL_RG32UI, GL_DEPTH_COMPONENT32 },
{ GL_RGB8, GL_RGB16F, GL_RGB32F, GL_RGB8I, GL_RGB16I, GL_RGB32I, GL_RGB8UI, GL_RGB16UI, GL_RGB32UI, GL_DEPTH_COMPONENT32 },
{ GL_RGBA8, GL_RGBA16F, GL_RGBA32F, GL_RGBA8I, GL_RGBA16I, GL_RGBA32I, GL_RGBA8UI, GL_RGBA16UI, GL_RGBA32UI, GL_DEPTH_COMPONENT32 },
}
string const ion::Graphics::GL::CTexture::InternalFormatStringMatrix
static
Initial value:
=
{
{ "GL_R8", "GL_R16F", "GL_R32F", "GL_R8I", "GL_R16I", "GL_R32I", "GL_R8UI", "GL_R16UI", "GL_R32UI", "GL_DEPTH_COMPONENT32" },
{ "GL_RG8", "GL_RG16F", "GL_RG32F", "GL_RG8I", "GL_RG16I", "GL_RG32I", "GL_RG8UI", "GL_RG16UI", "GL_RG32UI", "GL_DEPTH_COMPONENT32" },
{ "GL_RGB8", "GL_RGB16F", "GL_RGB32F", "GL_RGB8I", "GL_RGB16I", "GL_RGB32I", "GL_RGB8UI", "GL_RGB16UI", "GL_RGB32UI", "GL_DEPTH_COMPONENT32" },
{ "GL_RGBA8", "GL_RGBA16F", "GL_RGBA32F", "GL_RGBA8I", "GL_RGBA16I", "GL_RGBA32I", "GL_RGBA8UI", "GL_RGBA16UI", "GL_RGBA32UI", "GL_DEPTH_COMPONENT32" },
}
bool ion::Graphics::GL::CTexture::IsInteger = false
EFilter ion::Graphics::GL::CTexture::MagFilter = EFilter::Linear
EFilter ion::Graphics::GL::CTexture::MinFilter = EFilter::Linear
EFilter ion::Graphics::GL::CTexture::MipMapFilter = EFilter::Linear
bool ion::Graphics::GL::CTexture::MipMaps = true
EWrapMode ion::Graphics::GL::CTexture::WrapMode = EWrapMode::Repeat

The documentation for this class was generated from the following files: