Files
XCEngine/docs/api/rhi/opengl/shader/set-mat3.md

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);

相关文档