0
왜 첫 번째 코드는 작동하지만 두 번째 코드는 작동하지 않습니까? 코드는 정점 셰이더에 있습니다.VertexShader에서 mat4로 작업
첫 번째 코드 :
gl_Position = ProjectionMatrix * ViewMatrix * ModelMatrix * vec4(Position, 1.0);
두 번째 코드 : 매트릭스 생성자에 대한 GLSL 스펙에서
mat4 View = mat4(
ViewMatrix[0][0], ViewMatrix[1][0], ViewMatrix[2][0], ViewMatrix[3][0],
ViewMatrix[0][1], ViewMatrix[1][1], ViewMatrix[2][1], ViewMatrix[3][1],
ViewMatrix[0][2], ViewMatrix[1][2], ViewMatrix[2][2], ViewMatrix[3][2],
ViewMatrix[0][3], ViewMatrix[1][3], ViewMatrix[2][3], ViewMatrix[3][3]
);
gl_Position = ProjectionMatrix * View * ModelMatrix * vec4(Position, 1.0);
derhass가 말하고자하는 것은 의도하지 않게 행렬을 전 환한 것이므로 일이 엉망이된다는 것입니다. – datenwolf
@ datenwolf : 바로 그거야. 나는 실제로 거기에 transposing에 대한 문장을했지만, 어떻게 든 대답을 보내기 전에 그것을 망쳤다. 나는 그것을 더 분명하게하기 위해 그것을 편집했다. – derhass