docs: update resources API docs
This commit is contained in:
57
docs/api/resources/mesh/set-vertex-data.md
Normal file
57
docs/api/resources/mesh/set-vertex-data.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# Mesh::SetVertexData
|
||||
|
||||
```cpp
|
||||
void SetVertexData(const void* data, size_t size, Core::uint32 vertexCount,
|
||||
Core::uint32 vertexStride, VertexAttribute attributes);
|
||||
```
|
||||
|
||||
设置网格的顶点数据。此方法会复制传入的数据到内部缓冲区。
|
||||
|
||||
**参数:**
|
||||
- `data` - 顶点数据指针,不能为 nullptr
|
||||
- `size` - 顶点数据总字节数
|
||||
- `vertexCount` - 顶点数量
|
||||
- `vertexStride` - 单个顶点的字节大小
|
||||
- `attributes` - 顶点属性标志,指定数据包含哪些顶点通道
|
||||
|
||||
**返回:** 无
|
||||
|
||||
**异常:** 无
|
||||
|
||||
**线程安全:** ❌
|
||||
|
||||
**复杂度:** O(n) - n 为顶点数据大小
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
#include "XCEngine/Resources/Mesh.h"
|
||||
|
||||
using namespace XCEngine::Resources;
|
||||
|
||||
struct Vertex {
|
||||
float position[3];
|
||||
float normal[3];
|
||||
float uv[2];
|
||||
};
|
||||
|
||||
Vertex vertices[4] = {
|
||||
{{-0.5f, -0.5f, 0.0f}, {0.0f, 0.0f, 1.0f}, {0.0f, 0.0f}},
|
||||
{{ 0.5f, -0.5f, 0.0f}, {0.0f, 0.0f, 1.0f}, {1.0f, 0.0f}},
|
||||
{{ 0.5f, 0.5f, 0.0f}, {0.0f, 0.0f, 1.0f}, {1.0f, 1.0f}},
|
||||
{{-0.5f, 0.5f, 0.0f}, {0.0f, 0.0f, 1.0f}, {0.0f, 1.0f}}
|
||||
};
|
||||
|
||||
Mesh mesh;
|
||||
mesh.SetVertexData(
|
||||
vertices,
|
||||
sizeof(vertices),
|
||||
4,
|
||||
sizeof(Vertex),
|
||||
VertexAttribute::Position | VertexAttribute::Normal | VertexAttribute::UV0
|
||||
);
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [类总览](mesh.md) - 返回类总览
|
||||
Reference in New Issue
Block a user