38 lines
890 B
Markdown
38 lines
890 B
Markdown
|
|
# Mesh::SetVertexData
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
void SetVertexData(const void* data, size_t size, Core::uint32 vertexCount,
|
|||
|
|
Core::uint32 vertexStride, VertexAttribute attributes)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
设置网格顶点数据。复制顶点缓冲数据到内部存储。
|
|||
|
|
|
|||
|
|
**参数:**
|
|||
|
|
- `data` - 顶点数据指针
|
|||
|
|
- `size` - 数据大小(字节)
|
|||
|
|
- `vertexCount` - 顶点数量
|
|||
|
|
- `vertexStride` - 单个顶点结构体大小(字节)
|
|||
|
|
- `attributes` - 顶点属性标志组合
|
|||
|
|
|
|||
|
|
**返回:** 无
|
|||
|
|
|
|||
|
|
**复杂度:** O(n),n 为顶点数据大小
|
|||
|
|
|
|||
|
|
**示例:**
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
struct Vertex {
|
|||
|
|
float position[3];
|
|||
|
|
float normal[3];
|
|||
|
|
float uv[2];
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
mesh->SetVertexData(vertices.Data(), vertices.Size() * sizeof(Vertex),
|
|||
|
|
vertexCount, sizeof(Vertex),
|
|||
|
|
VertexAttribute::Position | VertexAttribute::Normal | VertexAttribute::UV0);
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 相关文档
|
|||
|
|
|
|||
|
|
- [Mesh 总览](mesh.md) - 返回类总览
|