0
對不起,我不能提供更好的東西。當使用兩個輸入變量時,GLSL不會顯示顏色
我有下面的片段着色器代碼:
#version 430 core
out vec4 color;
uniform vec4 coords; //set to {1.f,1.f,1.f,1.f}
uniform vec3 values; //{time, a, b}
void main() {
float time = values[0];
float c;
c = coords[1]; //green
c = coords[1]*0.5f; //dark green
c = sin(time); //works like it should. moves between black and green.
c = time*1.0f; //quickly becomes green
c = 1.0f*coords[1]; //green
c = time*coords[1]; //black.
color = vec4(0,c,0,1);
}
但是,我不能爲我的生活管理對可變時間和COORDS任何元素結合起來。它變得黑色。即時間* coords [1]永遠不會產生任何顏色,即使coords [1]總是1.0f並且時間很快變大。
編輯:加載着色器時沒有錯誤。
請記住,時間最有可能會超過1.0f!但我懷疑這不是問題。你只是在問這裏的'時間* coords [1]',對嗎? – fordcars
有什麼可疑的是,沒有工作的情況下,唯一一個兩個制服都活躍。最好仔細檢查你的統一設置代碼。 – derhass