GLSLProgramObject Class Reference

#include <TAPsGLARBPixelBufferObject.hpp>

List of all members.

Public Member Functions

void AddShader (GLSLShader *glslShader)
void AddShader (GLSLShader *glslShader)
void AddShader (GLSLShader *glslShader)
void BeginGLSL ()
void BeginGLSL ()
void BeginGLSL ()
void EndGLSL ()
void EndGLSL ()
void EndGLSL ()
char * GetLinkerLog ()
char * GetLinkerLog ()
char * GetLinkerLog ()
GLuint const GetProgramObject () const
GLuint GetProgramObject ()
void GetUniformfv (char *var, GLfloat *val)
void GetUniformfv (char *var, GLfloat *val)
void GetUniformfv (char *var, GLfloat *val)
void GetUniformiv (char *var, GLint *val)
void GetUniformiv (char *var, GLint *val)
void GetUniformiv (char *var, GLint *val)
void GetUniformuiv (char *var, GLuint *val)
 GLSLProgramObject ()
 GLSLProgramObject ()
 GLSLProgramObject ()
bool IsGLSLEnabled ()
bool IsGLSLEnabled ()
bool IsGLSLEnabled ()
bool Link ()
bool Link ()
bool Link ()
void MemageMemory ()
void MemageMemory ()
void MemageMemory ()
bool SetUniform1f (char *var, GLfloat x)
bool SetUniform1f (char *var, GLfloat x)
bool SetUniform1f (char *var, GLfloat x)
bool SetUniform1fv (char *var, GLsizei count, GLfloat *val)
bool SetUniform1fv (char *var, GLsizei count, GLfloat *val)
bool SetUniform1fv (char *var, GLsizei count, GLfloat *val)
bool SetUniform1i (char *var, GLint x)
bool SetUniform1i (char *var, GLint x)
bool SetUniform1i (char *var, GLint x)
bool SetUniform1iv (char *var, GLsizei count, GLint *val)
bool SetUniform1iv (char *var, GLsizei count, GLint *val)
bool SetUniform1iv (char *var, GLsizei count, GLint *val)
bool SetUniform1ui (char *var, GLuint x)
bool SetUniform2f (char *var, GLfloat x, GLfloat y)
bool SetUniform2f (char *var, GLfloat x, GLfloat y)
bool SetUniform2f (char *var, GLfloat x, GLfloat y)
bool SetUniform2fv (char *var, GLsizei count, GLfloat *val)
bool SetUniform2fv (char *var, GLsizei count, GLfloat *val)
bool SetUniform2fv (char *var, GLsizei count, GLfloat *val)
bool SetUniform2i (char *var, GLint x, GLint y)
bool SetUniform2i (char *var, GLint x, GLint y)
bool SetUniform2i (char *var, GLint x, GLint y)
bool SetUniform2iv (char *var, GLsizei count, GLint *val)
bool SetUniform2iv (char *var, GLsizei count, GLint *val)
bool SetUniform2iv (char *var, GLsizei count, GLint *val)
bool SetUniform2ui (char *var, GLuint x, GLuint y)
bool SetUniform3f (char *var, GLfloat x, GLfloat y, GLfloat z)
bool SetUniform3f (char *var, GLfloat x, GLfloat y, GLfloat z)
bool SetUniform3f (char *var, GLfloat x, GLfloat y, GLfloat z)
bool SetUniform3fv (char *var, GLsizei count, GLfloat *val)
bool SetUniform3fv (char *var, GLsizei count, GLfloat *val)
bool SetUniform3fv (char *var, GLsizei count, GLfloat *val)
bool SetUniform3i (char *var, GLint x, GLint y, GLint z)
bool SetUniform3i (char *var, GLint x, GLint y, GLint z)
bool SetUniform3i (char *var, GLint x, GLint y, GLint z)
bool SetUniform3iv (char *var, GLsizei count, GLint *val)
bool SetUniform3iv (char *var, GLsizei count, GLint *val)
bool SetUniform3iv (char *var, GLsizei count, GLint *val)
bool SetUniform3ui (char *var, GLuint x, GLuint y, GLuint z)
bool SetUniform4f (char *var, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
bool SetUniform4f (char *var, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
bool SetUniform4f (char *var, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
bool SetUniform4fv (char *var, GLsizei count, GLfloat *val)
bool SetUniform4fv (char *var, GLsizei count, GLfloat *val)
bool SetUniform4fv (char *var, GLsizei count, GLfloat *val)
bool SetUniform4i (char *var, GLint x, GLint y, GLint z, GLint w)
bool SetUniform4i (char *var, GLint x, GLint y, GLint z, GLint w)
bool SetUniform4i (char *var, GLint x, GLint y, GLint z, GLint w)
bool SetUniform4iv (char *var, GLsizei count, GLint *val)
bool SetUniform4iv (char *var, GLsizei count, GLint *val)
bool SetUniform4iv (char *var, GLsizei count, GLint *val)
bool SetUniform4ui (char *var, GLuint x, GLuint y, GLuint z, GLuint w)
bool SetUniformMatrix2fv (char *var, GLsizei count, GLboolean transpose, GLfloat *val)
bool SetUniformMatrix2fv (char *var, GLsizei count, GLboolean transpose, GLfloat *val)
bool SetUniformMatrix2fv (char *var, GLsizei count, GLboolean transpose, GLfloat *val)
bool SetUniformMatrix3fv (char *var, GLsizei count, GLboolean transpose, GLfloat *val)
bool SetUniformMatrix3fv (char *var, GLsizei count, GLboolean transpose, GLfloat *val)
bool SetUniformMatrix3fv (char *var, GLsizei count, GLboolean transpose, GLfloat *val)
bool SetUniformMatrix4fv (char *var, GLsizei count, GLboolean transpose, GLfloat *val)
bool SetUniformMatrix4fv (char *var, GLsizei count, GLboolean transpose, GLfloat *val)
bool SetUniformMatrix4fv (char *var, GLsizei count, GLboolean transpose, GLfloat *val)
bool SetVertexAttrib1f (GLuint index, GLfloat x)
bool SetVertexAttrib1f (GLuint index, GLfloat x)
bool SetVertexAttrib1f (GLuint index, GLfloat x)
bool SetVertexAttrib2f (GLuint index, GLfloat x, GLfloat y)
bool SetVertexAttrib2f (GLuint index, GLfloat x, GLfloat y)
bool SetVertexAttrib2f (GLuint index, GLfloat x, GLfloat y)
bool SetVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z)
bool SetVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z)
bool SetVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z)
bool SetVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
bool SetVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
bool SetVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
 ~GLSLProgramObject ()
 ~GLSLProgramObject ()
 ~GLSLProgramObject ()

