916 B
916 B
OpenGLShader::SetMat3
设置 3x3 矩阵 uniform 变量。
void SetMat3(const char* name, const float* value);
通过名称查找并设置着色器中的 3x3 变换矩阵 uniform 变量。矩阵按列主序存储。常见用途包括设置法线矩阵、模型矩阵的 3x3 部分等。
参数:
name- uniform 变量名称value- 指向 9 个 float 元素的数组指针(列主序排列)
返回: 无
线程安全: ❌(需要在渲染线程调用)
示例:
// 设置 3x3 法线矩阵
float normalMatrix[9] = {
1.0f, 0.0f, 0.0f, // 第一列
0.0f, 1.0f, 0.0f, // 第二列
0.0f, 0.0f, 1.0f // 第三列
};
shader->SetMat3("u_normalMatrix", normalMatrix);
相关文档
- OpenGLShader 总览 - 返回类总览
- SetMat2 - 设置 2x2 矩阵
- SetMat4 - 设置 4x4 矩阵