This class implements a 3D texture map. More...
#include <CTexture3d.h>
Public Member Functions | |
cTexture3d () | |
Constructor of cTexture3d. More... | |
virtual | ~cTexture3d () |
Destructor of cTexture3d. More... | |
cTexture3dPtr | copy () |
This method creates a copy of itself. More... | |
virtual void | renderInitialize (cRenderOptions &a_options) |
This method enables texturing and sets this texture as the current texture. More... | |
virtual void | renderFinalize (cRenderOptions &a_options) |
This method disables texture once triangles have been rendered. More... | |
virtual void | setWrapModeR (const GLint &a_wrapModeR) |
This method set the texture wrap mode of r. More... | |
GLint | getWrapModeR () const |
This method returns the texture wrap mode of r. More... | |
void | markForPartialUpdate (const cVector3d a_voxelUpdateMin, const cVector3d a_voxelUpdateMax) |
This method marks this texture for partial GPU update from RAM. More... | |
Public Member Functions inherited from chai3d::cTexture2d | |
cTexture2d () | |
Constructor of cTexture2d. More... | |
virtual | ~cTexture2d () |
Destructor of cTexture2d. More... | |
cTexture2dPtr | copy () |
This method creates a copy of itself. More... | |
virtual void | setWrapModeT (const GLint &a_wrapModeT) |
This method set the texture wrap mode of t. More... | |
GLint | getWrapModeT () const |
This method returns the texture wrap mode of t. More... | |
Public Member Functions inherited from chai3d::cTexture1d | |
cTexture1d () | |
Constructor of cTexture1d. More... | |
virtual | ~cTexture1d () |
Destructor of cTexture1d. More... | |
void | setTextureUnit (const GLenum a_textureUnit) |
This method set the texture unit where a_textureUnit is GL_TEXTUREi_ARB, where 0i<GL_MAX_TEXTURE_UNITS_ARB. More... | |
GLenum | getTextureUnit () const |
This method returns the texture unit value. More... | |
void | setTextureId (const GLuint a_textureId) |
This method sets the texture ID. More... | |
GLuint | getTextureId () |
This method returns the texture ID. More... | |
cTexture1dPtr | copy () |
This method creates a copy of itself. More... | |
virtual bool | loadFromFile (const std::string &a_fileName) |
This method load a texture image from a file. More... | |
virtual bool | saveToFile (const std::string &a_fileName) |
This method save a texture image to a file. More... | |
virtual void | markForUpdate () |
This method marks this texture for GPU update. More... | |
virtual void | markForDeleteAndUpdate () |
This method marks this texture for GPU deletion and reinitialization. More... | |
void | setEnvironmentMode (const GLint &a_environmentMode) |
This method sets the environment mode (GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE). More... | |
GLint | getEnvironmentMode () |
This method returns the environment mode status. More... | |
virtual void | setWrapModeS (const GLint &a_wrapModeS) |
This method set the texture wrap mode of s. More... | |
GLint | getWrapModeS () const |
This method returns the texture wrap mode of s. More... | |
void | setMagFunction (const GLint a_magFunction) |
This method sets the magnification function value. More... | |
GLint | getMagFunction () const |
This method returns the current magnification function value. More... | |
void | setMinFunction (const GLint a_minFunction) |
This method sets the minification function value. More... | |
GLint | getMinFunction () const |
This method returns the current minification function value. More... | |
void | setSphericalMappingEnabled (const bool a_enabled) |
This method enables of disables the spherical mapping mode. More... | |
bool | getSphericalMappingEnabled () const |
This method returns thestatus of the spherical mapping mode. More... | |
void | setUseMipmaps (bool a_useMipmaps) |
This method enables or disables the use of mipmaps. More... | |
bool | getUseMipmaps () |
This returns the the status of mipmaps. More... | |
bool | setImage (cImagePtr a_image) |
This method assigns an image to this texture. More... | |
Public Member Functions inherited from chai3d::cGenericTexture | |
cGenericTexture () | |
Constructor of cGenericTexture. More... | |
virtual | ~cGenericTexture () |
Destructor of cGenericTexture. More... | |
void | setEnabled (bool a_enabled) |
This method enables or disables texture mapping. More... | |
bool | getEnabled () const |
This method returns true if the texture map is enabled, false otherwise. More... | |
Static Public Member Functions | |
static cTexture3dPtr | create () |
Shared cTexture3d allocator. More... | |
Static Public Member Functions inherited from chai3d::cTexture2d | |
static cTexture2dPtr | create () |
Shared cTexture2d allocator. More... | |
Static Public Member Functions inherited from chai3d::cTexture1d | |
static cTexture1dPtr | create () |
Shared cTexture1d allocator. More... | |
Static Public Member Functions inherited from chai3d::cGenericTexture | |
static cGenericTexturePtr | create () |
Shared cGenericTexture allocator. More... | |
Protected Member Functions | |
virtual void | reset () |
This method resets internal variables. This function should be called only by constructors. More... | |
virtual void | update (cRenderOptions &a_options) |
This method updates this texture to GPU. More... | |
Protected Attributes | |
bool | m_markPartialUpdate |
If true the partial update is performed. More... | |
cVector3d | m_voxelUpdateMin |
Minimum voxel coordinate to be updated. More... | |
cVector3d | m_voxelUpdateMax |
Maximum voxel coordinate to be updated. More... | |
GLint | m_wrapModeR |
Texture wrap parameter along r (GL_REPEAT or GL_CLAMP). More... | |
Protected Attributes inherited from chai3d::cTexture2d | |
GLint | m_wrapModeT |
Texture wrap parameter along t (GL_REPEAT or GL_CLAMP). More... | |
Protected Attributes inherited from chai3d::cTexture1d | |
bool | m_deleteTextureFlag |
If true, texture bitmap needs to be deleted from GPU memory. More... | |
bool | m_updateTextureFlag |
If true, texture bitmap needs to be updated to GPU memory. More... | |
GLuint | m_textureID |
OpenGL texture ID number. More... | |
GLint | m_wrapModeS |
Texture wrap parameter along s (GL_REPEAT or GL_CLAMP). More... | |
GLint | m_magFunction |
Texture magnification function value. (GL_NEAREST or GL_LINEAR). More... | |
GLint | m_minFunction |
Texture minification function value. (GL_NEAREST or GL_LINEAR). More... | |
bool | m_useMipmaps |
If true, mipmaps are enabled. More... | |
bool | m_useSphericalMapping |
If true, spherical mapping is enable. More... | |
GLint | m_environmentMode |
OpenGL texture mode (GL_MODULATE, GL_DECAL, GL_BLEND, or GL_REPLACE). More... | |
GLenum | m_textureUnit |
Texture unit number. More... | |
GLint | m_magFunctionMipmapsOFF |
Texture magnification function when mipmapping is OFF. More... | |
GLint | m_minFunctionMipmapsOFF |
Texture minification function when mipmapping is OFF. More... | |
GLint | m_magFunctionMipmapsON |
Texture magnification function when mipmapping is ON. More... | |
GLint | m_minFunctionMipmapsON |
Texture minification function when mipmapping is ON. More... | |
Protected Attributes inherited from chai3d::cGenericTexture | |
bool | m_enabled |
If true, this texture is enabled, false otherwise. More... | |
Additional Inherited Members | |
Public Attributes inherited from chai3d::cTexture1d | |
cImagePtr | m_image |
Image object associated with texture (use this to get data about the texture itself). More... | |
cColorf | m_color |
Environmental color. More... | |
This class implements a 3D texture map.
chai3d::cTexture3d::cTexture3d | ( | ) |
Constructor of cTexture3d.
|
virtual |
Destructor of cTexture3d.
|
inlinestatic |
cTexture3dPtr chai3d::cTexture3d::copy | ( | ) |
This method creates a copy of itself.
|
virtual |
This method enables texturing and set this texture as the current texture.
a_options | Rendering options. |
Reimplemented from chai3d::cTexture2d.
|
virtual |
This method disables texture once triangles have been rendered.
a_options | Rendering options. |
Reimplemented from chai3d::cTexture2d.
|
virtual |
This method sets the wrap parameter for texture coordinate r to either GL_CLAMP or GL_REPEAT.
GL_CLAMP causes r coordinates to be clamped to the range [0,1] and is useful for preventing wrapping artifacts when mapping a single image onto an object.
GL_REPEAT causes the integer part of the r coordinate to be ignored; OpenGL uses only the fractional part, thereby creating a repeating pattern. Border texture elements are accessed only if wrapping is set to GL_CLAMP.
a_wrapModeR | value shall be either GL_REPEAT or GL_CLAMP. |
|
inline |
void chai3d::cTexture3d::markForPartialUpdate | ( | const cVector3d | a_voxelUpdateMin, |
const cVector3d | a_voxelUpdateMax | ||
) |
This method marks this texture for partial GPU update from RAM.
a_voxelUpdateMin | Lowest voxel to be updated. |
a_voxelUpdateMax | Highest voxel to be updated. |
|
protectedvirtual |
This method reset all internal variables. This function should be called only by constructors.
Reimplemented from chai3d::cTexture2d.
|
protectedvirtual |
This method updates the texture from memory data to GPU.
a_options | Rendering options. |
Reimplemented from chai3d::cTexture2d.
|
protected |
|
protected |
|
protected |
|
protected |