我正在尝试做一个vertexShader,我想在顶点位置使用modelMatrix进行一些计算,然后应用viewMatrix。
我没有设法让这个工作正常,而我确信这段代码应该是真的:modelViewMatrix = modelMatrix * viewMatrix
但即使在最基本的vertexShader中它也没有正确应用:
void main() {
gl_Position = projectionMatrix * modelMatrix * viewMatrix * vec4(position, 1.0);
}
虽然这很好用:
void main() {
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
}
Three.JS似乎传递了矩阵,但我还没有找到验证这些变量值的方法:
uniform mat4 modelMatrix;
uniform mat4 modelViewMatrix;
uniform mat4 projectionMatrix;
uniform mat4 viewMatrix;
uniform mat3 normalMatrix;
答案 0 :(得分:1)
应该是相反的方式:
void main() {
gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(position, 1.0);
}