OpenGLのスペースのコアコンセプトを理解するのに苦労しています。現代の3Dグラフィックスに関するオンラインの本を数週間読んでいますが、プログラムで使用されているすべてのスペースに戸惑うことがよくあります。具体的には、モデルスペース、ワールドスペース、カメラスペース、クリップスペースなどのスペース。チュートリアルプログラムの1つからの例のように、行列を変換する順序と変換する順序に頭を悩ませているようには見えません。
//.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、Webサイトのこれらのスペースをどのように理解できますか?ビデオ?参照?または、戻ってチュートリアルのこれらのスペースの情報を、脳に付着するまで読み直してください。