Static Public Member Functions

static void UseShader (bool b)
static void UseShader (bool b)
static void UseShader (bool b)

Private Member Functions

GLint GetUniLoc (const GLchar *name)
GLint GetUniLoc (const GLchar *name)
GLint GetUniLoc (const GLchar *name)

Private Attributes

bool m_bLinkStatus
bool m_bManageMemory
GLchar * m_cpLinkerLog
GLuint m_uiProgramObject
std::vector< GLSLShader * > m_vShaderList

Static Private Attributes

static bool m_stcbShaderActive = true


Detailed Description

Definition at line 126 of file TAPsGLARBPixelBufferObject.hpp.


Constructor & Destructor Documentation

GLSLProgramObject::GLSLProgramObject (  ) 

Definition at line 216 of file TAPsGLARBPixelBufferObject.cpp.

00216                                       :
00217     m_uiProgramObject( NULL ),
00218     m_bLinkStatus( false ),
00219     m_cpLinkerLog( NULL ),
00220     m_bManageMemory( false )
00221 {
00222     if ( GFnInitGLSL() ) {
00223         m_uiProgramObject = glCreateProgram();
00224         //CHECK_GL_ERROR();
00225     }
00226     else {
00227     #ifdef TAPs_USE_WXWIDGETS
00228         wxLogError( wxT( "ERROR: OpenGL Shading Language is NOT available!" ) );
00229     #else
00230         std::cerr << "ERROR: OpenGL Shading Language is NOT available!\n";
00231     #endif
00232     }
00233 }
//------------------------------------------------------------------------------

GLSLProgramObject::~GLSLProgramObject (  ) 

Definition at line 236 of file TAPsGLARBPixelBufferObject.cpp.

00237 {
00238     //---------------------------------------------------------------
00239     if ( m_cpLinkerLog ) {
00240         delete [] m_cpLinkerLog;
00241         m_cpLinkerLog = NULL;
00242     }
00243     if ( gbIsGLSLSupported )
00244     {
00245         for (unsigned int i = 0; i < m_vShaderList.size(); ++i ) {
00246             glDetachShader( m_uiProgramObject, m_vShaderList[i]->m_uiShaderObject );
00247             CHECK_GL_ERROR();   // if get an error here, the program object is deleted first
00248                                 // the m_uiProgramObject must be deleted last
00249             if ( m_bManageMemory ) delete m_vShaderList[i];
00250         }
00251         glDeleteProgram( m_uiProgramObject );
00252         CHECK_GL_ERROR();
00253     }
00254 }

GLSLProgramObject::GLSLProgramObject (  ) 

GLSLProgramObject::~GLSLProgramObject (  ) 

GLSLProgramObject::GLSLProgramObject (  ) 

GLSLProgramObject::~GLSLProgramObject (  ) 


Member Function Documentation

void GLSLProgramObject::AddShader ( GLSLShader glslShader  ) 

void GLSLProgramObject::AddShader ( GLSLShader glslShader  ) 

void GLSLProgramObject::AddShader ( GLSLShader glslShader  ) 

Definition at line 263 of file TAPsGLARBPixelBufferObject.cpp.

00264 {
00265     if ( !gbIsGLSLSupported ) return;
00266     if ( glslShader == NULL ) return;
00267     if ( !glslShader->m_bCompileStatus ) {
00268 #ifdef TAPs_DEBUG_MODE
00269     #ifdef TAPs_USE_WXWIDGETS
00270         wxLogError( wxT( "Trying to compile the shader program ... " ) );
00271         if ( !glslShader->Compile() ) {
00272             wxLogError( wxT( " ... compile ERROR!" ) );
00273             return;
00274         }
00275         else {
00276             wxLogError( wxT( " ... Compilation Passed!" ) );
00277         }
00278     #else
00279         std::cout << "Trying to compile the shader program ... ";
00280         if ( !glslShader->Compile() ) {
00281             std::cout << " ... compile ERROR!\n";
00282             return;
00283         }
00284         else {
00285             std::cout << " ... Compilation Passed!\n";
00286         }
00287     #endif
00288 #endif
00289     }
00290     m_vShaderList.push_back( glslShader );
00291 }

void GLSLProgramObject::BeginGLSL (  ) 

void GLSLProgramObject::BeginGLSL (  ) 

void GLSLProgramObject::BeginGLSL (  ) 

