Texture Class Reference

#include <TAPsOpenGLTexture.hpp>

List of all members.

Public Member Functions

void BindTexture (unsigned short idx=0)
void ChangeTexture (GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum pixelFormat, GLenum dataType, GLvoid *texels=NULL, unsigned short numOfTextures=1)
void ChangeTexture (GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum pixelFormat, GLenum dataType, GLvoid *texels=NULL, unsigned short numOfTextures=1)
void ChangeTexture (GLenum target, GLint level, GLint internalFormat, GLsizei width, GLint border, GLenum pixelFormat, GLenum dataType, GLvoid *texels=NULL, unsigned short numOfTextures=1)
void CreateTexture (GLvoid const *texels)
void DeleteTexture ()
void DisableTextureTarget ()
void EnableTextureTarget ()
GLint GetBorder () const
GLenum GetDataType () const
GLsizei GetDepth () const
GLsizei GetHeight () const
GLint GetInternalFormat () const
unsigned char GetInternalFormatNumberOfComponents () const
GLint GetLevel () const
short GetMaxCoordR () const
short GetMaxCoordS () const
short GetMaxCoordT () const
short GetMinCoordR () const
short GetMinCoordS () const
short GetMinCoordT () const
unsigned short GetNumberOfTextures () const
GLenum GetPixelFormat () const
unsigned char GetPixelFormatNumberOfComponents () const
GLenum GetTarget () const
GLuint GetTexture (unsigned short idx=0) const
GLsizei GetWidth () const
void NextOfCircularBuffer ()
void PrintTextureData (unsigned short texNum=0)
void SetBorder (GLint border)
void SetDataType (GLenum dataType)
void SetDepth (GLsizei depth)
void SetHeight (GLsizei height)
void SetInternalFormat (GLint inFormat)
void SetLevel (GLint level)
void SetMaxCoordR (short maxCoordR)
void SetMaxCoordS (short maxCoordS)
void SetMaxCoordT (short maxCoordT)
void SetMinCoordR (short minCoordR)
void SetMinCoordS (short minCoordS)
void SetMinCoordT (short minCoordT)
void SetNumberOfTextures (unsigned short numOfTextures)
void SetParameterMagFilter (GLint param)
void SetParameterMinFilter (GLint param)
void SetParameterWrapR (GLint param)
void SetParameterWrapS (GLint param)
void SetParameterWrapT (GLint param)
void SetPixelFormat (GLenum pixFormat)
void SetTarget (GLenum target)
void SetWidth (GLsizei width)
 Texture (GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum pixelFormat, GLenum dataType, GLvoid *texels=NULL, unsigned short numOfTextures=1, GLint magFilter=GL_NEAREST, GLint minFilter=GL_NEAREST, GLint wrapS=GL_CLAMP, GLint wrapT=GL_CLAMP, GLint wrapR=GL_CLAMP)
 Texture (GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum pixelFormat, GLenum dataType, GLvoid *texels=NULL, unsigned short numOfTextures=1, GLint magFilter=GL_NEAREST, GLint minFilter=GL_NEAREST, GLint wrapS=GL_CLAMP, GLint wrapT=GL_CLAMP, GLint wrapR=GL_CLAMP)
 Texture (GLenum target, GLint level, GLint internalFormat, GLsizei width, GLint border, GLenum pixelFormat, GLenum dataType, GLvoid *texels=NULL, unsigned short numOfTextures=1, GLint magFilter=GL_NEAREST, GLint minFilter=GL_NEAREST, GLint wrapS=GL_CLAMP, GLint wrapT=GL_CLAMP, GLint wrapR=GL_CLAMP)
 Texture ()
void UnbindTexture ()
void UseParameters ()
 ~Texture ()

Protected Member Functions

template<typename T>
void CreateTexImageFrom (T const *texels)
template<typename T>
void PrintTextureData (unsigned short texNum, T *outData, unsigned int size)

Protected Attributes

GLint m_Border
GLenum m_DataType
GLsizei m_Depth
GLsizei m_Height
GLint m_InternalFormat
unsigned char m_InternalFormatNumOfComponents
GLint m_Level
short m_MaxCoordR
short m_MaxCoordS
short m_MaxCoordT
short m_MinCoordR
short m_MinCoordS
short m_MinCoordT
unsigned short m_NumOfTextures
GLint m_ParamTex_MagFilter
GLint m_ParamTex_MinFilter
GLint m_ParamTex_Wrap_R
GLint m_ParamTex_Wrap_S
GLint m_ParamTex_Wrap_T
GLenum m_PixelFormat
unsigned char m_PixelFormatNumOfComponents
GLenum m_Target
GLuint * m_TextureNames
GLsizei m_Width

Friends

std::ostream & operator<< (std::ostream &output, Texture const &o)


Detailed Description

TAPs::OpenGL::Texture A simple class for storing parameters of a (1D-3D) texture with some static functions to help initializing and using the texture

Definition at line 26 of file TAPsOpenGLTexture.hpp.


Constructor & Destructor Documentation

BEGIN_NAMESPACE_TAPs__OpenGL Texture::Texture (  ) 

Default Constructor

Definition at line 17 of file TAPsOpenGLTexture.cpp.

00017                   : m_TextureNames( NULL )
00018 {
00019     m_ParamTex_Wrap_S = GL_CLAMP;
00020     m_ParamTex_Wrap_T = GL_CLAMP;
00021     m_ParamTex_Wrap_R = GL_CLAMP;
00022     m_ParamTex_MagFilter = GL_NEAREST;
00023     m_ParamTex_MinFilter = GL_NEAREST;
00024     //
00025     ChangeTexture( 
00026         GL_TEXTURE_2D, 0, GL_RGBA, 
00027         1, 1, 1, 
00028         0, GL_RGBA, GL_UNSIGNED_BYTE, 
00029         NULL, 
00030         1
00031     );
00032 }

Texture::Texture ( GLenum  target,
GLint  level,
GLint  internalFormat,
GLsizei  width,
GLint  border,
GLenum  pixelFormat,
GLenum  dataType,
GLvoid *  texels = NULL,
unsigned short  numOfTextures = 1,
GLint  magFilter = GL_NEAREST,
GLint  minFilter = GL_NEAREST,
GLint  wrapS = GL_CLAMP,
GLint  wrapT = GL_CLAMP,
GLint  wrapR = GL_CLAMP 
)

Constructor for 1D Texture

Definition at line 35 of file TAPsOpenGLTexture.cpp.

