0
我對OpenGL ES非常陌生,我正在嘗試使用一些着色器。我的問題是,當我初始化矩陣中的某些值時,但不是全部,默認值是什麼?我以爲這會是零,但是我用我的片段着色器下面的代碼:OpenGL ES問題 - 應該簡單嗎?
highp vec4 c = texture2D(inputImageTexture, textureCoordinate) ;
highp mat4 m;
m[0] = vec4(1.0);
m[1] = vec4(1.0);
m[2] = vec4(1.0);
c = m * c;
gl_FragColor = c;
顯然,陣列的最後一欄尚未初始化。爲了確保m最後一列中的所有值都爲零,我添加了行m[3] = vec4(0.0);
,並得到了不同的結果。我已經嘗試將第四列設置爲255.0
和1.0
,但每當我得到不同的結果時,然後當我沒有初始化列。有誰知道默認值是什麼?
GLSL在這方面的行爲與C沒有任何區別。由於這是一個合理的行爲(假設你熟悉C和朋友),你可以很容易從你的測試中推斷出來。 –