Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
Renderer::Backend::GL::CTexture Class Referencefinal

Represents a low-level GL texture, encapsulates all properties initialization. More...

#include <Texture.h>

Inheritance diagram for Renderer::Backend::GL::CTexture:
Collaboration diagram for Renderer::Backend::GL::CTexture:

Public Member Functions

 ~CTexture () override
 
IDeviceGetDevice () override
 
Type GetType () const override
 
uint32_t GetUsage () const override
 
Format GetFormat () const override
 
uint32_t GetWidth () const override
 
uint32_t GetHeight () const override
 
uint32_t GetMIPLevelCount () const override
 
GLuint GetHandle () const
 
virtual Type GetType () const =0
 
virtual uint32_t GetUsage () const =0
 
virtual Format GetFormat () const =0
 
virtual uint32_t GetWidth () const =0
 
virtual uint32_t GetHeight () const =0
 
virtual uint32_t GetMIPLevelCount () const =0
 
- Public Member Functions inherited from Renderer::Backend::IDeviceObject< ITexture >
virtual ~IDeviceObject ()
 
virtual IDeviceGetDevice ()=0
 
TAs ()
 

Private Member Functions

 CTexture ()
 

Static Private Member Functions

static std::unique_ptr< CTextureCreate (CDevice *device, const char *name, const Type type, const uint32_t usage, const Format format, const uint32_t width, const uint32_t height, const Sampler::Desc &defaultSamplerDesc, const uint32_t MIPLevelCount, const uint32_t sampleCount)
 

Private Attributes

CDevicem_Device = nullptr
 
GLuint m_Handle = 0
 
Type m_Type = Type::TEXTURE_2D
 
uint32_t m_Usage = 0
 
Format m_Format = Format::UNDEFINED
 
uint32_t m_Width = 0
 
uint32_t m_Height = 0
 
uint32_t m_MIPLevelCount = 0
 

Friends

class CDevice
 

Additional Inherited Members

- Public Types inherited from Renderer::Backend::ITexture
enum class  Type { TEXTURE_2D , TEXTURE_2D_MULTISAMPLE , TEXTURE_CUBE }
 

Detailed Description

Represents a low-level GL texture, encapsulates all properties initialization.

Constructor & Destructor Documentation

◆ ~CTexture()

CTexture::~CTexture ( )
override

◆ CTexture()

CTexture::CTexture ( )
privatedefault

Member Function Documentation

◆ Create()

std::unique_ptr< CTexture > CTexture::Create ( CDevice device,
const char *  name,
const Type  type,
const uint32_t  usage,
const Format  format,
const uint32_t  width,
const uint32_t  height,
const Sampler::Desc defaultSamplerDesc,
const uint32_t  MIPLevelCount,
const uint32_t  sampleCount 
)
staticprivate

◆ GetDevice()

IDevice * CTexture::GetDevice ( )
overridevirtual

◆ GetFormat()

Format Renderer::Backend::GL::CTexture::GetFormat ( ) const
inlineoverridevirtual

◆ GetHandle()

GLuint Renderer::Backend::GL::CTexture::GetHandle ( ) const
inline

◆ GetHeight()

uint32_t Renderer::Backend::GL::CTexture::GetHeight ( ) const
inlineoverridevirtual

◆ GetMIPLevelCount()

uint32_t Renderer::Backend::GL::CTexture::GetMIPLevelCount ( ) const
inlineoverridevirtual

◆ GetType()

Type Renderer::Backend::GL::CTexture::GetType ( ) const
inlineoverridevirtual

◆ GetUsage()

uint32_t Renderer::Backend::GL::CTexture::GetUsage ( ) const
inlineoverridevirtual

◆ GetWidth()

uint32_t Renderer::Backend::GL::CTexture::GetWidth ( ) const
inlineoverridevirtual

Friends And Related Function Documentation

◆ CDevice

friend class CDevice
friend

Member Data Documentation

◆ m_Device

CDevice* Renderer::Backend::GL::CTexture::m_Device = nullptr
private

◆ m_Format

Format Renderer::Backend::GL::CTexture::m_Format = Format::UNDEFINED
private

◆ m_Handle

GLuint Renderer::Backend::GL::CTexture::m_Handle = 0
private

◆ m_Height

uint32_t Renderer::Backend::GL::CTexture::m_Height = 0
private

◆ m_MIPLevelCount

uint32_t Renderer::Backend::GL::CTexture::m_MIPLevelCount = 0
private

◆ m_Type

Type Renderer::Backend::GL::CTexture::m_Type = Type::TEXTURE_2D
private

◆ m_Usage

uint32_t Renderer::Backend::GL::CTexture::m_Usage = 0
private

◆ m_Width

uint32_t Renderer::Backend::GL::CTexture::m_Width = 0
private

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