00054   : m_TextureNames( NULL )
00055 {
00056     std::cout << "START new Texture()" << std::endl;
00057 
00058     m_ParamTex_Wrap_S = wrapS;
00059     m_ParamTex_Wrap_T = wrapT;
00060     m_ParamTex_Wrap_R = wrapR;
00061     m_ParamTex_MagFilter = magFilter;
00062     m_ParamTex_MinFilter = minFilter;
00063     //
00064     ChangeTexture( 
00065         target, level, internalFormat, 
00066         width, 1, 1, 
00067         border, pixelFormat, dataType, 
00068         texels, 
00069         numOfTextures
00070     );
00071 }

Texture::Texture ( GLenum  target,
GLint  level,
GLint  internalFormat,
GLsizei  width,
GLsizei  height,
GLint  border,
GLenum  pixelFormat,
GLenum  dataType,
GLvoid *  texels = NULL,
unsigned short  numOfTextures = 1,
GLint  magFilter = GL_NEAREST,
GLint  minFilter = GL_NEAREST,
GLint  wrapS = GL_CLAMP,
GLint  wrapT = GL_CLAMP,
GLint  wrapR = GL_CLAMP 
)

Constructor for 2D Texture

Definition at line 74 of file TAPsOpenGLTexture.cpp.

00094   : m_TextureNames( NULL )
00095 {
00096     m_ParamTex_Wrap_S = wrapS;
00097     m_ParamTex_Wrap_T = wrapT;
00098     m_ParamTex_Wrap_R = wrapR;
00099     m_ParamTex_MagFilter = magFilter;
00100     m_ParamTex_MinFilter = minFilter;
00101     //
00102     ChangeTexture( 
00103         target, level, internalFormat, 
00104         width, height, 1, 
00105         border, pixelFormat, dataType, 
00106         texels, 
00107         numOfTextures
00108     );
00109 }

Texture::Texture ( GLenum  target,
GLint  level,
GLint  internalFormat,
GLsizei  width,
GLsizei  height,
GLsizei  depth,
GLint  border,
GLenum  pixelFormat,
GLenum  dataType,
GLvoid *  texels = NULL,
unsigned short  numOfTextures = 1,
GLint  magFilter = GL_NEAREST,
GLint  minFilter = GL_NEAREST,
GLint  wrapS = GL_CLAMP,
GLint  wrapT = GL_CLAMP,
GLint  wrapR = GL_CLAMP 
)

Constructor for 3D Texture

Definition at line 112 of file TAPsOpenGLTexture.cpp.

00133   : m_TextureNames( NULL )
00134 {
00135     m_ParamTex_MagFilter = magFilter;
00136     m_ParamTex_MinFilter = minFilter;
00137     m_ParamTex_Wrap_S = wrapS;
00138     m_ParamTex_Wrap_T = wrapT;
00139     m_ParamTex_Wrap_R = wrapR;
00140     //
00141     ChangeTexture( 
00142         target, level, internalFormat, 
00143         width, height, depth, 
00144         border, pixelFormat, dataType, 
00145         texels, 
00146         numOfTextures
00147     );
00148 }

Texture::~Texture (  ) 

Destructor

Definition at line 151 of file TAPsOpenGLTexture.cpp.

00152 {
00153     DeleteTexture();
00154 }


Member Function Documentation

void Texture::BindTexture ( unsigned short  idx = 0  )  [inline]

Definition at line 279 of file TAPsOpenGLTexture.hpp.

00279                                                {
00280         assert( 0 <= idx && idx < m_NumOfTextures );
00281         glBindTexture( m_Target, m_TextureNames[ idx ] );
00282     }

void Texture::ChangeTexture ( GLenum  target,
GLint  level,
GLint  internalFormat,
GLsizei  width,
GLsizei  height,
GLsizei  depth,
GLint  border,
GLenum  pixelFormat,
GLenum  dataType,
GLvoid *  texels = NULL,
unsigned short  numOfTextures = 1 
)

Definition at line 232 of file TAPsOpenGLTexture.cpp.

00248 {
00249     //-----------------------------------------------------
00250     m_Target    =   target;
00251     m_Level     =   level;
00252     m_InternalFormat    =   internalFormat;
00253     m_Width     =   width;
00254     m_Height    =   height;
00255     m_Depth     =   depth;
00256     m_Border    =   border;
00257     m_PixelFormat       =   pixelFormat;
00258     m_DataType  =   dataType;
00259     //-----------------------
00260     m_NumOfTextures = numOfTextures;
00261     //-----------------------------------------------------
00262     CreateTexture( texels );
00263 }

void Texture::ChangeTexture ( GLenum  target,
GLint  level,
GLint  internalFormat,
GLsizei  width,
GLsizei  height,
GLint  border,
GLenum  pixelFormat,
GLenum  dataType,
GLvoid *  texels = NULL,
unsigned short  numOfTextures = 1 
)

Definition at line 199 of file TAPsOpenGLTexture.cpp.

00214 {
00215     //-----------------------------------------------------
00216     m_Target    =   target;
00217     m_Level     =   level;
00218     m_InternalFormat    =   internalFormat;
00219     m_Width     =   width;
00220     m_Height    =   height;
00221     m_Depth     =   1;
00222     m_Border    =   border;
00223     m_PixelFormat       =   pixelFormat;
00224     m_DataType  =   dataType;
00225     //-----------------------
00226     m_NumOfTextures = numOfTextures;
00227     //-----------------------------------------------------
00228     CreateTexture( texels );
00229 }

void Texture::ChangeTexture ( GLenum  target,
GLint  level,
GLint  internalFormat,
GLsizei  width,
GLint  border,
GLenum  pixelFormat,
GLenum  dataType,
GLvoid *  texels = NULL,
unsigned short  numOfTextures = 1 
)

Definition at line 167 of file TAPsOpenGLTexture.cpp.

00181 {
00182     //-----------------------------------------------------
00183     m_Target    =   target;
00184     m_Level     =   level;
00185     m_InternalFormat    =   internalFormat;
00186     m_Width     =   width;
00187     m_Height    =   1;
00188     m_Depth     =   1;
00189     m_Border    =   border;
00190     m_PixelFormat       =   pixelFormat;
00191     m_DataType  =   dataType;
00192     //-----------------------
00193     m_NumOfTextures = numOfTextures;
00194     //-----------------------------------------------------
00195     CreateTexture( texels );
00196 }

template<typename T>
void Texture::CreateTexImageFrom ( T const *  texels  )  [inline, protected]

Definition at line 526 of file TAPsOpenGLTexture.cpp.

