63

glsl mat4タイプのマトリックスの個々の要素にアクセスすることは可能ですか?どのように?

4

1 に答える 1

75

GLSLリファレンスマニュアルのセクション5.6には、次の方法でスタイル構文mat4を使用して配列要素にアクセスできると記載されています。operator[][]

mat4 m;
m[1] = vec4(2.0); // sets the second column to all 2.0
m[0][0] = 1.0; // sets the upper left element to 1.0
m[2][3] = 2.0; // sets the 4th element of the third column to 2.0

OpenGLのデフォルトは列の主行列であることに注意してください。これは、アクセスがの形式であることを意味しますmat[col][row]。この例でm[2][3]は、3番目の列(インデックス2)の4番目の行(インデックス3)を2.0に設定します。この例m[1]=vec4(2.0)では、列全体を一度に設定しています(m[1]列#2を参照しているため、1つのインデックスのみが使用されている場合は、COLUMN。m[1]がSECOND COLUMN VECTORを参照していることを意味します)。

于 2012-11-29T22:11:20.323 に答える