chai3d::cTexture3d Class Reference

This class implements a 3D texture map. More...

#include <CTexture3d.h>

Inheritance diagram for chai3d::cTexture3d:

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...
 

Detailed Description

This class implements a 3D texture map.

Constructor & Destructor Documentation

chai3d::cTexture3d::cTexture3d ( )

Constructor of cTexture3d.

chai3d::cTexture3d::~cTexture3d ( )
virtual

Destructor of cTexture3d.

Member Function Documentation

static cTexture3dPtr chai3d::cTexture3d::create ( )
inlinestatic
cTexture3dPtr chai3d::cTexture3d::copy ( )

This method creates a copy of itself.

Returns
Pointer to new object.
void chai3d::cTexture3d::renderInitialize ( cRenderOptions a_options)
virtual

This method enables texturing and set this texture as the current texture.

Parameters
a_optionsRendering options.

Reimplemented from chai3d::cTexture2d.

void chai3d::cTexture3d::renderFinalize ( cRenderOptions a_options)
virtual

This method disables texture once triangles have been rendered.

Parameters
a_optionsRendering options.

Reimplemented from chai3d::cTexture2d.

void chai3d::cTexture3d::setWrapModeR ( const GLint &  a_wrapModeR)
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.

Parameters
a_wrapModeRvalue shall be either GL_REPEAT or GL_CLAMP.
GLint chai3d::cTexture3d::getWrapModeR ( ) const
inline
void chai3d::cTexture3d::markForPartialUpdate ( const cVector3d  a_voxelUpdateMin,
const cVector3d  a_voxelUpdateMax 
)

This method marks this texture for partial GPU update from RAM.

Parameters
a_voxelUpdateMinLowest voxel to be updated.
a_voxelUpdateMaxHighest voxel to be updated.
void chai3d::cTexture3d::reset ( )
protectedvirtual

This method reset all internal variables. This function should be called only by constructors.

Reimplemented from chai3d::cTexture2d.

void chai3d::cTexture3d::update ( cRenderOptions a_options)
protectedvirtual

This method updates the texture from memory data to GPU.

Parameters
a_optionsRendering options.

Reimplemented from chai3d::cTexture2d.

Member Data Documentation

bool chai3d::cTexture3d::m_markPartialUpdate
protected
cVector3d chai3d::cTexture3d::m_voxelUpdateMin
protected
cVector3d chai3d::cTexture3d::m_voxelUpdateMax
protected
GLint chai3d::cTexture3d::m_wrapModeR
protected

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