00527 {
00528     if ( m_Target == GL_TEXTURE_2D || m_Target == GL_TEXTURE_RECTANGLE_ARB ) {
00529         if ( texels ) {
00530             int idx = 0;
00531             int offset = m_Width * m_Height * m_PixelFormatNumOfComponents;
00532             for ( int i = 0; i < m_NumOfTextures; ++i ) {
00533                 glBindTexture( m_Target, m_TextureNames[i] );
00534                 UseParameters();
00535                 glTexImage2D( m_Target, m_Level, m_InternalFormat, 
00536                     m_Width, m_Height, m_Border, 
00537                     m_PixelFormat, m_DataType, 
00538                     &texels[ idx ] 
00539                 );
00540                 idx += offset;
00541             }
00542         }
00543         else {
00544             for ( int i = 0; i < m_NumOfTextures; ++i ) {
00545                 glBindTexture( m_Target, m_TextureNames[i] );
00546                 UseParameters();
00547                 glTexImage2D( m_Target, m_Level, m_InternalFormat, 
00548                     m_Width, m_Height, m_Border, 
00549                     m_PixelFormat, m_DataType, 
00550                     NULL 
00551                 );
00552             }
00553         }
00554     }
00555     else if ( m_Target == GL_TEXTURE_3D ) {
00556         if ( texels ) {
00557             int idx = 0;
00558             int offset = m_Width * m_Height * m_Depth * m_PixelFormatNumOfComponents;
00559             for ( int i = 0; i < m_NumOfTextures; ++i ) {
00560                 glBindTexture( m_Target, m_TextureNames[i] );
00561                 UseParameters();
00562                 glTexImage3D( m_Target, m_Level, m_InternalFormat, 
00563                     m_Width, m_Height, m_Depth, m_Border, 
00564                     m_PixelFormat, m_DataType, 
00565                     &texels[ idx ] 
00566                 );
00567                 idx += offset;
00568             }
00569         }
00570         else {
00571             for ( int i = 0; i < m_NumOfTextures; ++i ) {
00572                 glBindTexture( m_Target, m_TextureNames[i] );
00573                 UseParameters();
00574                 glTexImage3D( m_Target, m_Level, m_InternalFormat, 
00575                     m_Width, m_Height, m_Depth, m_Border, 
00576                     m_PixelFormat, m_DataType, 
00577                     NULL 
00578                 );
00579             }
00580         }
00581     }
00582     else if ( m_Target == GL_TEXTURE_1D ) {
00583         if ( texels ) {
00584             int idx = 0;
00585             int offset = m_Width * m_PixelFormatNumOfComponents;
00586             for ( int i = 0; i < m_NumOfTextures; ++i ) {
00587                 glBindTexture( m_Target, m_TextureNames[i] );
00588                 UseParameters();
00589                 glTexImage1D( m_Target, m_Level, m_InternalFormat, 
00590                     m_Width, m_Border, 
00591                     m_PixelFormat, m_DataType, 
00592                     &texels[ idx ] 
00593                 );
00594                 idx += offset;
00595             }
00596         }
00597         else {
00598             for ( int i = 0; i < m_NumOfTextures; ++i ) {
00599                 glBindTexture( m_Target, m_TextureNames[i] );
00600                 UseParameters();
00601                 glTexImage1D( m_Target, m_Level, m_InternalFormat, 
00602                     m_Width, m_Border, 
00603                     m_PixelFormat, m_DataType, 
00604                     NULL 
00605                 );
00606             }
00607         }
00608     }
00609     else {
00610         std::cerr << "Texture Type is unsupported!" << std::endl;
00611         assert( false );
00612     }
00613 }

void Texture::CreateTexture ( GLvoid const *  texels  ) 

Definition at line 266 of file TAPsOpenGLTexture.cpp.

