The Book of Shaders by Patricio Gonzalez Vivo


mat3

Матриця розміром 3x3 зі значеннями типу float

Оголошення

mat3 aMat3 = mat3(
    1.0, 0.0, 0.0,  // 1. column
    0.0, 1.0, 0.0,  // 2. column
    0.0, 0.0, 1.0   // 3. column
);
mat3 bMat3 = mat3(1.0);

mat3 cMat3 = mat3(aVec3, bVec3, cVec3);
mat3 dMat3 = mat3(aVec4, aVec3, bVec4, aFloat);

Опис

mat3 — тип даних, що є матрицею розміром 3x3 із значеннями типу float. Як видно із прикладу вище, ініціалізувати можна різними способами:

Так само можна отримати доступ до даних покомпонентно або стовпець за стовпцем:

mat3 aMat3;
aMat3[2][2] = 1.0;
float aFloat = aMat3[2][2];

aMat3[0] = vec3(1.0);
vec3 aVec3 = aMat3[0];

Дивіться також

mat2, mat4, matrixCompMult()