# RHIShader::Bind ```cpp virtual void Bind() = 0; ``` 绑定着色器到渲染管线。 将当前着色器实例设置为活跃状态,使其参与后续的渲染操作。绑定后,着色器的 uniform 参数和资源将供 GPU 使用。 **线程安全:** ❌(需要在渲染线程调用) **复杂度:** O(1) **示例:** ```cpp RHIShader* vertexShader = device->CreateShader(); RHIShader* fragmentShader = device->CreateShader(); vertexShader->CompileFromFile(L"shaders/vertex.cso", "VSMain", "vs_5_0"); fragmentShader->CompileFromFile(L"shaders/pixel.cso", "PSMain", "ps_5_0"); vertexShader->Bind(); fragmentShader->Bind(); // 设置 uniform float modelMatrix[16] = { /* 4x4 矩阵数据 */ }; vertexShader->SetMat4("u_modelViewProj", modelMatrix); // 执行渲染... vertexShader->Unbind(); fragmentShader->Unbind(); ``` ## 相关文档 - [RHIShader](shader.md) - 返回类总览 - [`Unbind`](unbind.md) - 解绑着色器