Definition at line 378 of file TAPsGLARBPixelBufferObject.cpp.

00379 {
00380     if ( !gbIsGLSLSupported )           return;
00381     if ( m_uiProgramObject == NULL )    return;
00382     if ( !m_stcbShaderActive )          return;
00383     if ( m_bLinkStatus ) {
00384         glUseProgram( m_uiProgramObject );
00385         CHECK_GL_ERROR();
00386     }
00387 }

void GLSLProgramObject::EndGLSL (  ) 

void GLSLProgramObject::EndGLSL (  ) 

void GLSLProgramObject::EndGLSL (  ) 

Definition at line 390 of file TAPsGLARBPixelBufferObject.cpp.

00391 {
00392     if ( !gbIsGLSLSupported )   return;
00393     if ( !m_stcbShaderActive )  return;
00394     glUseProgram( NULL );
00395     CHECK_GL_ERROR();
00396 }

char* GLSLProgramObject::GetLinkerLog (  ) 

char* GLSLProgramObject::GetLinkerLog (  ) 

char * GLSLProgramObject::GetLinkerLog (  ) 

Definition at line 340 of file TAPsGLARBPixelBufferObject.cpp.

00341 {
00342     //----------------------------------------------------------------
00343     if ( !gbIsGLSLSupported ) return gbGLSLErrStr[0];
00344     int bLen = 0, sLen = 0;
00345     //----------------------------------------------------------------
00346     if ( m_uiProgramObject == NULL ) return gbGLSLErrStr[2];
00347     glGetProgramiv( m_uiProgramObject, GL_INFO_LOG_LENGTH, &bLen );
00348     CHECK_GL_ERROR();
00349     //----------------------------------------------------------------
00350     if ( bLen > 1 ) {
00351         if ( m_cpLinkerLog ) {
00352             delete [] m_cpLinkerLog;
00353             m_cpLinkerLog = NULL;
00354         }
00355         if ( (m_cpLinkerLog = new GLchar[bLen]) == NULL ) {
00356         //if ( (m_cpLinkerLog = (GLchar *) malloc (bLen*sizeof(char))) == NULL ) {
00357         #ifdef TAPs_USE_WXWIDGETS
00358             wxLogError( wxT( "ERROR: Cound not allocate linker log buffer" ) );
00359         #else
00360             std::cerr << "ERROR: Cound not allocate linker log buffer\n";
00361         #endif
00362             return gbGLSLErrStr[3];
00363         }
00364         glGetProgramInfoLog( m_uiProgramObject, bLen, &sLen, m_cpLinkerLog );
00365         CHECK_GL_ERROR();
00366     }
00367     if ( m_cpLinkerLog ) {
00368         return static_cast<char *>( m_cpLinkerLog );
00369     }
00370     else {
00371         return gbGLSLErrStr[6];
00372     }
00373     //----------------------------------------------------------------
00374     return gbGLSLErrStr[7];
00375 }

GLuint const GLSLProgramObject::GetProgramObject (  )  const [inline]

Definition at line 179 of file TAPsGLSLFns.hpp.

00179                                            {
00180         return m_uiProgramObject;
00181     }

GLuint GLSLProgramObject::GetProgramObject (  )  [inline]

Definition at line 175 of file TAPsGLSLFns.hpp.

00175                                {
00176         return m_uiProgramObject;
00177     }

void GLSLProgramObject::GetUniformfv ( char *  var,
GLfloat *  val 
)

void GLSLProgramObject::GetUniformfv ( char *  var,
GLfloat *  val 
)

void GLSLProgramObject::GetUniformfv ( char *  var,
GLfloat *  val 
)

Definition at line 626 of file TAPsGLARBPixelBufferObject.cpp.

00627 {
00628     if ( !gbIsGLSLSupported )   return;
00629     GLint loc = GetUniLoc( name );
00630     /*
00631     GLint loc = glGetUniformLocation( m_uiProgramObject, name );
00632     if ( loc == -1 ) {
00633     #ifdef TAPs_USE_WXWIDGETS
00634         wxLogError( wxT( "ERROR: Cannot find uniform variable \"%s\"" ), 
00635                     name );
00636     #else
00637         std::cerr << "ERROR: cannot find uniform variable \"" 
00638                     << name << "\"\n";
00639     #endif
00640     }
00641     //*/
00642     glGetUniformfv( m_uiProgramObject, loc, val );
00643 }

void GLSLProgramObject::GetUniformiv ( char *  var,
GLint *  val 
)

void GLSLProgramObject::GetUniformiv ( char *  var,
GLint *  val 
)

void GLSLProgramObject::GetUniformiv ( char *  var,
GLint *  val 
)

Definition at line 645 of file TAPsGLARBPixelBufferObject.cpp.

00646 {
00647     if ( !gbIsGLSLSupported )   return;
00648     GLint loc = GetUniLoc( name );
00649     /*
00650     GLint loc = glGetUniformLocation( m_uiProgramObject, name );
00651     if ( loc == -1 ) {
00652     #ifdef TAPs_USE_WXWIDGETS
00653         wxLogError( wxT( "ERROR: Cannot find uniform variable \"%s\"" ), 
00654                     name );
00655     #else
00656         std::cerr << "ERROR: cannot find uniform variable \"" 
00657                     << name << "\"\n";
00658     #endif
00659     }
00660     //*/
00661     glGetUniformiv( m_uiProgramObject, loc, val );
00662 }

void GLSLProgramObject::GetUniformuiv ( char *  var,
GLuint *  val 
)

