Files
XCEngine/docs/api/rhi/shader/set-int.md
2026-03-20 02:35:45 +08:00

1016 B

RHIShader::SetInt

virtual void SetInt(const char* name, int value) = 0;

设置整数 uniform 变量。

通过名称查找并设置着色器中的整数 uniform 变量。常见用途包括设置布尔值、纹理采样索引、渲染模式标志等。

参数:

  • name - uniform 变量名称(需与着色器代码中的变量名一致)
  • value - 要设置的整数值

线程安全: (需要在渲染线程调用)

复杂度: O(1)(通常为哈希表查找)

示例:

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

相关文档