Files
XCSDD/docs/api/rhi/d3d12/shader/set-uniforms.md

47 lines
1008 B
Markdown
Raw Normal View History

# D3D12Shader::SetUniforms
## 函数签名
```cpp
void SetInt(const char* name, int value) override
void SetFloat(const char* name, float value) override
void SetVec3(const char* name, float x, float y, float z) override
void SetVec4(const char* name, float x, float y, float z, float w) override
void SetMat4(const char* name, const float* value) override
```
## 中文描述
设置着色器 uniform 变量。当前实现为空stub
## 参数
| 参数 | 类型 | 描述 |
|------|------|------|
| `name` | `const char*` | 变量名称 |
| `value` | 各种类型 | 变量值 |
| `x, y, z, w` | `float` | 向量分量 |
| `value` | `const float*` | 矩阵数据指针 |
## 返回值
## 复杂度
O(1)
## 示例
```cpp
shader->SetInt("useLighting", 1);
shader->SetFloat("scale", 2.0f);
shader->SetVec3("lightPos", 1.0f, 2.0f, 3.0f);
shader->SetVec4("color", 1.0f, 0.0f, 0.0f, 1.0f);
shader->SetMat4("transform", matrixData);
```
## 相关文档
- [D3D12Shader](shader.md) - 类总览