32 lines
777 B
Markdown
32 lines
777 B
Markdown
# D3D12Device::CompileShader
|
||
|
||
```cpp
|
||
RHIShader* CompileShader(const ShaderCompileDesc& desc) override;
|
||
```
|
||
|
||
编译 D3D12 着色器。
|
||
|
||
**参数:**
|
||
- `desc` - 着色器编译描述符,包含文件名、入口点、Profile 等
|
||
|
||
**返回:** 新创建的着色器指针,失败返回 `nullptr`
|
||
|
||
**复杂度:** 取决于着色器复杂度
|
||
|
||
**示例:**
|
||
|
||
```cpp
|
||
ShaderCompileDesc shaderDesc;
|
||
shaderDesc.fileName = L"shaders/vertex.hlsl";
|
||
shaderDesc.entryPoint = "VSMain";
|
||
shaderDesc.profile = "vs_5_0";
|
||
|
||
RHIShader* shader = device->CompileShader(shaderDesc);
|
||
```
|
||
|
||
## 相关文档
|
||
|
||
- [D3D12Device 总览](device.md) - 返回类总览
|
||
- [RHIDevice::CompileShader](../../device/compile-shader.md) - 基类方法
|
||
- [D3D12Shader](../../shader/shader.md) - D3D12 着色器实现
|