2011-04-10 25 views
1

目前我使用啓用/禁用斷枝和VERT着色器

glUseProgramObjectARB(ProgramObject); 

glUseProgramObjectARB(0); 

但它不回正常開關,給了我一個「無效操作glError」沿着這些行

void updateAnim_withShader() 
{ 
    int location; 

    location = getUniLoc(ProgramObject, "currentTime"); 
    ParticleTime += 0.002f; 

    if (ParticleTime > 15.0) 
     ParticleTime = 0.0; 

    glUniform1fARB(location, ParticleTime); 
    printOpenGLError(); 
} 

什麼是正確/正確的做法(啓用/禁用着色器)?

[我的代碼文件(刪除臨時鏈接)] [1]

+1

請向我們展示更多代碼。到目前爲止,我只能做出假設,而現在我猜你正試圖在沒有着色器邊界的情況下獲得統一的位置,這相當可能會給你一個錯誤。 – datenwolf 2011-04-10 11:38:41

回答

1

location爲-1,因爲實際currentTime統一不是在着色器使用。