Definition at line 782 of file TAPsGLSLFns.cpp.

00783 {
00784     if ( !gbIsGLSLSupported )   return;
00785     GLint loc = GetUniLoc( name );
00786     /*
00787     GLint loc = glGetUniformLocation( m_uiProgramObject, name );
00788     if ( loc == -1 ) {
00789     #ifdef TAPs_USE_WXWIDGETS
00790         wxLogError( wxT( "ERROR: Cannot find uniform variable \"%s\"" ), 
00791                     name );
00792     #else
00793         std::cerr << "ERROR: cannot find uniform variable \"" 
00794                     << name << "\"\n";
00795     #endif
00796     }
00797     //*/
00798     glGetUniformuivEXT( m_uiProgramObject, loc, val );
00799 }

GLint GLSLProgramObject::GetUniLoc ( const GLchar *  name  )  [private]

GLint GLSLProgramObject::GetUniLoc ( const GLchar *  name  )  [private]

GLint GLSLProgramObject::GetUniLoc ( const GLchar *  name  )  [private]

Definition at line 692 of file TAPsGLARBPixelBufferObject.cpp.

00693 {
00694     GLint loc = glGetUniformLocation( m_uiProgramObject, name );
00695     if ( loc == -1 ) {
00696     #ifdef TAPs_USE_WXWIDGETS
00697         wxLogError( wxT( "ERROR: Cannot find uniform variable \"%s\"" ), 
00698                     name );
00699     #else
00700         std::cerr << "ERROR: Cannot find uniform variable \"" 
00701                     << name << "\"\n";
00702     #endif
00703     }
00704     CHECK_GL_ERROR();
00705     return loc;
00706 }

bool GLSLProgramObject::IsGLSLEnabled (  ) 

bool GLSLProgramObject::IsGLSLEnabled (  ) 

bool GLSLProgramObject::IsGLSLEnabled (  ) 

Definition at line 257 of file TAPsGLARBPixelBufferObject.cpp.

00258 {
00259     return gbIsGLSLSupported;
00260 }

bool GLSLProgramObject::Link (  ) 

bool GLSLProgramObject::Link (  ) 

bool GLSLProgramObject::Link (  ) 

Definition at line 294 of file TAPsGLARBPixelBufferObject.cpp.

00295 {
00296     if ( !gbIsGLSLSupported ) return false;
00297     unsigned int i;
00298     //----------------------------------------------------------------
00299     if ( m_bLinkStatus ) {  // already linked, detach everything
00300 #ifdef TAPs_DEBUG_MODE
00301     #ifdef TAPs_USE_WXWIDGETS
00302         wxLogError( wxT( "Object is already linked, trying to link it again ..." ) );
00303     #else
00304         std::cout << "Object is already linked, trying to link it again ...";
00305     #endif
00306 #endif
00307         for ( i = 0; i < m_vShaderList.size(); ++i ) {
00308             glDetachShader( m_uiProgramObject, m_vShaderList[i]->m_uiShaderObject );
00309             CHECK_GL_ERROR();
00310         }
00311     }
00312     //----------------------------------------------------------------
00313     for ( i = 0; i < m_vShaderList.size(); ++i ) {
00314         glAttachShader( m_uiProgramObject, m_vShaderList[i]->m_uiShaderObject );
00315         CHECK_GL_ERROR();
00316     }
00317     //----------------------------------------------------------------
00318     int linked;
00319     glLinkProgram( m_uiProgramObject );
00320     CHECK_GL_ERROR();
00321     glGetProgramiv( m_uiProgramObject, GL_LINK_STATUS, &linked );
00322     CHECK_GL_ERROR();
00323     //----------------------------------------------------------------
00324     if ( linked ) {
00325         m_bLinkStatus = true;
00326     }
00327     else {
00328         m_bLinkStatus = false;
00329     #ifdef TAPs_USE_WXWIDGETS
00330         wxLogError( wxT( "ERROR: GLSL Linker Error" ) );
00331     #else
00332         std::cerr << "ERROR: GLSL Linker Error" << std::endl;
00333     #endif
00334     }
00335     //----------------------------------------------------------------
00336     return m_bLinkStatus;
00337 }

void GLSLProgramObject::MemageMemory (  )  [inline]

Definition at line 239 of file TAPsGLSLFns.hpp.

00239 { m_bManageMemory = true; }

void GLSLProgramObject::MemageMemory (  )  [inline]

Definition at line 181 of file TAPsGLARBVertexBufferObject.hpp.

00181 { m_bManageMemory = true; }

void GLSLProgramObject::MemageMemory (  )  [inline]

Definition at line 181 of file TAPsGLARBPixelBufferObject.hpp.

00181 { m_bManageMemory = true; }

bool GLSLProgramObject::SetUniform1f ( char *  var,
GLfloat  x 
)

bool GLSLProgramObject::SetUniform1f ( char *  var,
GLfloat  x 
)

bool GLSLProgramObject::SetUniform1f ( char *  var,
GLfloat  x 
)

Definition at line 398 of file TAPsGLARBPixelBufferObject.cpp.

00399 {
00400     if ( !gbIsGLSLSupported )   return false;
00401     if ( !m_stcbShaderActive )  return true;
00402     //----------------------------------------------------------------
00403     GLint loc = GetUniLoc( var );
00404     if ( loc == -1 )    return false;   // cannot find variable
00405     //----------------------------------------------------------------
00406     glUniform1f( loc, x );
00407     return true;
00408 }

bool GLSLProgramObject::SetUniform1fv ( char *  var,
GLsizei  count,
GLfloat *  val 
)

