33 lines
752 B
Markdown
33 lines
752 B
Markdown
|
|
# RHIDevice::CreateBuffer
|
||
|
|
|
||
|
|
```cpp
|
||
|
|
virtual RHIBuffer* CreateBuffer(const BufferDesc& desc) = 0;
|
||
|
|
```
|
||
|
|
|
||
|
|
创建 GPU 缓冲区资源。
|
||
|
|
|
||
|
|
**参数:**
|
||
|
|
- `desc` - 缓冲区描述符,包含大小、类型、标志等
|
||
|
|
|
||
|
|
**返回:** 新创建的缓冲区指针,失败返回 `nullptr`
|
||
|
|
|
||
|
|
**复杂度:** O(1)
|
||
|
|
|
||
|
|
**示例:**
|
||
|
|
|
||
|
|
```cpp
|
||
|
|
BufferDesc bufferDesc;
|
||
|
|
bufferDesc.size = sizeof(Vertex) * vertexCount;
|
||
|
|
bufferDesc.stride = sizeof(Vertex);
|
||
|
|
bufferDesc.bufferType = (uint32_t)BufferType::Vertex;
|
||
|
|
bufferDesc.flags = 0;
|
||
|
|
|
||
|
|
RHIBuffer* vertexBuffer = device->CreateBuffer(bufferDesc);
|
||
|
|
```
|
||
|
|
|
||
|
|
## 相关文档
|
||
|
|
|
||
|
|
- [RHIDevice 总览](device.md) - 返回类总览
|
||
|
|
- [RHIBuffer](../buffer/buffer.md) - 缓冲区类
|
||
|
|
- [BufferDesc](../types/types.md) - 缓冲区描述结构体
|