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

1006 B

RHIShader::SetFloat

virtual void SetFloat(const char* name, float 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->SetFloat("u_time", elapsedTime);

// 设置透明度
shader->SetFloat("u_alpha", 0.5f);

// 设置雾的起始距离
shader->SetFloat("u_fogStart", 10.0f);
shader->SetFloat("u_fogEnd", 100.0f);

相关文档