我有类似的代码作为这样一个问题: 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