42 GLTextureCube(GLint magFilter=GL_NEAREST, GLint minFilter=GL_NEAREST,
43 GLint wrapX=GL_CLAMP_TO_EDGE, GLint wrapY=GL_CLAMP_TO_EDGE,
44 GLint wrapZ=GL_CLAMP_TO_EDGE);
59 GLint magFilter=GL_NEAREST, GLint minFilter=GL_NEAREST,
60 GLint wrapX=GL_REPEAT, GLint wrapY=GL_REPEAT);
71 const GLuint
getId()
const;
84 void setEmpty(uint32_t width, uint32_t height, uint8_t componentCount,
103 void setData(
const std::vector<GLubyte>& data, uint32_t width,
104 uint32_t height,
Face face, uint8_t componentCount=4);
111 void setData(
const std::vector<GLubyte>& data,
Face face);
122 void setData(
const std::vector<GLfloat>& data, uint32_t width,
123 uint32_t height,
Face face, uint8_t componentCount=4);
130 void setData(
const std::vector<GLfloat>& data,
Face face);
141 void setData(
const std::vector<GLhalf>& data, uint32_t width,
142 uint32_t height,
Face face, uint8_t componentCount=4);
156 void setFilter(GLint magFilter, GLint minFilter);
163 uint32_t
getSize()
const {
return height*width*componentCount;}
172 GLint internalformat;
181 std::vector<GLubyte> data;
182 std::vector<GLhalf> hdata;
183 std::vector<GLfloat> fdata;
186 uint8_t componentCount{0};
198 void setData(GLvoid* data, uint32_t width, uint32_t height,
Face face,
Cross‑platform OpenGL window/context helper for desktop and Emscripten.
GLDataType
Element type selector for texture uploads/allocations.
Definition GLEnv.h:43
@ BYTE
Definition GLEnv.h:43
Face
Definition GLTextureCube.h:19
@ NEGZ
−Z face (GL_TEXTURE_CUBE_MAP_NEGATIVE_Z).
Definition GLTextureCube.h:25
@ POSY
+Y face (GL_TEXTURE_CUBE_MAP_POSITIVE_Y).
Definition GLTextureCube.h:22
@ POSZ
+Z face (GL_TEXTURE_CUBE_MAP_POSITIVE_Z).
Definition GLTextureCube.h:24
@ POSX
+X face (GL_TEXTURE_CUBE_MAP_POSITIVE_X).
Definition GLTextureCube.h:20
@ NEGY
−Y face (GL_TEXTURE_CUBE_MAP_NEGATIVE_Y).
Definition GLTextureCube.h:23
@ NEGX
−X face (GL_TEXTURE_CUBE_MAP_NEGATIVE_X).
Definition GLTextureCube.h:21
Lightweight image container with basic processing utilities.
void generateMipmap()
Generate mipmaps for the cube map.
Definition GLTextureCube.cpp:285
uint32_t getSize() const
Elements per face.
Definition GLTextureCube.h:163
void setData(const std::vector< GLhalf > &data, Face face)
Upload one face from 16‑bit half‑float data using existing dimensions.
~GLTextureCube()
Destroy and delete the GL texture name.
Definition GLTextureCube.cpp:58
const GLuint getId() const
Retrieve the OpenGL texture object name.
Definition GLTextureCube.cpp:114
uint32_t getComponentCount() const
Components per texel (1..4).
Definition GLTextureCube.h:162
GLTextureCube & operator=(const GLTextureCube &other)
Copy‑assign and duplicate texture contents and parameters.
Definition GLTextureCube.cpp:82
void setFilter(GLint magFilter, GLint minFilter)
Update filtering parameters on the bound cube map.
Definition GLTextureCube.cpp:49
GLTextureCube(GLint magFilter=GL_NEAREST, GLint minFilter=GL_NEAREST, GLint wrapX=GL_CLAMP_TO_EDGE, GLint wrapY=GL_CLAMP_TO_EDGE, GLint wrapZ=GL_CLAMP_TO_EDGE)
Create an empty cube map and apply sampler parameters.
Definition GLTextureCube.cpp:6
void clear()
Clear the texture by reinitializing the current storage.
Definition GLTextureCube.cpp:118
void setData(const Image &image, Face face)
Upload one face from an Image (unsigned bytes).
Definition GLTextureCube.cpp:122
uint32_t getWidth() const
Face width in texels.
Definition GLTextureCube.h:161
uint32_t getHeight() const
Face height in texels.
Definition GLTextureCube.h:160
void setEmpty(uint32_t width, uint32_t height, uint8_t componentCount, GLDataType dataType=GLDataType::BYTE)
Allocate empty storage for all six faces.
Definition GLTextureCube.cpp:135
GLDataType getType() const
Element type (BYTE/HALF/FLOAT).
Definition GLTextureCube.h:164