bool GLSLProgramObject::SetUniform1fv ( char *  var,
GLsizei  count,
GLfloat *  val 
)

bool GLSLProgramObject::SetUniform1fv ( char *  var,
GLsizei  count,
GLfloat *  val 
)

Definition at line 494 of file TAPsGLARBPixelBufferObject.cpp.

00495 {
00496     if ( !gbIsGLSLSupported )   return false;
00497     if ( !m_stcbShaderActive )  return true;
00498     //----------------------------------------------------------------
00499     GLint loc = GetUniLoc( var );
00500     if ( loc == -1 )    return false;   // cannot find variable
00501     //----------------------------------------------------------------
00502     glUniform1fv( loc, count, val );
00503     return true;
00504 }

bool GLSLProgramObject::SetUniform1i ( char *  var,
GLint  x 
)

bool GLSLProgramObject::SetUniform1i ( char *  var,
GLint  x 
)

bool GLSLProgramObject::SetUniform1i ( char *  var,
GLint  x 
)

Definition at line 446 of file TAPsGLARBPixelBufferObject.cpp.

00447 {
00448     if ( !gbIsGLSLSupported )   return false;
00449     if ( !m_stcbShaderActive )  return true;
00450     //----------------------------------------------------------------
00451     GLint loc = GetUniLoc( var );
00452     if ( loc == -1 )    return false;   // cannot find variable
00453     //----------------------------------------------------------------
00454     glUniform1i( loc, x );
00455     return true;
00456 }

bool GLSLProgramObject::SetUniform1iv ( char *  var,
GLsizei  count,
GLint *  val 
)

bool GLSLProgramObject::SetUniform1iv ( char *  var,
GLsizei  count,
GLint *  val 
)

bool GLSLProgramObject::SetUniform1iv ( char *  var,
GLsizei  count,
GLint *  val 
)

Definition at line 542 of file TAPsGLARBPixelBufferObject.cpp.

00543 {
00544     if ( !gbIsGLSLSupported )   return false;
00545     if ( !m_stcbShaderActive )  return true;
00546     //----------------------------------------------------------------
00547     GLint loc = GetUniLoc( var );
00548     if ( loc == -1 )    return false;   // cannot find variable
00549     //----------------------------------------------------------------
00550     glUniform1iv( loc, count, val );
00551     return true;
00552 }

bool GLSLProgramObject::SetUniform1ui ( char *  var,
GLuint  x 
)

Definition at line 540 of file TAPsGLSLFns.cpp.

00541 {
00542     if ( !gbIsGLSLSupported )   return false;
00543     if ( !m_stcbShaderActive )  return true;
00544     //----------------------------------------------------------------
00545     GLint loc = GetUniLoc( var );
00546     if ( loc == -1 )    return false;   // cannot find variable
00547     //----------------------------------------------------------------
00548     glUniform1uiEXT( loc, x );
00549     return true;
00550 }

bool GLSLProgramObject::SetUniform2f ( char *  var,
GLfloat  x,
GLfloat  y 
)

bool GLSLProgramObject::SetUniform2f ( char *  var,
GLfloat  x,
GLfloat  y 
)

bool GLSLProgramObject::SetUniform2f ( char *  var,
GLfloat  x,
GLfloat  y 
)

Definition at line 410 of file TAPsGLARBPixelBufferObject.cpp.

00411 {
00412     if ( !gbIsGLSLSupported )   return false;
00413     if ( !m_stcbShaderActive )  return true;
00414     //----------------------------------------------------------------
00415     GLint loc = GetUniLoc( var );
00416     if ( loc == -1 )    return false;   // cannot find variable
00417     //----------------------------------------------------------------
00418     glUniform2f( loc, x, y );
00419     return true;
00420 }

bool GLSLProgramObject::SetUniform2fv ( char *  var,
GLsizei  count,
GLfloat *  val 
)

bool GLSLProgramObject::SetUniform2fv ( char *  var,
GLsizei  count,
GLfloat *  val 
)

bool GLSLProgramObject::SetUniform2fv ( char *  var,
GLsizei  count,
GLfloat *  val 
)

Definition at line 506 of file TAPsGLARBPixelBufferObject.cpp.

00507 {
00508     if ( !gbIsGLSLSupported )   return false;
00509     if ( !m_stcbShaderActive )  return true;
00510     //----------------------------------------------------------------
00511     GLint loc = GetUniLoc( var );
00512     if ( loc == -1 )    return false;   // cannot find variable
00513     //----------------------------------------------------------------
00514     glUniform2fv( loc, count, val );
00515     return true;
00516 }

bool GLSLProgramObject::SetUniform2i ( char *  var,
GLint  x,
GLint  y 
)

bool GLSLProgramObject::SetUniform2i ( char *  var,
GLint  x,
GLint  y 
)

bool GLSLProgramObject::SetUniform2i ( char *  var,
GLint  x,
GLint  y 
)

Definition at line 458 of file TAPsGLARBPixelBufferObject.cpp.

00459 {
00460     if ( !gbIsGLSLSupported )   return false;
00461     if ( !m_stcbShaderActive )  return true;
00462     //----------------------------------------------------------------
00463     GLint loc = GetUniLoc( var );
00464     if ( loc == -1 )    return false;   // cannot find variable
00465     //----------------------------------------------------------------
00466     glUniform2i( loc, x, y );
00467     return true;
00468 }

bool GLSLProgramObject::SetUniform2iv ( char *  var,
GLsizei  count,
GLint *  val 
)

