1

私はGLSLの初心者です。頂点シェーダー コードを読んでいましたが、コードのこの部分がわかりません。

out vec3 position;
...
gl_Position=gl_ModelViewProjectionMatrix*gl_Vertex; 
position=vec3(gl_ModelViewMatrix*gl_Vertex); 

gl_ModelViewProjectionMatrix と gl_ModelViewMatrix の違いは何ですか?

gl_Position と position の違いは何ですか?

4

1 に答える 1

1

ご想像のとおり、gl_ModelViewProjectionMatrix は、gl_ModelViewMatrix にプロジェクション (つまり、遠近法によるカメラの歪み) が追加されたものです。

gl_Position は、「この頂点シェーダーの投影結果」を意味する事前定義された変数です (すべての頂点シェーダーは gl_Position に値を割り当てる必要があります)。一方、値「位置」は、ライドに付随する追加のプログラマー定義の値です (なぜとは言えません。シェーダー全体に依存します)

于 2013-02-26T10:18:08.583 に答える