【发布时间】:2015-05-30 02:46:03
【问题描述】:
我在通过使用 uniform 将浮点数从 c++ 传递到我的顶点着色器时遇到问题。这个浮点数只是为了不断增加自己。
在我的标题中,我有
float pauto;
void pautoupdate(int program);
现在在我的 cpp 中
void World::pautoupdate(int program)
{
pauto += 0.1f;
glUniform1f(glGetUniformLocation(program, "pauto"), pauto);
}
在我的顶点着色器中,它被声明为,它只是增加 x 值
uniform float pauto;
terrx = Position.x;
terrx += pauto;
从这里开始,我没有得到任何结果,我不确定我是否错误地指向它或其他什么。
【问题讨论】:
-
不清楚这是否会发生,因为您只显示了一小部分代码。但请记住,
glUniform*()在活动程序上设置值。所以你需要在glUniform*()之前调用glUseProgram()。