bool GLSLProgramObject::SetUniform2iv ( char *  var,
GLsizei  count,
GLint *  val 
)

bool GLSLProgramObject::SetUniform2iv ( char *  var,
GLsizei  count,
GLint *  val 
)

Definition at line 554 of file TAPsGLARBPixelBufferObject.cpp.

00555 {
00556     if ( !gbIsGLSLSupported )   return false;
00557     if ( !m_stcbShaderActive )  return true;
00558     //----------------------------------------------------------------
00559     GLint loc = GetUniLoc( var );
00560     if ( loc == -1 )    return false;   // cannot find variable
00561     //----------------------------------------------------------------
00562     glUniform2iv( loc, count, val );
00563     return true;
00564 }

bool GLSLProgramObject::SetUniform2ui ( char *  var,
GLuint  x,
GLuint  y 
)

Definition at line 552 of file TAPsGLSLFns.cpp.

00553 {
00554     if ( !gbIsGLSLSupported )   return false;
00555     if ( !m_stcbShaderActive )  return true;
00556     //----------------------------------------------------------------
00557     GLint loc = GetUniLoc( var );
00558     if ( loc == -1 )    return false;   // cannot find variable
00559     //----------------------------------------------------------------
00560     glUniform2uiEXT( loc, x, y );
00561     return true;
00562 }

bool GLSLProgramObject::SetUniform3f ( char *  var,
GLfloat  x,
GLfloat  y,
GLfloat  z 
)

bool GLSLProgramObject::SetUniform3f ( char *  var,
GLfloat  x,
GLfloat  y,
GLfloat  z 
)

bool GLSLProgramObject::SetUniform3f ( char *  var,
GLfloat  x,
GLfloat  y,
GLfloat  z 
)

Definition at line 422 of file TAPsGLARBPixelBufferObject.cpp.

00423 {
00424     if ( !gbIsGLSLSupported )   return false;
00425     if ( !m_stcbShaderActive )  return true;
00426     //----------------------------------------------------------------
00427     GLint loc = GetUniLoc( var );
00428     if ( loc == -1 )    return false;   // cannot find variable
00429     //----------------------------------------------------------------
00430     glUniform3f( loc, x, y, z );
00431     return true;
00432 }

bool GLSLProgramObject::SetUniform3fv ( char *  var,
GLsizei  count,
GLfloat *  val 
)

bool GLSLProgramObject::SetUniform3fv ( char *  var,
GLsizei  count,
GLfloat *  val 
)

bool GLSLProgramObject::SetUniform3fv ( char *  var,
GLsizei  count,
GLfloat *  val 
)

Definition at line 518 of file TAPsGLARBPixelBufferObject.cpp.

00519 {
00520     if ( !gbIsGLSLSupported )   return false;
00521     if ( !m_stcbShaderActive )  return true;
00522     //----------------------------------------------------------------
00523     GLint loc = GetUniLoc( var );
00524     if ( loc == -1 )    return false;   // cannot find variable
00525     //----------------------------------------------------------------
00526     glUniform3fv( loc, count, val );
00527     return true;
00528 }

bool GLSLProgramObject::SetUniform3i ( char *  var,
GLint  x,
GLint  y,
GLint  z 
)

bool GLSLProgramObject::SetUniform3i ( char *  var,
GLint  x,
GLint  y,
GLint  z 
)

bool GLSLProgramObject::SetUniform3i ( char *  var,
GLint  x,
GLint  y,
GLint  z 
)

Definition at line 470 of file TAPsGLARBPixelBufferObject.cpp.

00471 {
00472     if ( !gbIsGLSLSupported )   return false;
00473     if ( !m_stcbShaderActive )  return true;
00474     //----------------------------------------------------------------
00475     GLint loc = GetUniLoc( var );
00476     if ( loc == -1 )    return false;   // cannot find variable
00477     //----------------------------------------------------------------
00478     glUniform3i( loc, x, y, z );
00479     return true;
00480 }

bool GLSLProgramObject::SetUniform3iv ( char *  var,
GLsizei  count,
GLint *  val 
)

bool GLSLProgramObject::SetUniform3iv ( char *  var,
GLsizei  count,
GLint *  val 
)

bool GLSLProgramObject::SetUniform3iv ( char *  var,
GLsizei  count,
GLint *  val 
)

Definition at line 566 of file TAPsGLARBPixelBufferObject.cpp.

00567 {
00568     if ( !gbIsGLSLSupported )   return false;
00569     if ( !m_stcbShaderActive )  return true;
00570     //----------------------------------------------------------------
00571     GLint loc = GetUniLoc( var );
00572     if ( loc == -1 )    return false;   // cannot find variable
00573     //----------------------------------------------------------------
00574     glUniform3iv( loc, count, val );
00575     return true;
00576 }

bool GLSLProgramObject::SetUniform3ui ( char *  var,
GLuint  x,
GLuint  y,
GLuint  z 
)

Definition at line 564 of file TAPsGLSLFns.cpp.

00565 {
00566     if ( !gbIsGLSLSupported )   return false;
00567     if ( !m_stcbShaderActive )  return true;
00568     //----------------------------------------------------------------
00569     GLint loc = GetUniLoc( var );
00570     if ( loc == -1 )    return false;   // cannot find variable
00571     //----------------------------------------------------------------
00572     glUniform3uiEXT( loc, x, y, z );
00573     return true;
00574 }

bool GLSLProgramObject::SetUniform4f ( char *  var,
GLfloat  x,
GLfloat  y,
GLfloat  z,
GLfloat  w 
)

