54 lines
1.1 KiB
Markdown
54 lines
1.1 KiB
Markdown
# OpenGLDevice::CreatePipelineState
|
|
|
|
```cpp
|
|
RHIPipelineState* CreatePipelineState(const PipelineStateDesc& desc) override
|
|
```
|
|
|
|
创建图形管线状态对象。
|
|
|
|
## 详细描述
|
|
|
|
创建封装完整渲染管线状态的 `RHIPipelineState` 对象。
|
|
|
|
### 管线组件
|
|
|
|
- 顶点/片段着色器
|
|
- 顶点格式
|
|
- 光栅化状态
|
|
- 混合状态
|
|
- 深度/模板状态
|
|
- 渲染目标格式
|
|
|
|
## 参数
|
|
|
|
- `desc` - 管线状态描述符
|
|
|
|
## 返回值
|
|
|
|
`RHIPipelineState*` - 创建的管线状态指针
|
|
|
|
## 注意事项
|
|
|
|
- 返回的管线状态对象归调用者所有,需自行管理生命周期
|
|
- 管线状态创建后可通过 `RHIPipelineState` 接口配置
|
|
|
|
## 示例
|
|
|
|
```cpp
|
|
PipelineStateDesc psoDesc;
|
|
psoDesc.vertexShader = vertexShader;
|
|
psoDesc.fragmentShader = fragmentShader;
|
|
psoDesc.vertexFormat = vertexFormat;
|
|
// ... 设置其他管线状态
|
|
|
|
RHIPipelineState* pso = device.CreatePipelineState(psoDesc);
|
|
|
|
// 绑定管线状态
|
|
pso->Bind();
|
|
```
|
|
|
|
## 相关文档
|
|
|
|
- [OpenGLDevice](device.md) - 类总览
|
|
- [OpenGLPipelineState](../opengl-pipeline-state.md) - OpenGL 管线状态实现
|