Files
XCEngine/docs/api/rhi/shader/set-int.md

41 lines
1016 B
Markdown
Raw Normal View History

# RHIShader::SetInt
```cpp
virtual void SetInt(const char* name, int value) = 0;
```
2026-03-20 02:35:45 +08:00
设置整数 uniform 变量。
通过名称查找并设置着色器中的整数 uniform 变量。常见用途包括设置布尔值、纹理采样索引、渲染模式标志等。
**参数:**
2026-03-20 02:35:45 +08:00
- `name` - uniform 变量名称(需与着色器代码中的变量名一致)
- `value` - 要设置的整数值
**线程安全:** ❌(需要在渲染线程调用)
**复杂度:** O(1)(通常为哈希表查找)
2026-03-20 02:35:45 +08:00
**示例:**
```cpp
RHIShader* shader = device->CreateShader();
shader->CompileFromFile(L"shaders/pixel.cso", "PSMain", "ps_5_0");
shader->Bind();
// 设置纹理是否启用
shader->SetInt("u_texEnabled", 1);
// 设置渲染模式
shader->SetInt("u_renderMode", 2);
// 设置阴影开关
shader->SetInt("u_shadowEnabled", 0);
```
## 相关文档
2026-03-20 02:35:45 +08:00
- [RHIShader](shader.md) - 返回类总览
- [`SetFloat`](set-float.md) - 设置浮点数 uniform
- [`SetVec3`](set-vec3.md) - 设置三维向量 uniform