Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
CGLTexture Class Reference

#include <TextureGL.h>

Inheritance diagram for CGLTexture:
CTexture CTextureBase

Public Member Functions

 CGLTexture (unsigned int width=0, unsigned int height=0, XB_FMT format=XB_FMT_A8R8G8B8)
 
 ~CGLTexture () override
 
void CreateTextureObject () override
 
void DestroyTextureObject () override
 
void LoadToGPU () override
 
void BindToUnit (unsigned int unit) override
 
- Public Member Functions inherited from CTexture
 CTexture (unsigned int width=0, unsigned int height=0, XB_FMT format=XB_FMT_A8R8G8B8)
 
virtual ~CTexture ()
 
bool LoadFromMemory (unsigned int width, unsigned int height, unsigned int pitch, XB_FMT format, bool hasAlpha, const unsigned char *pixels)
 
bool LoadPaletted (unsigned int width, unsigned int height, unsigned int pitch, XB_FMT format, const unsigned char *pixels, const COLOR *palette)
 
void Update (unsigned int width, unsigned int height, unsigned int pitch, XB_FMT format, const unsigned char *pixels, bool loadToGPU)
 
- Public Member Functions inherited from CTextureBase
 CTextureBase ()=default
 
 ~CTextureBase ()=default
 
bool HasAlpha () const
 
void SetAlpha (bool hasAlpha)
 
void SetMipmapping ()
 sets mipmapping. do not use in new code. will be replaced with proper scaling.
 
bool IsMipmapped () const
 return true if we want to mipmap
 
void SetScalingMethod (TEXTURE_SCALING scalingMethod)
 sets the scaling method. scanout systems might support more than NN/linear.
 
TEXTURE_SCALING GetScalingMethod () const
 returns the scaling method.
 
int32_t GetOrientation () const
 
void SetOrientation (int orientation)
 
void SetCacheMemory (bool bCacheMemory)
 retains a shadow copy of the texture on the CPU side.
 
bool GetCacheMemory () const
 returns true if a shadow copy is kept on the CPU side.
 
uint8_tGetPixels () const
 returns a pointer to the staging texture.
 
uint32_t GetPitch () const
 return the size of one row in bytes.
 
uint32_t GetRows () const
 return the number of rows (number of blocks in the Y direction).
 
uint32_t GetTextureWidth () const
 return the total width of the texture, which might be scaled to fit its displayed size.
 
uint32_t GetTextureHeight () const
 return the total height of the texture, which might be scaled to fit its displayed size.
 
uint32_t GetWidth () const
 return the total width of "active" area, which might be equal or lower than the texture width due to alignment.
 
uint32_t GetHeight () const
 return the total height of "active" area, which might be equal or lower than the texture height due to alignment.
 
uint32_t GetOriginalWidth () const
 return the original width of the image, before scaling/cropping
 
uint32_t GetOriginalHeight () const
 return the original height of the image, before scaling/cropping
 
void Allocate (uint32_t width, uint32_t height, XB_FMT format)
 
void ClampToEdge ()
 

Protected Attributes

GLuint m_texture = 0
 
bool m_isOglVersion3orNewer = false
 
- Protected Attributes inherited from CTextureBase
uint32_t m_imageWidth {0}
 
uint32_t m_imageHeight {0}
 
uint32_t m_textureWidth {0}
 
uint32_t m_textureHeight {0}
 
uint32_t m_originalWidth {0}
 original image width before scaling or cropping
 
uint32_t m_originalHeight {0}
 original image height before scaling or cropping
 
uint8_tm_pixels {nullptr}
 
bool m_loadedToGPU {false}
 
KD_TEX_FMT m_textureFormat {KD_TEX_FMT_UNKNOWN}
 
KD_TEX_SWIZ m_textureSwizzle {KD_TEX_SWIZ_RGBA}
 
KD_TEX_COL m_textureColorspace {KD_TEX_COL_REC709}
 
