SleakEngine 1.0.0
C++23 multi-backend game engine
Loading...
Searching...
No Matches
Sleak::RenderEngine::OpenGLTexture Class Reference

OpenGL 2D texture, loadable from disk or an in-memory pixel buffer. More...

#include <OpenGLTexture.hpp>

Inheritance diagram for Sleak::RenderEngine::OpenGLTexture:

Public Member Functions

 OpenGLTexture ()
 ~OpenGLTexture () override
void Bind (uint32_t slot=0) const override
TextureFormat GetFormat () const override
GLuint GetGLTexture () const
uint32_t GetHeight () const override
uint64_t GetImGuiTextureID () const override
float GetLodBias () const override
TextureType GetType () const override
uint32_t GetWidth () const override
bool LoadFromFile (const std::string &filePath) override
 Decodes an image file and uploads it as a new GL texture.
bool LoadFromMemory (const void *data, uint32_t width, uint32_t height, TextureFormat format) override
 Uploads raw pixel data as a new GL texture, generating mips.
void SetFilter (TextureFilter filter) override
void SetLodBias (float bias) override
void SetWrapMode (TextureWrapMode wrapMode) override
void Unbind () const override
Public Member Functions inherited from Sleak::Texture
virtual ~Texture ()=default

Detailed Description

OpenGL 2D texture, loadable from disk or an in-memory pixel buffer.

Definition at line 12 of file OpenGLTexture.hpp.

Constructor & Destructor Documentation

◆ OpenGLTexture()

Sleak::RenderEngine::OpenGLTexture::OpenGLTexture ( )

Definition at line 8 of file OpenGLTexture.cpp.

◆ ~OpenGLTexture()

Sleak::RenderEngine::OpenGLTexture::~OpenGLTexture ( )
override

Definition at line 10 of file OpenGLTexture.cpp.

Member Function Documentation

◆ Bind()

void Sleak::RenderEngine::OpenGLTexture::Bind ( uint32_t slot = 0) const
overridevirtual

Implements Sleak::Texture.

Definition at line 60 of file OpenGLTexture.cpp.

◆ GetFormat()

TextureFormat Sleak::RenderEngine::OpenGLTexture::GetFormat ( ) const
inlineoverridevirtual

Implements Sleak::Texture.

Definition at line 33 of file OpenGLTexture.hpp.

◆ GetGLTexture()

GLuint Sleak::RenderEngine::OpenGLTexture::GetGLTexture ( ) const
inline

Definition at line 38 of file OpenGLTexture.hpp.

◆ GetHeight()

uint32_t Sleak::RenderEngine::OpenGLTexture::GetHeight ( ) const
inlineoverridevirtual

Implements Sleak::Texture.

Definition at line 32 of file OpenGLTexture.hpp.

◆ GetImGuiTextureID()

uint64_t Sleak::RenderEngine::OpenGLTexture::GetImGuiTextureID ( ) const
inlineoverridevirtual

Reimplemented from Sleak::Texture.

Definition at line 36 of file OpenGLTexture.hpp.

◆ GetLodBias()

float Sleak::RenderEngine::OpenGLTexture::GetLodBias ( ) const
inlineoverridevirtual

Reimplemented from Sleak::Texture.

Definition at line 29 of file OpenGLTexture.hpp.

◆ GetType()

TextureType Sleak::RenderEngine::OpenGLTexture::GetType ( ) const
inlineoverridevirtual

Implements Sleak::Texture.

Definition at line 34 of file OpenGLTexture.hpp.

◆ GetWidth()

uint32_t Sleak::RenderEngine::OpenGLTexture::GetWidth ( ) const
inlineoverridevirtual

Implements Sleak::Texture.

Definition at line 31 of file OpenGLTexture.hpp.

◆ LoadFromFile()

bool Sleak::RenderEngine::OpenGLTexture::LoadFromFile ( const std::string & filePath)
overridevirtual

Decodes an image file and uploads it as a new GL texture.

Implements Sleak::Texture.

Definition at line 43 of file OpenGLTexture.cpp.

◆ LoadFromMemory()

bool Sleak::RenderEngine::OpenGLTexture::LoadFromMemory ( const void * data,
uint32_t width,
uint32_t height,
TextureFormat format )
overridevirtual

Uploads raw pixel data as a new GL texture, generating mips.

Implements Sleak::Texture.

Definition at line 17 of file OpenGLTexture.cpp.

◆ SetFilter()

void Sleak::RenderEngine::OpenGLTexture::SetFilter ( TextureFilter filter)
overridevirtual

Implements Sleak::Texture.

Definition at line 69 of file OpenGLTexture.cpp.

◆ SetLodBias()

void Sleak::RenderEngine::OpenGLTexture::SetLodBias ( float bias)
overridevirtual

Reimplemented from Sleak::Texture.

Definition at line 110 of file OpenGLTexture.cpp.

◆ SetWrapMode()

void Sleak::RenderEngine::OpenGLTexture::SetWrapMode ( TextureWrapMode wrapMode)
overridevirtual

Implements Sleak::Texture.

Definition at line 117 of file OpenGLTexture.cpp.

◆ Unbind()

void Sleak::RenderEngine::OpenGLTexture::Unbind ( ) const
overridevirtual

Implements Sleak::Texture.

Definition at line 65 of file OpenGLTexture.cpp.