[英]OpenGL/GLSL passing vertex coordinates to the vertex shader with type float[3]
[英]passing uniform float into vertex shader opengl
我在通過使用統一輸入到我的頂點着色器時從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;
從這里開始,我沒有從此獲得任何結果,我不確定是否錯誤地指向了它或其他東西。
請嘗試以下操作:
如果要在各種情況下快速測試和設置着色器,有幾種工具可以幫助您。 在線上有例如ShaderToy( http://www.shadertoy.com )。 脫機,讓我推薦我開發的一個工具Tao3D( http://tao3d.sf.net )。
GlUniform *應該在glUseProgram(program)和glUseProgram(0)之間應用:
1.使用着色器
2.設置制服
3.渲染東西
4.配置着色器
之所以如此,是因為OpenGL必須知道您要向其發送制服的女巫程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.