29 GLTexture3D(GLint magFilter=GL_NEAREST, GLint minFilter=GL_NEAREST,
30 GLint wrapX=GL_REPEAT, GLint wrapY=GL_REPEAT, GLint wrapZ=GL_REPEAT);
44 const GLuint
getId()
const;
58 void setEmpty(uint32_t width, uint32_t height, uint32_t depth, uint8_t componentCount,
bool isFloat=
false);
69 void setData(
const std::vector<GLubyte>& data, uint32_t width, uint32_t height, uint32_t depth, uint8_t componentCount=4);
75 void setData(
const std::vector<GLubyte>& data);
86 void setData(
const std::vector<GLfloat>& data, uint32_t width, uint32_t height, uint32_t depth, uint8_t componentCount=4);
92 void setData(
const std::vector<GLfloat>& data);
105 uint32_t
getSize()
const {
return height*width*depth*componentCount;}
110#ifndef __EMSCRIPTEN__
119 GLint internalformat;
128 std::vector<GLubyte> data;
129 std::vector<GLfloat> fdata;
133 uint8_t componentCount;
145 void setData(GLvoid* data, uint32_t width, uint32_t height, uint32_t depth,
146 uint8_t componentCount,
bool isFloat);
Cross‑platform OpenGL window/context helper for desktop and Emscripten.
uint32_t getComponentCount() const
Components per texel (1..4).
Definition GLTexture3D.h:103
bool getIsFloat() const
True if the storage/type is floating point.
Definition GLTexture3D.h:107
~GLTexture3D()
Destroy and delete the GL texture name.
Definition GLTexture3D.cpp:28
uint32_t getDepth() const
Texture depth (texels).
Definition GLTexture3D.h:101
void setData(const std::vector< GLubyte > &data, uint32_t width, uint32_t height, uint32_t depth, uint8_t componentCount=4)
Upload unsigned-byte data with explicit dimensions.
Definition GLTexture3D.cpp:80
void setEmpty(uint32_t width, uint32_t height, uint32_t depth, uint8_t componentCount, bool isFloat=false)
Allocate an empty texture of given size and format.
Definition GLTexture3D.cpp:73
const GLuint getId() const
Retrieve the OpenGL texture object name.
Definition GLTexture3D.cpp:61
GLTexture3D & operator=(GLTexture3D other)
Copy-assign and duplicate texture contents and parameters.
Definition GLTexture3D.cpp:43
uint32_t getWidth() const
Texture width (texels).
Definition GLTexture3D.h:99
uint32_t getSize() const
Total number of elements (width*height*depth*components).
Definition GLTexture3D.h:105
uint32_t getHeight() const
Texture height (texels).
Definition GLTexture3D.h:97
void clear()
Clear the texture to an empty image preserving dimensions/type.
Definition GLTexture3D.cpp:65
const std::vector< GLubyte > & getDataByte()
Read back raw unsigned bytes via glGetTexImage.
Definition GLTexture3D.cpp:139
GLTexture3D(GLint magFilter=GL_NEAREST, GLint minFilter=GL_NEAREST, GLint wrapX=GL_REPEAT, GLint wrapY=GL_REPEAT, GLint wrapZ=GL_REPEAT)
Create an empty GL_TEXTURE_3D and set sampler parameters.
Definition GLTexture3D.cpp:3
const std::vector< GLfloat > & getDataFloat()
Read back raw floats via glGetTexImage.
Definition GLTexture3D.cpp:147