#include <TAPsOpenGLTexture.hpp>
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) |
Definition at line 26 of file TAPsOpenGLTexture.hpp.
| 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 }
| 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 }
| 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] |
| void Texture::EnableTextureTarget | ( | ) | [inline] |
| GLint Texture::GetBorder | ( | ) | const [inline] |
| GLenum Texture::GetDataType | ( | ) | const [inline] |
| GLsizei Texture::GetDepth | ( | ) | const [inline] |
| GLsizei Texture::GetHeight | ( | ) | const [inline] |
| GLint Texture::GetInternalFormat | ( | ) | const [inline] |
| unsigned char Texture::GetInternalFormatNumberOfComponents | ( | ) | const [inline] |
Definition at line 227 of file TAPsOpenGLTexture.hpp.
00228 { return m_InternalFormatNumOfComponents; }
| GLint Texture::GetLevel | ( | ) | const [inline] |
| short Texture::GetMaxCoordR | ( | ) | const [inline] |
| short Texture::GetMaxCoordS | ( | ) | const [inline] |
| short Texture::GetMaxCoordT | ( | ) | const [inline] |
| short Texture::GetMinCoordR | ( | ) | const [inline] |
| short Texture::GetMinCoordS | ( | ) | const [inline] |
| short Texture::GetMinCoordT | ( | ) | const [inline] |
| unsigned short Texture::GetNumberOfTextures | ( | ) | const [inline] |
| GLenum Texture::GetPixelFormat | ( | ) | const [inline] |
| unsigned char Texture::GetPixelFormatNumberOfComponents | ( | ) | const [inline] |
Definition at line 229 of file TAPsOpenGLTexture.hpp.
00230 { return m_PixelFormatNumOfComponents; }
| GLenum Texture::GetTarget | ( | ) | const [inline] |
| 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] |
| 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 }
| 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] |
| void Texture::SetDataType | ( | GLenum | dataType | ) | [inline] |
| void Texture::SetDepth | ( | GLsizei | depth | ) | [inline] |
| void Texture::SetHeight | ( | GLsizei | height | ) | [inline] |
| void Texture::SetInternalFormat | ( | GLint | inFormat | ) | [inline] |
| void Texture::SetLevel | ( | GLint | level | ) | [inline] |
| void Texture::SetMaxCoordR | ( | short | maxCoordR | ) | [inline] |
| 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] |
| void Texture::SetMinCoordR | ( | short | minCoordR | ) | [inline] |
| void Texture::SetMinCoordS | ( | short | minCoordS | ) | [inline] |
| void Texture::SetMinCoordT | ( | short | minCoordT | ) | [inline] |
| void Texture::SetNumberOfTextures | ( | unsigned short | numOfTextures | ) | [inline] |
| void Texture::SetParameterMagFilter | ( | GLint | param | ) | [inline] |
| void Texture::SetParameterMinFilter | ( | GLint | param | ) | [inline] |
| void Texture::SetParameterWrapR | ( | GLint | param | ) | [inline] |
| void Texture::SetParameterWrapS | ( | GLint | param | ) | [inline] |
| void Texture::SetParameterWrapT | ( | GLint | param | ) | [inline] |
| void Texture::SetPixelFormat | ( | GLenum | pixFormat | ) | [inline] |
| void Texture::SetTarget | ( | GLenum | target | ) | [inline] |
| void Texture::SetWidth | ( | GLsizei | width | ) | [inline] |
| 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 }
| 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 }
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.
1.5.6