bool GLSLProgramObject::SetUniform4f ( char *  var,
GLfloat  x,
GLfloat  y,
GLfloat  z,
GLfloat  w 
)

bool GLSLProgramObject::SetUniform4f ( char *  var,
GLfloat  x,
GLfloat  y,
GLfloat  z,
GLfloat  w 
)

Definition at line 434 of file TAPsGLARBPixelBufferObject.cpp.

00435 {
00436     if ( !gbIsGLSLSupported )   return false;
00437     if ( !m_stcbShaderActive )  return true;
00438     //----------------------------------------------------------------
00439     GLint loc = GetUniLoc( var );
00440     if ( loc == -1 )    return false;   // cannot find variable
00441     //----------------------------------------------------------------
00442     glUniform4f( loc, x, y, z, w );
00443     return true;
00444 }

bool GLSLProgramObject::SetUniform4fv ( char *  var,
GLsizei  count,
GLfloat *  val 
)

bool GLSLProgramObject::SetUniform4fv ( char *  var,
GLsizei  count,
GLfloat *  val 
)

bool GLSLProgramObject::SetUniform4fv ( char *  var,
GLsizei  count,
GLfloat *  val 
)

Definition at line 530 of file TAPsGLARBPixelBufferObject.cpp.

00531 {
00532     if ( !gbIsGLSLSupported )   return false;
00533     if ( !m_stcbShaderActive )  return true;
00534     //----------------------------------------------------------------
00535     GLint loc = GetUniLoc( var );
00536     if ( loc == -1 )    return false;   // cannot find variable
00537     //----------------------------------------------------------------
00538     glUniform4fv( loc, count, val );
00539     return true;
00540 }

bool GLSLProgramObject::SetUniform4i ( char *  var,
GLint  x,
GLint  y,
GLint  z,
GLint  w 
)

bool GLSLProgramObject::SetUniform4i ( char *  var,
GLint  x,
GLint  y,
GLint  z,
GLint  w 
)

bool GLSLProgramObject::SetUniform4i ( char *  var,
GLint  x,
GLint  y,
GLint  z,
GLint  w 
)

Definition at line 482 of file TAPsGLARBPixelBufferObject.cpp.

00483 {
00484     if ( !gbIsGLSLSupported )   return false;
00485     if ( !m_stcbShaderActive )  return true;
00486     //----------------------------------------------------------------
00487     GLint loc = GetUniLoc( var );
00488     if ( loc == -1 )    return false;   // cannot find variable
00489     //----------------------------------------------------------------
00490     glUniform4i( loc, x, y, z, w );
00491     return true;
00492 }

bool GLSLProgramObject::SetUniform4iv ( char *  var,
GLsizei  count,
GLint *  val 
)

bool GLSLProgramObject::SetUniform4iv ( char *  var,
GLsizei  count,
GLint *  val 
)

bool GLSLProgramObject::SetUniform4iv ( char *  var,
GLsizei  count,
GLint *  val 
)

Definition at line 578 of file TAPsGLARBPixelBufferObject.cpp.

00579 {
00580     if ( !gbIsGLSLSupported )   return false;
00581     if ( !m_stcbShaderActive )  return true;
00582     //----------------------------------------------------------------
00583     GLint loc = GetUniLoc( var );
00584     if ( loc == -1 )    return false;   // cannot find variable
00585     //----------------------------------------------------------------
00586     glUniform4iv( loc, count, val );
00587     return true;
00588 }

bool GLSLProgramObject::SetUniform4ui ( char *  var,
GLuint  x,
GLuint  y,
GLuint  z,
GLuint  w 
)

Definition at line 576 of file TAPsGLSLFns.cpp.

00577 {
00578     if ( !gbIsGLSLSupported )   return false;
00579     if ( !m_stcbShaderActive )  return true;
00580     //----------------------------------------------------------------
00581     GLint loc = GetUniLoc( var );
00582     if ( loc == -1 )    return false;   // cannot find variable
00583     //----------------------------------------------------------------
00584     glUniform4uiEXT( loc, x, y, z, w );
00585     return true;
00586 }

bool GLSLProgramObject::SetUniformMatrix2fv ( char *  var,
GLsizei  count,
GLboolean  transpose,
GLfloat *  val 
)

bool GLSLProgramObject::SetUniformMatrix2fv ( char *  var,
GLsizei  count,
GLboolean  transpose,
GLfloat *  val 
)

bool GLSLProgramObject::SetUniformMatrix2fv ( char *  var,
GLsizei  count,
GLboolean  transpose,
GLfloat *  val 
)

Definition at line 590 of file TAPsGLARBPixelBufferObject.cpp.

00591 {
00592     if ( !gbIsGLSLSupported )   return false;
00593     if ( !m_stcbShaderActive )  return true;
00594     //----------------------------------------------------------------
00595     GLint loc = GetUniLoc( var );
00596     if ( loc == -1 )    return false;   // cannot find variable
00597     //----------------------------------------------------------------
00598     glUniformMatrix2fv( loc, count, transpose, val );
00599     return true;
00600 }

bool GLSLProgramObject::SetUniformMatrix3fv ( char *  var,
GLsizei  count,
GLboolean  transpose,
GLfloat *  val 
)

bool GLSLProgramObject::SetUniformMatrix3fv ( char *  var,
GLsizei  count,
GLboolean  transpose,
GLfloat *  val 
)

bool GLSLProgramObject::SetUniformMatrix3fv ( char *  var,
GLsizei  count,
GLboolean  transpose,
GLfloat *  val 
)

