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 GenerateMipMaps ()
 
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][11]
 
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::Fix16 = 1, EInternalFormatType::Float16 = 2, EInternalFormatType::Float32 = 3,
  EInternalFormatType::SignedInt8 = 4, EInternalFormatType::SignedInt16 = 5, EInternalFormatType::SignedInt32 = 6, EInternalFormatType::UnsignedInt8 = 7,
  EInternalFormatType::UnsignedInt16 = 8, EInternalFormatType::UnsignedInt32 = 9, EInternalFormatType::Depth = 10
}
 
enum  EMipMaps { EMipMaps::False = 0, EMipMaps::True = 1 }
 

Member Function Documentation

void ion::Graphics::GL::CTexture::ApplyParams ( )
void ion::Graphics::GL::CTexture::GenerateMipMaps ( )
virtual
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_R16, GL_R16F, GL_R32F, GL_R8I, GL_R16I, GL_R32I, GL_R8UI, GL_R16UI, GL_R32UI, GL_DEPTH_COMPONENT32 },
{ GL_RG8, GL_RG16, GL_RG16F, GL_RG32F, GL_RG8I, GL_RG16I, GL_RG32I, GL_RG8UI, GL_RG16UI, GL_RG32UI, GL_DEPTH_COMPONENT32 },
{ GL_RGB8, GL_RGB16, GL_RGB16F, GL_RGB32F, GL_RGB8I, GL_RGB16I, GL_RGB32I, GL_RGB8UI, GL_RGB16UI, GL_RGB32UI, GL_DEPTH_COMPONENT32 },
{ GL_RGBA8, GL_RGBA16, 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: