Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 5321 in orxonox.OLD for trunk/src/lib/graphics/shader.cc


Ignore:
Timestamp:
Oct 8, 2005, 3:55:00 PM (19 years ago)
Author:
bensch
Message:

orxonox/trunk: more error-catchin in the shader

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/lib/graphics/shader.cc

    r5320 r5321  
    8585    glDeleteObjectARB(this->vertexShader);
    8686  if (this->shaderProgram != 0)
     87  {
     88    GLint status = 0;
    8789    glDeleteObjectARB(this->shaderProgram);
    88 
     90       // link error checking
     91    glGetObjectParameterivARB(this->shaderProgram, GL_OBJECT_DELETE_STATUS_ARB, &status);
     92    if (status == GL_INVALID_VALUE || status == GL_INVALID_OPERATION)
     93      this->printError(this->shaderProgram);
     94  }
    8995}
    9096
     
    124130  {
    125131    GLint status = 0;
    126     glShaderSourceARB(shader, program->getCount(), (const GLcharARB**)program->getArray(), NULL);
     132    glShaderSourceARB(shader, program->getCount(), (const char**)program->getArray(), NULL);
    127133    glCompileShaderARB(shader);
    128134    // checking on error.
     
    214220    delete[] this->vertexShaderFile;
    215221    this->vertexShaderFile = NULL;
     222    glDetachObjectARB(this->shaderProgram, this->vertexShader);
    216223    glDeleteObjectARB(this->vertexShader);
    217224    glGetObjectParameterivARB(this->vertexShader, GL_OBJECT_DELETE_STATUS_ARB, &status);
     
    224231    delete[] this->fragmentShaderFile;
    225232    this->fragmentShaderFile = NULL;
     233    glDetachObjectARB(this->shaderProgram, this->fragmentShader);
    226234    glDeleteObjectARB(this->fragmentShader);
    227235    glGetObjectParameterivARB(this->fragmentShader, GL_OBJECT_DELETE_STATUS_ARB, &status);
Note: See TracChangeset for help on using the changeset viewer.