33 lines
774 B
Markdown
33 lines
774 B
Markdown
# RHIShader::Shutdown
|
|
|
|
```cpp
|
|
virtual void Shutdown() = 0;
|
|
```
|
|
|
|
释放着色器资源。
|
|
|
|
销毁着色器并释放关联的 GPU 资源。调用此方法后,着色器实例将变为无效状态,不应再被使用。通常在渲染系统关闭或切换渲染设备时调用。
|
|
|
|
**线程安全:** ❌(需要在渲染线程调用,且调用后不能在其他线程访问)
|
|
|
|
**复杂度:** O(1)
|
|
|
|
**示例:**
|
|
|
|
```cpp
|
|
RHIShader* shader = device->CreateShader();
|
|
if (shader->CompileFromFile(L"shaders/vertex.cso", "VSMain", "vs_5_0")) {
|
|
shader->Bind();
|
|
// 使用着色器...
|
|
shader->Unbind();
|
|
}
|
|
|
|
shader->Shutdown();
|
|
// shader 现在已无效,不能再使用
|
|
device->DestroyShader(shader);
|
|
```
|
|
|
|
## 相关文档
|
|
|
|
- [RHIShader](shader.md) - 返回类总览
|