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

34 lines
808 B
Markdown
Raw Normal View History

# OpenGLShader::SetMat2
设置 2x2 矩阵 uniform 变量。
```cpp
void SetMat2(const char* name, const float* value);
```
通过名称查找并设置着色器中的 2x2 变换矩阵 uniform 变量。矩阵按列主序存储。
**参数:**
- `name` - uniform 变量名称
- `value` - 指向 4 个 float 元素的数组指针(列主序排列)
**返回:** 无
**线程安全:** ❌(需要在渲染线程调用)
**示例:**
```cpp
// 设置 2x2 旋转矩阵
float rotation[4] = {
cos(angle), sin(angle), // 第一列
-sin(angle), cos(angle) // 第二列
};
shader->SetMat2("u_rotation", rotation);
```
## 相关文档
- [OpenGLShader 总览](shader.md) - 返回类总览
- [SetMat3](set-mat3.md) - 设置 3x3 矩阵
- [SetMat4](../../shader/set-mat4.md) - 设置 4x4 矩阵