1

目前我正在使用

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]

4

1 回答 1

1

location是-1,因为实际的currentTime制服没有在着色器中使用。

于 2011-04-10T12:26:09.573 回答