Definition at line 602 of file TAPsGLARBPixelBufferObject.cpp.

00603 {
00604     if ( !gbIsGLSLSupported )   return false;
00605     if ( !m_stcbShaderActive )  return true;
00606     //----------------------------------------------------------------
00607     GLint loc = GetUniLoc( var );
00608     if ( loc == -1 )    return false;   // cannot find variable
00609     //----------------------------------------------------------------
00610     glUniformMatrix3fv( loc, count, transpose, val );
00611     return true;
00612 }

bool GLSLProgramObject::SetUniformMatrix4fv ( char *  var,
GLsizei  count,
GLboolean  transpose,
GLfloat *  val 
)

bool GLSLProgramObject::SetUniformMatrix4fv ( char *  var,
GLsizei  count,
GLboolean  transpose,
GLfloat *  val 
)

bool GLSLProgramObject::SetUniformMatrix4fv ( char *  var,
GLsizei  count,
GLboolean  transpose,
GLfloat *  val 
)

Definition at line 614 of file TAPsGLARBPixelBufferObject.cpp.

00615 {
00616     if ( !gbIsGLSLSupported )   return false;
00617     if ( !m_stcbShaderActive )  return true;
00618     //----------------------------------------------------------------
00619     GLint loc = GetUniLoc( var );
00620     if ( loc == -1 )    return false;   // cannot find variable
00621     //----------------------------------------------------------------
00622     glUniformMatrix4fv( loc, count, transpose, val );
00623     return true;
00624 }

bool GLSLProgramObject::SetVertexAttrib1f ( GLuint  index,
GLfloat  x 
)

bool GLSLProgramObject::SetVertexAttrib1f ( GLuint  index,
GLfloat  x 
)

bool GLSLProgramObject::SetVertexAttrib1f ( GLuint  index,
GLfloat  x 
)

Definition at line 664 of file TAPsGLARBPixelBufferObject.cpp.

00665 {
00666     if ( !gbIsGLSLSupported )   return false;
00667     glVertexAttrib1f( index, x );
00668     return true;
00669 }

bool GLSLProgramObject::SetVertexAttrib2f ( GLuint  index,
GLfloat  x,
GLfloat  y 
)

bool GLSLProgramObject::SetVertexAttrib2f ( GLuint  index,
GLfloat  x,
GLfloat  y 
)

bool GLSLProgramObject::SetVertexAttrib2f ( GLuint  index,
GLfloat  x,
GLfloat  y 
)

Definition at line 671 of file TAPsGLARBPixelBufferObject.cpp.

00672 {
00673     if ( !gbIsGLSLSupported )   return false;
00674     glVertexAttrib2f( index, x, y );
00675     return true;
00676 }

bool GLSLProgramObject::SetVertexAttrib3f ( GLuint  index,
GLfloat  x,
GLfloat  y,
GLfloat  z 
)

bool GLSLProgramObject::SetVertexAttrib3f ( GLuint  index,
GLfloat  x,
GLfloat  y,
GLfloat  z 
)

bool GLSLProgramObject::SetVertexAttrib3f ( GLuint  index,
GLfloat  x,
GLfloat  y,
GLfloat  z 
)

Definition at line 678 of file TAPsGLARBPixelBufferObject.cpp.

00679 {
00680     if ( !gbIsGLSLSupported )   return false;
00681     glVertexAttrib3f( index, x, y, z );
00682     return true;
00683 }

bool GLSLProgramObject::SetVertexAttrib4f ( GLuint  index,
GLfloat  x,
GLfloat  y,
GLfloat  z,
GLfloat  w 
)

bool GLSLProgramObject::SetVertexAttrib4f ( GLuint  index,
GLfloat  x,
GLfloat  y,
GLfloat  z,
GLfloat  w 
)

bool GLSLProgramObject::SetVertexAttrib4f ( GLuint  index,
GLfloat  x,
GLfloat  y,
GLfloat  z,
GLfloat  w 
)

Definition at line 685 of file TAPsGLARBPixelBufferObject.cpp.

00686 {
00687     if ( !gbIsGLSLSupported )   return false;
00688     glVertexAttrib4f( index, x, y, z, w );
00689     return true;
00690 }

static void GLSLProgramObject::UseShader ( bool  b  )  [inline, static]

Definition at line 242 of file TAPsGLSLFns.hpp.

00242 { m_stcbShaderActive = b; }

static void GLSLProgramObject::UseShader ( bool  b  )  [inline, static]

Definition at line 184 of file TAPsGLARBVertexBufferObject.hpp.

00184 { m_stcbShaderActive = b; }

static void GLSLProgramObject::UseShader ( bool  b  )  [inline, static]

Definition at line 184 of file TAPsGLARBPixelBufferObject.hpp.

00184 { m_stcbShaderActive = b; }


Member Data Documentation

Definition at line 193 of file TAPsGLARBPixelBufferObject.hpp.

Definition at line 196 of file TAPsGLARBPixelBufferObject.hpp.

Definition at line 194 of file TAPsGLARBPixelBufferObject.hpp.

static bool GLSLProgramObject::m_stcbShaderActive = true [static, private]

Definition at line 197 of file TAPsGLARBPixelBufferObject.hpp.

Definition at line 192 of file TAPsGLARBPixelBufferObject.hpp.

std::vector< GLSLShader * > GLSLProgramObject::m_vShaderList [private]

Definition at line 195 of file TAPsGLARBPixelBufferObject.hpp.


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

Generated on Mon Oct 13 11:44:48 2008 for TAPs by  doxygen 1.5.6