我有類似的代碼作爲這樣一個問題: some opengl and glm explanationGLM矩陣乘法和OpenGL GLSL
我有通過作爲單個統一
//C++
mat4 combinedMatrix = projection * view * model;
//GLSL doesn't work
out_position = combinedMatrix * vec4(vertex, 1.0);
它不工作的組合的矩陣。但如果我在着色器中進行所有乘法,所以我通過每個矩陣並得到
//GLSL works
out_position = projection * view * model * vec4(vertex, 1.0);
它的工作原理。 我看不出我的矩陣在C++代碼中有什麼問題。
下工作太
//C++
mat4 combinedMatrix = projection * view * model;
vec4 p = combinedMatrix * v;
//pass in vertex p as a vec4
//GLSL works
out_position = vertex
你已經發布的代碼看起來是正確的?你確定這個問題不在其他地方嗎?就像你使用的是錯誤的統一位置或什麼東西? – 2012-01-09 19:26:01
我看不到任何錯誤信息 – CodeMonkey 2012-01-09 20:33:11
Matthew非常感謝你!!!我是個白癡!因爲這個示例代碼是錯誤的,我必須調用glUniforms來更新我的數據,所有這些我都會像處理Vertex Arrays(在init代碼中設置em一樣)來處理它們,但是當我轉換它們時,我的矩陣需要更新。 – CodeMonkey 2012-01-09 20:51:17