00267 {
00268     DeleteTexture ();
00269     //-----------------------------------------------------
00270     // Set Number of Components for Internal Format 
00271     //-----------------------------------------------------
00272     // FOUR COMPONENTS
00273     if      ( m_InternalFormat == 4 
00274            || m_InternalFormat == GL_COMPRESSED_RGBA 
00275            || m_InternalFormat == GL_RGBA 
00276            || m_InternalFormat == GL_RGBA2 
00277            || m_InternalFormat == GL_RGBA4 
00278            || m_InternalFormat == GL_RGB5_A1 
00279            || m_InternalFormat == GL_RGBA8 
00280            || m_InternalFormat == GL_RGB10_A2 
00281            || m_InternalFormat == GL_RGBA12 
00282            || m_InternalFormat == GL_RGBA16 
00283            || m_InternalFormat == GL_RGBA16F_ARB
00284            || m_InternalFormat == GL_RGBA32F_ARB
00285     ) {
00286         m_InternalFormatNumOfComponents = 4;
00287     }
00288     // THREE COMPONENTS
00289     else if ( m_InternalFormat == 3 
00290            || m_InternalFormat == GL_COMPRESSED_RGB 
00291            || m_InternalFormat == GL_RGB 
00292            || m_InternalFormat == GL_R3_G3_B2 
00293            || m_InternalFormat == GL_RGB4 
00294            || m_InternalFormat == GL_RGB5 
00295            || m_InternalFormat == GL_RGB8 
00296            || m_InternalFormat == GL_RGB10 
00297            || m_InternalFormat == GL_RGB12 
00298            || m_InternalFormat == GL_RGB16 
00299            || m_InternalFormat == GL_RGB16F_ARB
00300            || m_InternalFormat == GL_RGB32F_ARB
00301     ) {
00302         m_InternalFormatNumOfComponents = 3;
00303     }
00304     // ONE COMPONENT
00305     else if ( m_InternalFormat == 1 
00306            || m_InternalFormat == GL_COMPRESSED_ALPHA 
00307            || m_InternalFormat == GL_ALPHA 
00308            || m_InternalFormat == GL_ALPHA4 
00309            || m_InternalFormat == GL_ALPHA8 
00310            || m_InternalFormat == GL_ALPHA12 
00311            || m_InternalFormat == GL_ALPHA16 
00312            || m_InternalFormat == GL_ALPHA16F_ARB 
00313            || m_InternalFormat == GL_ALPHA32F_ARB 
00314            || m_InternalFormat == GL_COMPRESSED_LUMINANCE 
00315            || m_InternalFormat == GL_LUMINANCE 
00316            || m_InternalFormat == GL_LUMINANCE4 
00317            || m_InternalFormat == GL_LUMINANCE8 
00318            || m_InternalFormat == GL_LUMINANCE12 
00319            || m_InternalFormat == GL_LUMINANCE16 
00320            || m_InternalFormat == GL_LUMINANCE16F_ARB
00321            || m_InternalFormat == GL_LUMINANCE32F_ARB
00322            || m_InternalFormat == GL_COMPRESSED_INTENSITY 
00323            || m_InternalFormat == GL_INTENSITY 
00324            || m_InternalFormat == GL_INTENSITY4 
00325            || m_InternalFormat == GL_INTENSITY8 
00326            || m_InternalFormat == GL_INTENSITY12 
00327            || m_InternalFormat == GL_INTENSITY16 
00328            || m_InternalFormat == GL_INTENSITY16F_ARB 
00329            || m_InternalFormat == GL_INTENSITY32F_ARB 
00330            || m_InternalFormat == GL_DEPTH_COMPONENT 
00331            || m_InternalFormat == GL_DEPTH_COMPONENT16 
00332            || m_InternalFormat == GL_DEPTH_COMPONENT24 
00333            || m_InternalFormat == GL_DEPTH_COMPONENT32 
00334     ) {
00335         m_InternalFormatNumOfComponents = 1;
00336     }
00337     // TWO COMPONENTS
00338     else if ( m_InternalFormat == 2 
00339            || m_InternalFormat == GL_COMPRESSED_LUMINANCE_ALPHA 
00340            || m_InternalFormat == GL_LUMINANCE_ALPHA 
00341            || m_InternalFormat == GL_LUMINANCE4_ALPHA4 
00342            || m_InternalFormat == GL_LUMINANCE6_ALPHA2 
00343            || m_InternalFormat == GL_LUMINANCE8_ALPHA8 
00344            || m_InternalFormat == GL_LUMINANCE12_ALPHA4 
00345            || m_InternalFormat == GL_LUMINANCE12_ALPHA12 
00346            || m_InternalFormat == GL_LUMINANCE16_ALPHA16 
00347            || m_InternalFormat == GL_LUMINANCE_ALPHA16F_ARB 
00348            || m_InternalFormat == GL_LUMINANCE_ALPHA32F_ARB 
00349     ) {
00350         m_InternalFormatNumOfComponents = 2;
00351     }
00352     else {
00353         std::cerr << "Internal Format is unsupported!" << std::endl;
00354         assert( false );
00355     }
00356     //-----------------------------------------------------
00357     //-----------------------------------------------------
00358     // Set Number of Components for Pixel Format 
00359     //-----------------------------------------------------
00360     // FOUR COMPONENTS
00361     if      ( m_PixelFormat == GL_RGBA 
00362            || m_PixelFormat == GL_BGRA 
00363     ) {
00364         m_PixelFormatNumOfComponents = 4;
00365     }
00366     // THREE COMPONENTS
00367     else if ( m_PixelFormat == GL_RGB 
00368            || m_PixelFormat == GL_BGR 
00369     ) {
00370         m_PixelFormatNumOfComponents = 3;
00371     }
00372     // ONE COMPONENT
00373     else if ( m_PixelFormat == GL_COLOR_INDEX   // a single color index
00374            || m_PixelFormat == GL_RED 
00375            || m_PixelFormat == GL_GREEN 
00376            || m_PixelFormat == GL_BLUE
00377            || m_PixelFormat == GL_ALPHA 
00378            || m_PixelFormat == GL_LUMINANCE 
00379            || m_PixelFormat == GL_DEPTH_COMPONENT 
00380     ) {
00381         m_PixelFormatNumOfComponents = 1;
00382     }
00383     // TWO COMPONENTS
00384     else if ( m_PixelFormat == GL_LUMINANCE_ALPHA 
00385     ) {
00386         m_PixelFormatNumOfComponents = 2;
00387     }
00388     else {
00389         std::cerr << "Pixel Format is unsupported!" << std::endl;
00390         assert( false );
00391     }
00392     //-----------------------------------------------------
00393     // Set Max & Min Texture Coordinates
00394     if ( m_Target == GL_TEXTURE_RECTANGLE_ARB ) {
00395         m_MaxCoordS = m_Width;
00396         m_MaxCoordT = m_Height;
00397         m_MaxCoordR = m_Depth;
00398     }
00399     else {
00400         m_MaxCoordS = 1;
00401         m_MaxCoordT = 1;
00402         m_MaxCoordR = 1;
00403     }
00404     m_MinCoordS = 0;
00405     m_MinCoordT = 0;
00406     m_MinCoordR = 0;
00407     //-----------------------------------------------------
00408     assert( m_NumOfTextures > 0 );
00409     m_TextureNames = new GLuint[ m_NumOfTextures ];
00410     glGenTextures( m_NumOfTextures, m_TextureNames );
00411     if ( m_Target == GL_TEXTURE_2D || m_Target == GL_TEXTURE_RECTANGLE_ARB ) {
00412         for ( int i = 0; i < m_NumOfTextures; ++i ) {
00413             glBindTexture( m_Target, m_TextureNames[i] );
00414             glTexParameterf( m_Target, GL_TEXTURE_MAG_FILTER, m_ParamTex_MagFilter );
00415             glTexParameterf( m_Target, GL_TEXTURE_MIN_FILTER, m_ParamTex_MinFilter );
00416             glTexParameterf( m_Target, GL_TEXTURE_WRAP_S, m_ParamTex_Wrap_S );
00417             glTexParameterf( m_Target, GL_TEXTURE_WRAP_T, m_ParamTex_Wrap_T );
00418         }
00419     }
00420     else if ( m_Target == GL_TEXTURE_3D ) {
00421         for ( int i = 0; i < m_NumOfTextures; ++i ) {
00422             glBindTexture( m_Target, m_TextureNames[i] );
00423             glTexParameterf( m_Target, GL_TEXTURE_MAG_FILTER, m_ParamTex_MagFilter );
00424             glTexParameterf( m_Target, GL_TEXTURE_MIN_FILTER, m_ParamTex_MinFilter );
00425             glTexParameterf( m_Target, GL_TEXTURE_WRAP_S, m_ParamTex_Wrap_S );
00426             glTexParameterf( m_Target, GL_TEXTURE_WRAP_T, m_ParamTex_Wrap_T );
00427             glTexParameterf( m_Target, GL_TEXTURE_WRAP_R, m_ParamTex_Wrap_R );
00428         }
00429     }
00430     else if ( m_Target == GL_TEXTURE_1D ) {
00431         for ( int i = 0; i < m_NumOfTextures; ++i ) {
00432             glBindTexture( m_Target, m_TextureNames[i] );
00433             glTexParameterf( m_Target, GL_TEXTURE_MAG_FILTER, m_ParamTex_MagFilter );
00434             glTexParameterf( m_Target, GL_TEXTURE_MIN_FILTER, m_ParamTex_MinFilter );
00435             glTexParameterf( m_Target, GL_TEXTURE_WRAP_S, m_ParamTex_Wrap_S );
00436         }
00437     }
00438     else {
00439         std::cerr << "Texture target is unsupported!" << std::endl;
00440         assert( false );
00441     }
00442 
00443 
00444 
00445     // DEBUG
00446     //std::cout << "m_NumOfTextures: " << m_NumOfTextures << std::endl;
00447     //for ( int i = 0; i < m_NumOfTextures; ++i ) {
00448     //  std::cout << "m_TextureNames[" << i << "] is " << m_TextureNames[i] << std::endl;
00449     //}
00450 
00451     //-----------------------------------------------------
00452     // Determine Data Type
00453     //-----------------------------------------------------
00454     GLubyte *   texelsUByte     = NULL;
00455     GLushort *  texelsUShort    = NULL;
00456     GLuint *    texelsUInt      = NULL;
00457     //
00458     GLfloat *   texelsFloat     = NULL;
00459     GLdouble *  texelsDouble    = NULL;
00460     //
00461     GLbyte *    texelsByte      = NULL;
00462     GLshort *   texelsShort     = NULL;
00463     GLint *     texelsInt       = NULL;
00464     //-----------------------------------------------------
00465     // GLubyte *
00466     if      ( m_DataType == GL_UNSIGNED_BYTE 
00467            //|| m_DataType == GL_BITMAP     // single bits in unsigned 8-bit integers
00468                                             //   using the same format is glBitmap()
00469            || m_DataType == GL_UNSIGNED_BYTE_3_3_2 
00470            || m_DataType == GL_UNSIGNED_BYTE_2_3_3_REV 
00471     ) {
00472         CreateTexImageFrom( (GLubyte *) texels );
00473     }
00474     // GLushort *
00475     else if ( m_DataType == GL_UNSIGNED_SHORT 
00476            || m_DataType == GL_UNSIGNED_SHORT_5_6_5 
00477            || m_DataType == GL_UNSIGNED_SHORT_5_6_5_REV 
00478            || m_DataType == GL_UNSIGNED_SHORT_4_4_4_4 
00479            || m_DataType == GL_UNSIGNED_SHORT_4_4_4_4_REV 
00480            || m_DataType == GL_UNSIGNED_SHORT_5_5_5_1 
00481            || m_DataType == GL_UNSIGNED_SHORT_1_5_5_5_REV 
00482     ) {
00483         CreateTexImageFrom( (GLushort *) texels );
00484     }
00485     // GLuint *
00486     else if ( m_DataType == GL_UNSIGNED_INT 
00487            || m_DataType == GL_UNSIGNED_INT_8_8_8_8 
00488            || m_DataType == GL_UNSIGNED_INT_8_8_8_8_REV 
00489            || m_DataType == GL_UNSIGNED_INT_10_10_10_2 
00490            || m_DataType == GL_UNSIGNED_INT_2_10_10_10_REV 
00491     ) {
00492         CreateTexImageFrom( (GLuint *) texels );
00493     }
00494     // GLfloat *
00495     else if ( m_DataType == GL_FLOAT 
00496     ) {
00497         CreateTexImageFrom( (GLfloat *) texels );
00498     }
00499     // GLdouble *
00500     else if ( m_DataType == GL_DOUBLE 
00501     ) {
00502         CreateTexImageFrom( (GLdouble *) texels );
00503     }
00504     // GLbyte *
00505     else if ( m_DataType == GL_BYTE 
00506     ) {
00507         CreateTexImageFrom( (GLbyte *) texels );
00508     }
00509     // GLshort *
00510     else if ( m_DataType == GL_SHORT 
00511     ) {
00512         CreateTexImageFrom( (GLshort *) texels );
00513     }
00514     // GLint *
00515     else if ( m_DataType == GL_INT 
00516     ) {
00517         CreateTexImageFrom( (GLint *) texels );
00518     }
00519     else {
00520         std::cerr << "DataType is unsupported!" << std::endl;
00521     }
00522     //-----------------------------------------------------
00523 }

