Подтвердить что ты не робот

Как вы получаете доступ к отдельным элементам glsl mat4?

Можно ли получить доступ к отдельным элементам матрицы типа glsl mat4? Как?

4b9b3361

Ответ 1

В разделе 5.6 справочника GLSL говорится, что вы можете получить доступ к элементам массива 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] устанавливает четвертый ROW (индекс 3) третьего COLUMN (индекс 2) в 2.0. В примере m[1]=vec4(2.0) он устанавливает полный столбец сразу (поскольку m[1] ссылается на столбец # 2, когда используется только один индекс, это означает, что COLUMN. m[1] относится к SECOND COLUMN VECTOR).