KD_TEX_TRANSFER m_textureTransfer {KD_TEX_TRANSFER_SRGB}
 
KD_TEX_ALPHA m_textureAlpha {KD_TEX_ALPHA_STRAIGHT}
 
XB_FMT m_format {XB_FMT_UNKNOWN}
 
int32_t m_orientation {0}
 
bool m_hasAlpha {true}
 
bool m_mipmapping {false}
 
TEXTURE_SCALING m_scalingMethod {TEXTURE_SCALING::LINEAR}
 
bool m_bCacheMemory {false}
 

Additional Inherited Members

- Static Public Member Functions inherited from CTexture
static std::unique_ptr< CTextureCreateTexture (unsigned int width=0, unsigned int height=0, XB_FMT format=XB_FMT_A8R8G8B8)
 
static std::unique_ptr< CTextureLoadFromFile (const std::string &texturePath, unsigned int idealWidth=0, unsigned int idealHeight=0, bool requirePixels=false, const std::string &strMimeType="")
 Load a texture from a file Loads a texture from a file, restricting in size if needed based on maxHeight and maxWidth. Note that these are the ideal size to load at - the returned texture may be smaller or larger than these.
 
static std::unique_ptr< CTextureLoadFromFileInMemory (unsigned char *buffer, size_t bufferSize, const std::string &mimeType, unsigned int idealWidth=0, unsigned int idealHeight=0)
 Load a texture from a file in memory Loads a texture from a file in memory, restricting in size if needed based on maxHeight and maxWidth. Note that these are the ideal size to load at - the returned texture may be smaller or larger than these.
 
- Static Public Member Functions inherited from CTextureBase
static uint32_t PadPow2 (uint32_t x)
 rounds to power of two. deprecated.
 
static bool SwapBlueRed (uint8_t *pixels, uint32_t height, uint32_t pitch, uint32_t elements=4, uint32_t offset=0)
 swaps the blue/red channel. deprecated in this form.
 
- Protected Member Functions inherited from CTexture
bool LoadFromFileInMem (unsigned char *buffer, size_t size, const std::string &mimeType, unsigned int maxWidth, unsigned int maxHeight)
 
bool LoadFromFileInternal (const std::string &texturePath, unsigned int maxWidth, unsigned int maxHeight, bool requirePixels, const std::string &strMimeType="")
 
bool LoadIImage (IImage *pImage, unsigned char *buffer, unsigned int bufSize, unsigned int width, unsigned int height)
 
- Protected Member Functions inherited from CTextureBase
uint32_t GetPitch (uint32_t width) const
 
uint32_t GetRows (uint32_t height) const
 
uint32_t GetBlockWidth () const
 
uint32_t GetBlockHeight () const
 
uint32_t GetBlockSize () const
 return the size of a compression block (tile) in bytes.
 
void SetKDFormat (XB_FMT xbFMT)
 

Constructor & Destructor Documentation

◆ CGLTexture()

CGLTexture::CGLTexture ( unsigned int width = 0,
unsigned int height = 0,
XB_FMT format = XB_FMT_A8R8G8B8 )

◆ ~CGLTexture()

CGLTexture::~CGLTexture ( )
override

Member Function Documentation

◆ BindToUnit()

void CGLTexture::BindToUnit ( unsigned int unit)
overridevirtual

Implements CTexture.

◆ CreateTextureObject()

void CGLTexture::CreateTextureObject ( )
overridevirtual

Implements CTexture.

◆ DestroyTextureObject()

void CGLTexture::DestroyTextureObject ( )
overridevirtual

Implements CTexture.

◆ LoadToGPU()

void CGLTexture::LoadToGPU ( )
overridevirtual

Implements CTexture.

Member Data Documentation

◆ m_isOglVersion3orNewer

bool CGLTexture::m_isOglVersion3orNewer = false
protected

◆ m_texture

GLuint CGLTexture::m_texture = 0
protected

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