void Texture::DeleteTexture (  ) 

Definition at line 157 of file TAPsOpenGLTexture.cpp.

00158 {
00159     if ( m_TextureNames ) {
00160         glDeleteTextures( m_NumOfTextures, m_TextureNames );
00161         delete [] m_TextureNames;
00162         m_TextureNames = NULL;
00163     }
00164 }

void Texture::DisableTextureTarget (  )  [inline]

Definition at line 276 of file TAPsOpenGLTexture.hpp.

00276                                  {
00277         glDisable( m_Target );
00278     }

void Texture::EnableTextureTarget (  )  [inline]

Definition at line 273 of file TAPsOpenGLTexture.hpp.

00273                                 {
00274         glEnable( m_Target );
00275     }

GLint Texture::GetBorder (  )  const [inline]

Definition at line 223 of file TAPsOpenGLTexture.hpp.

00223 { return m_Border; }

GLenum Texture::GetDataType (  )  const [inline]

Definition at line 225 of file TAPsOpenGLTexture.hpp.

00225 { return m_DataType; }

GLsizei Texture::GetDepth (  )  const [inline]

Definition at line 222 of file TAPsOpenGLTexture.hpp.

00222 { return m_Depth; }

GLsizei Texture::GetHeight (  )  const [inline]

Definition at line 221 of file TAPsOpenGLTexture.hpp.

00221 { return m_Height; }

GLint Texture::GetInternalFormat (  )  const [inline]

Definition at line 219 of file TAPsOpenGLTexture.hpp.

00219 { return m_InternalFormat; }

unsigned char Texture::GetInternalFormatNumberOfComponents (  )  const [inline]

Definition at line 227 of file TAPsOpenGLTexture.hpp.

GLint Texture::GetLevel (  )  const [inline]

Definition at line 218 of file TAPsOpenGLTexture.hpp.

00218 { return m_Level; }

short Texture::GetMaxCoordR (  )  const [inline]

Definition at line 234 of file TAPsOpenGLTexture.hpp.

00234 { return m_MaxCoordR; }

short Texture::GetMaxCoordS (  )  const [inline]

Definition at line 232 of file TAPsOpenGLTexture.hpp.

00232 { return m_MaxCoordS; }

short Texture::GetMaxCoordT (  )  const [inline]

Definition at line 233 of file TAPsOpenGLTexture.hpp.

00233 { return m_MaxCoordT; }

short Texture::GetMinCoordR (  )  const [inline]

Definition at line 237 of file TAPsOpenGLTexture.hpp.

00237 { return m_MinCoordR; }

short Texture::GetMinCoordS (  )  const [inline]

Definition at line 235 of file TAPsOpenGLTexture.hpp.

00235 { return m_MinCoordS; }

short Texture::GetMinCoordT (  )  const [inline]

Definition at line 236 of file TAPsOpenGLTexture.hpp.

00236 { return m_MinCoordT; }

unsigned short Texture::GetNumberOfTextures (  )  const [inline]

Definition at line 239 of file TAPsOpenGLTexture.hpp.

00239 { return m_NumOfTextures; }

GLenum Texture::GetPixelFormat (  )  const [inline]

Definition at line 224 of file TAPsOpenGLTexture.hpp.

00224 { return m_PixelFormat; }

unsigned char Texture::GetPixelFormatNumberOfComponents (  )  const [inline]

Definition at line 229 of file TAPsOpenGLTexture.hpp.

00230         { return m_PixelFormatNumOfComponents; }

