Mesh、Vertex 等组织关系
我们是 ECS 架构,一个 Entity 可以挂载一个 MeshComponent,这个 MeshComponent 就应当包含实际的 Mesh。
Mesh 是由一个 SubMesh 数组组成的。
Mesh 中应当有:包围盒(AABB?)、顶点格式(static?skinned?未来可以更多扩展如只有position、有多个uv通道等)、VertexBuffer(整个mesh用的所有顶点,这个VertexBuffer应该包含cpu和gpu两部分的数据,cpu部分用于网格破坏、各种编辑等,未来可以考虑cpu部分包含与否)、所有submesh、所有材质
SubMesh 中应当有:顶点的对应(indexStart、indexCount、firstVertex、vertexCount)、材质的索引
简单的参考:
https://github.com/Ubpa/Utopia/blob/master/include/Utopia/Render/Mesh.h https://github.com/Ubpa/Utopia/blob/master/include/Utopia/Render/SubMeshDescriptor.h
Last updated