我无法理解 OpenGL 中空间的核心概念。几个星期以来,我一直在阅读一本关于现代 3D 图形的在线书籍,我经常发现自己对程序中使用的所有空间感到困惑。具体来说,空间如:模型空间、世界空间、相机空间、剪辑空间。我似乎无法理解我应该将矩阵转换为的顺序,这是我的一个教程程序中的一个示例:
//.vert shader of a program
#version 330
layout(location = 0) in vec4 position;
uniform mat4 cameraToClipMatrix;
uniform mat4 worldToCameraMatrix;
uniform mat4 modelToWorldMatrix;
void main()
{
vec4 temp = modelToWorldMatrix * position;
temp = worldToCameraMatrix * temp;
gl_Position = cameraToClipMatrix * temp;
}
cameraToClip、worldToCamera、XtoY、ZtoQ,我如何才能了解 OpenGL、网站中的这些空间?视频?参考?或者我应该回去重新阅读教程中这些空间的信息,直到它附着在我的大脑上。