GLenum Texture::GetTarget (  )  const [inline]

Definition at line 217 of file TAPsOpenGLTexture.hpp.

00217 { return m_Target; }

GLuint Texture::GetTexture ( unsigned short  idx = 0  )  const [inline]

Definition at line 241 of file TAPsOpenGLTexture.hpp.

00242         { 
00243             assert( 0 <= idx && idx < m_NumOfTextures );
00244             return m_TextureNames[ idx ]; 
00245         }

GLsizei Texture::GetWidth (  )  const [inline]

Definition at line 220 of file TAPsOpenGLTexture.hpp.

00220 { return m_Width; }

void Texture::NextOfCircularBuffer (  )  [inline]

Care must be taken when using this function. Move (by exchanging of pointer) 0th texture to 1th texture, 1th texture to 2nd texture, ... and the (n-1)th (last) texture to 0th texture. Same as swap if there are only two textures in this texture object

Definition at line 257 of file TAPsOpenGLTexture.hpp.

00257                                  {
00258         unsigned short i = 0;
00259         GLuint tempTexName = m_TextureNames[i];
00260         while ( i < m_NumOfTextures-1 ) {
00261             m_TextureNames[i] = m_TextureNames[i+1];
00262             ++i;
00263         }
00264         m_TextureNames[i] = tempTexName;
00265     }

template<typename T>
void Texture::PrintTextureData ( unsigned short  texNum,
T *  outData,
unsigned int  size 
) [inline, protected]

Definition at line 693 of file TAPsOpenGLTexture.cpp.

00694 {
00695     //---------------------------------------------------------------
00696     if ( m_Target == GL_TEXTURE_2D || m_Target == GL_TEXTURE_RECTANGLE_ARB ) {
00697         //std::cout << "PrintTextureData for GL_TEXTURE_2D and GL_TEXTURE_RECTANGLE_ARB is NOT Implemented Yet!" << std::endl;
00698         glBindTexture( m_Target, m_TextureNames[texNum] );
00699         //-----------------------------
00700         std::cout << "2D (or RECTANGLE) TEXTURE TOTAL SIZE: " << size << std::endl;
00701         glGetTexImage( m_Target, m_Level, m_PixelFormat, m_DataType, outData );
00702         //-----------------------------
00703         int count   = 0;
00704         int line    = 0;
00705         int sizeWH  = m_Width * m_Height * m_InternalFormatNumOfComponents;
00706         int lineWidth   = m_Width * m_InternalFormatNumOfComponents;
00707         int index   = 0;
00708         {
00709             std::cout << "2D Texture:\n";
00710             std::cout << "SIZE: " << sizeWH << "\n";
00711             for ( int i = 0; i < sizeWH; ++i ) {
00712                 if ( line == 0 ) {
00713                     std::cout << "(";
00714                 }
00715                 std::cout << outData[index++];
00716                 if ( ++line == lineWidth ) {
00717                     std::cout << ")\n";
00718                     line = 0;
00719                     count = 0;
00720                     continue;
00721                 }
00722                 if ( ++count % m_InternalFormatNumOfComponents != 0 )
00723                     std::cout << ", ";
00724                 else
00725                     std::cout << ")\t(";
00726             }
00727         }
00728         glBindTexture( m_Target, 0 );
00729     }
00730     //---------------------------------------------------------------
00731     else if ( m_Target == GL_TEXTURE_3D ) {
00732         glBindTexture( m_Target, m_TextureNames[texNum] );
00733         //-----------------------------
00734         std::cout << "3D TEXTURE TOTAL SIZE: " << size << std::endl;
00735         glGetTexImage( m_Target, m_Level, m_PixelFormat, m_DataType, outData );
00736         //-----------------------------
00737         int count   = 0;
00738         int line    = 0;
00739         int sizeWH  = m_Width * m_Height * m_InternalFormatNumOfComponents;
00740         int lineWidth   = m_Width * m_InternalFormatNumOfComponents;
00741         int index   = 0;
00742         for ( int d = 0; d < m_Depth; ++d ) {
00743             std::cout << "3D Texture Slice #" << d << ":\n";
00744             std::cout << "SIZE: " << sizeWH << "\n";
00745             for ( int i = 0; i < sizeWH; ++i ) {
00746                 if ( line == 0 ) {
00747                     std::cout << "(";
00748                 }
00749                 std::cout << outData[index++];
00750                 if ( ++line == lineWidth ) {
00751                     std::cout << ")\n";
00752                     line = 0;
00753                     count = 0;
00754                     continue;
00755                 }
00756                 if ( ++count % m_InternalFormatNumOfComponents != 0 )
00757                     std::cout << ", ";
00758                 else
00759                     std::cout << ")\t(";
00760             }
00761         }
00762         glBindTexture( m_Target, 0 );
00763     }
00764     //---------------------------------------------------------------
00765     else if ( m_Target == GL_TEXTURE_1D ) {
00766         //std::cout << "PrintTextureData for GL_TEXTURE_1D is NOT Implemented Yet!" << std::endl;
00767         glBindTexture( m_Target, m_TextureNames[texNum] );
00768         //-----------------------------
00769         std::cout << "1D TEXTURE TOTAL SIZE: " << size << std::endl;
00770         glGetTexImage( m_Target, m_Level, m_PixelFormat, m_DataType, outData );
00771         //-----------------------------
00772         int count   = 0;
00773         int line    = 0;
00774         int texelNum = 0;
00775         int sizeWH  = m_Width * m_InternalFormatNumOfComponents;
00776         int lineWidth   = m_InternalFormatNumOfComponents;
00777         int index   = 0;
00778         {
00779             std::cout << "1D Texture:\n";
00780             std::cout << "SIZE: " << sizeWH << "\n";
00781             for ( int i = 0; i < sizeWH; ++i, ++texelNum ) {
00782                 if ( line == 0 ) {
00783                     std::cout << "#" << texelNum << "\t(";
00784                 }
00785                 std::cout << outData[index++];
00786                 if ( ++line == lineWidth ) {
00787                     std::cout << ")\n";
00788                     line = 0;
00789                     count = 0;
00790                     continue;
00791                 }
00792                 if ( ++count % m_InternalFormatNumOfComponents != 0 )
00793                     std::cout << ", ";
00794                 else
00795                     std::cout << ")\t(";
00796             }
00797         }
00798         glBindTexture( m_Target, 0 );
00799     }
00800     //---------------------------------------------------------------
00801     delete [] outData;
00802 }

void Texture::PrintTextureData ( unsigned short  texNum = 0  ) 

Definition at line 615 of file TAPsOpenGLTexture.cpp.

