47 lines
1008 B
Markdown
47 lines
1008 B
Markdown
|
|
# 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) - 类总览
|