00616 {
00617     assert( texNum < m_NumOfTextures );
00618     //-----------------------------------------------------
00619     // Determine Data Type
00620     //-----------------------------------------------------
00621     unsigned int size = m_Width * m_Height * m_Depth * 
00622                         m_InternalFormatNumOfComponents;
00623     //-----------------------------------------------------
00624     // GLubyte *
00625     if      ( m_DataType == GL_UNSIGNED_BYTE 
00626            //|| m_DataType == GL_BITMAP     // single bits in unsigned 8-bit integers
00627                                             //   using the same format is glBitmap()
00628            || m_DataType == GL_UNSIGNED_BYTE_3_3_2 
00629            || m_DataType == GL_UNSIGNED_BYTE_2_3_3_REV 
00630     ) {
00631         GLubyte * dataType = new GLubyte[ size ];
00632         PrintTextureData( texNum, dataType, size );
00633     }
00634     // GLushort *
00635     else if ( m_DataType == GL_UNSIGNED_SHORT 
00636            || m_DataType == GL_UNSIGNED_SHORT_5_6_5 
00637            || m_DataType == GL_UNSIGNED_SHORT_5_6_5_REV 
00638            || m_DataType == GL_UNSIGNED_SHORT_4_4_4_4 
00639            || m_DataType == GL_UNSIGNED_SHORT_4_4_4_4_REV 
00640            || m_DataType == GL_UNSIGNED_SHORT_5_5_5_1 
00641            || m_DataType == GL_UNSIGNED_SHORT_1_5_5_5_REV 
00642     ) {
00643         GLushort * dataType = new GLushort[ size ];
00644         PrintTextureData( texNum, dataType, size );
00645     }
00646     // GLuint *
00647     else if ( m_DataType == GL_UNSIGNED_INT 
00648            || m_DataType == GL_UNSIGNED_INT_8_8_8_8 
00649            || m_DataType == GL_UNSIGNED_INT_8_8_8_8_REV 
00650            || m_DataType == GL_UNSIGNED_INT_10_10_10_2 
00651            || m_DataType == GL_UNSIGNED_INT_2_10_10_10_REV 
00652     ) {
00653         GLuint * dataType = new GLuint[ size ];
00654         PrintTextureData( texNum, dataType, size );
00655     }
00656     // GLfloat *
00657     else if ( m_DataType == GL_FLOAT 
00658     ) {
00659         GLfloat * dataType= new GLfloat[ size ];
00660         PrintTextureData( texNum, dataType, size );
00661     }
00662     // GLdouble *
00663     else if ( m_DataType == GL_DOUBLE 
00664     ) {
00665         GLdouble * dataType = new GLdouble[ size ];
00666         PrintTextureData( texNum, dataType, size );
00667     }
00668     // GLbyte *
00669     else if ( m_DataType == GL_BYTE 
00670     ) {
00671         GLbyte * dataType = new GLbyte[ size ];
00672         PrintTextureData( texNum, dataType, size );
00673     }
00674     // GLshort *
00675     else if ( m_DataType == GL_SHORT 
00676     ) {
00677         GLshort * dataType = new GLshort[ size ];
00678         PrintTextureData( texNum, dataType, size );
00679     }
00680     // GLint *
00681     else if ( m_DataType == GL_INT 
00682     ) {
00683         GLint * dataType = new GLint[ size ];
00684         PrintTextureData( texNum, dataType, size );
00685     }
00686     else {
00687         std::cerr << "DataType is unsupported!" << std::endl;
00688     }
00689     //-----------------------------------------------------
00690 }

void Texture::SetBorder ( GLint  border  )  [inline]

Definition at line 197 of file TAPsOpenGLTexture.hpp.

00197 { m_Border = border; }

void Texture::SetDataType ( GLenum  dataType  )  [inline]

Definition at line 199 of file TAPsOpenGLTexture.hpp.

00199 { m_DataType = dataType; }

void Texture::SetDepth ( GLsizei  depth  )  [inline]

Definition at line 196 of file TAPsOpenGLTexture.hpp.

00196 { m_Depth = depth; }

void Texture::SetHeight ( GLsizei  height  )  [inline]

Definition at line 195 of file TAPsOpenGLTexture.hpp.

00195 { m_Height = height; }

void Texture::SetInternalFormat ( GLint  inFormat  )  [inline]

Definition at line 193 of file TAPsOpenGLTexture.hpp.

00193 { m_InternalFormat = inFormat; }

void Texture::SetLevel ( GLint  level  )  [inline]

Definition at line 192 of file TAPsOpenGLTexture.hpp.

00192 { m_Level = level; }

void Texture::SetMaxCoordR ( short  maxCoordR  )  [inline]

Definition at line 209 of file TAPsOpenGLTexture.hpp.

00209 { m_MaxCoordR = maxCoordR; }

void Texture::SetMaxCoordS ( short  maxCoordS  )  [inline]

Drawing functions contained in this class will use min and max coordinates to define the texture region to be drawn -- e.g. can be used for zooming in/out.

Definition at line 207 of file TAPsOpenGLTexture.hpp.

00207 { m_MaxCoordS = maxCoordS; }

void Texture::SetMaxCoordT ( short  maxCoordT  )  [inline]

Definition at line 208 of file TAPsOpenGLTexture.hpp.

00208 { m_MaxCoordT = maxCoordT; }

void Texture::SetMinCoordR ( short  minCoordR  )  [inline]

Definition at line 212 of file TAPsOpenGLTexture.hpp.

00212 { m_MinCoordR = minCoordR; }

void Texture::SetMinCoordS ( short  minCoordS  )  [inline]

Definition at line 210 of file TAPsOpenGLTexture.hpp.

00210 { m_MinCoordS = minCoordS; }

void Texture::SetMinCoordT ( short  minCoordT  )  [inline]

Definition at line 211 of file TAPsOpenGLTexture.hpp.

00211 { m_MinCoordT = minCoordT; }

void Texture::SetNumberOfTextures ( unsigned short  numOfTextures  )  [inline]

Definition at line 200 of file TAPsOpenGLTexture.hpp.

00201         { m_NumOfTextures = numOfTextures; }

void Texture::SetParameterMagFilter ( GLint  param  )  [inline]

Definition at line 267 of file TAPsOpenGLTexture.hpp.

00267 { m_ParamTex_MagFilter = param; }

void Texture::SetParameterMinFilter ( GLint  param  )  [inline]

Definition at line 268 of file TAPsOpenGLTexture.hpp.

00268 { m_ParamTex_MinFilter = param; }

void Texture::SetParameterWrapR ( GLint  param  )  [inline]

Definition at line 271 of file TAPsOpenGLTexture.hpp.

00271 { m_ParamTex_Wrap_R = param; }

void Texture::SetParameterWrapS ( GLint  param  )  [inline]

Definition at line 269 of file TAPsOpenGLTexture.hpp.

00269 { m_ParamTex_Wrap_S = param; }

void Texture::SetParameterWrapT ( GLint  param  )  [inline]

Definition at line 270 of file TAPsOpenGLTexture.hpp.

00270 { m_ParamTex_Wrap_T = param; }

void Texture::SetPixelFormat ( GLenum  pixFormat  )  [inline]

Definition at line 198 of file TAPsOpenGLTexture.hpp.

00198 { m_PixelFormat = pixFormat; }

void Texture::SetTarget ( GLenum  target  )  [inline]

Definition at line 191 of file TAPsOpenGLTexture.hpp.

00191 { m_Target = target; }

void Texture::SetWidth ( GLsizei  width  )  [inline]

Definition at line 194 of file TAPsOpenGLTexture.hpp.

00194 { m_Width = width; }

void Texture::UnbindTexture (  )  [inline]

Definition at line 290 of file TAPsOpenGLTexture.hpp.

00290                          {
00291         glBindTexture( m_Target, 0 );
00292     }

void Texture::UseParameters (  )  [inline]

Definition at line 283 of file TAPsOpenGLTexture.hpp.

00283                           {
00284         glTexParameteri( m_Target, GL_TEXTURE_WRAP_S, m_ParamTex_Wrap_S );
00285         glTexParameteri( m_Target, GL_TEXTURE_WRAP_T, m_ParamTex_Wrap_T );
00286         glTexParameteri( m_Target, GL_TEXTURE_WRAP_R, m_ParamTex_Wrap_R );
00287         glTexParameteri( m_Target, GL_TEXTURE_MAG_FILTER, m_ParamTex_MagFilter );
00288         glTexParameteri( m_Target, GL_TEXTURE_MIN_FILTER, m_ParamTex_MinFilter );
00289     }


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  output,
Texture const &  o 
) [friend]

Definition at line 30 of file TAPsOpenGLTexture.hpp.

00031     {
00032         output  <<   "TAPs Texture:"
00033                     << "\n-------------"
00034                     << "\nTarget:   " << o.m_Target
00035                     << "\nLevel:    " << o.m_Level
00036                     << "\nInternalFormat: " << o.m_InternalFormat
00037                     << "\n#InternalFormatComponents: " << (int) o.m_InternalFormatNumOfComponents
00038                     << "\nWidth:    " << o.m_Width
00039                     << "\nHeight:   " << o.m_Height
00040                     << "\nDepth:    " << o.m_Depth
00041                     << "\nBorder:   " << o.m_Border
00042                     << "\nPixelFormat: " << o.m_PixelFormat
00043                     << "\n#PixelFormatComponents: " << (int) o.m_PixelFormatNumOfComponents
00044                     << "\nDataType: " << o.m_DataType
00045                     << "\n#Textures: " << o.m_NumOfTextures
00046                     << "\nMaxCoord: " << o.m_MaxCoordS << ", " << o.m_MaxCoordT << ", " << o.m_MaxCoordR
00047                     << "\nMinCoord: " << o.m_MinCoordS << ", " << o.m_MinCoordT << ", " << o.m_MinCoordR
00048                     << "\nWrapS: " << o.m_ParamTex_Wrap_S
00049                     << "\nWrapT: " << o.m_ParamTex_Wrap_T
00050                     << "\nWrapR: " << o.m_ParamTex_Wrap_R
00051                     << "\nMagFilter: " << o.m_ParamTex_MagFilter
00052                     << "\nMinFilter: " << o.m_ParamTex_MinFilter
00053                     << "\n-------------\n";
00054         return output;
00055     }


Member Data Documentation

GLint Texture::m_Border [protected]

Definition at line 314 of file TAPsOpenGLTexture.hpp.

GLenum Texture::m_DataType [protected]

Definition at line 316 of file TAPsOpenGLTexture.hpp.

GLsizei Texture::m_Depth [protected]

Definition at line 313 of file TAPsOpenGLTexture.hpp.

GLsizei Texture::m_Height [protected]

Definition at line 312 of file TAPsOpenGLTexture.hpp.

GLint Texture::m_InternalFormat [protected]

Definition at line 310 of file TAPsOpenGLTexture.hpp.

unsigned char Texture::m_InternalFormatNumOfComponents [protected]

Definition at line 318 of file TAPsOpenGLTexture.hpp.

GLint Texture::m_Level [protected]

Definition at line 309 of file TAPsOpenGLTexture.hpp.

short Texture::m_MaxCoordR [protected]

Definition at line 331 of file TAPsOpenGLTexture.hpp.

short Texture::m_MaxCoordS [protected]

If the target is GL_TEXTURE_3D or GL_TEXTURE_2D, then these max values will be automatically set to 1. If the target is GL_TEXTURE_RECTANGLE_ARB, then these max values must be automatically set to width and height of the texture. The min texture coordinates will be automatically set to 0.

Definition at line 329 of file TAPsOpenGLTexture.hpp.

short Texture::m_MaxCoordT [protected]

Definition at line 330 of file TAPsOpenGLTexture.hpp.

short Texture::m_MinCoordR [protected]

Definition at line 334 of file TAPsOpenGLTexture.hpp.

short Texture::m_MinCoordS [protected]

Definition at line 332 of file TAPsOpenGLTexture.hpp.

short Texture::m_MinCoordT [protected]

Definition at line 333 of file TAPsOpenGLTexture.hpp.

unsigned short Texture::m_NumOfTextures [protected]

Definition at line 336 of file TAPsOpenGLTexture.hpp.

GLint Texture::m_ParamTex_MagFilter [protected]

Definition at line 344 of file TAPsOpenGLTexture.hpp.

GLint Texture::m_ParamTex_MinFilter [protected]

Definition at line 345 of file TAPsOpenGLTexture.hpp.

GLint Texture::m_ParamTex_Wrap_R [protected]

Definition at line 343 of file TAPsOpenGLTexture.hpp.

GLint Texture::m_ParamTex_Wrap_S [protected]

Definition at line 341 of file TAPsOpenGLTexture.hpp.

GLint Texture::m_ParamTex_Wrap_T [protected]

Definition at line 342 of file TAPsOpenGLTexture.hpp.

GLenum Texture::m_PixelFormat [protected]

Definition at line 315 of file TAPsOpenGLTexture.hpp.

unsigned char Texture::m_PixelFormatNumOfComponents [protected]

Definition at line 319 of file TAPsOpenGLTexture.hpp.

GLenum Texture::m_Target [protected]

Definition at line 308 of file TAPsOpenGLTexture.hpp.

GLuint* Texture::m_TextureNames [protected]

Definition at line 338 of file TAPsOpenGLTexture.hpp.

GLsizei Texture::m_Width [protected]

Definition at line 311 of file TAPsOpenGLTexture.hpp.


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

Generated on Mon Oct 13 11:46:00 2008 for TAPs by  doxygen 1.5.6