Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
ModelMesh.cs
浏览该文件的文档.
1namespace Engine.Graphics {
2 public class ModelMesh : IDisposable {
3 public List<ModelMeshPart> m_meshParts = [];
4
6
7 public string Name { get; set; }
8
9 public ModelBone ParentBone { get; set; }
10
12 get => m_boundingBox;
13 set => m_boundingBox = value;
14 }
15
16 public ReadOnlyList<ModelMeshPart> MeshParts => new(m_meshParts);
17
18 public void Dispose() {
19 Utilities.DisposeCollection(m_meshParts);
20 }
21
23 IndexBuffer indexBuffer,
24 int startIndex,
25 int indicesCount,
26 BoundingBox boundingBox) {
27 ArgumentNullException.ThrowIfNull(vertexBuffer);
28 ArgumentNullException.ThrowIfNull(indexBuffer);
29 if (startIndex < 0
30 || indicesCount < 0
31 || startIndex + indicesCount > indexBuffer.IndicesCount) {
32 throw new InvalidOperationException("Specified range is outside of index buffer.");
33 }
34 ModelMeshPart modelMeshPart = new();
35 m_meshParts.Add(modelMeshPart);
36 modelMeshPart.VertexBuffer = vertexBuffer;
37 modelMeshPart.IndexBuffer = indexBuffer;
38 modelMeshPart.StartIndex = startIndex;
39 modelMeshPart.IndicesCount = indicesCount;
40 modelMeshPart.BoundingBox = boundingBox;
41 return modelMeshPart;
42 }
43 }
44}
ModelMeshPart NewMeshPart(VertexBuffer vertexBuffer, IndexBuffer indexBuffer, int startIndex, int indicesCount, BoundingBox boundingBox)
List< ModelMeshPart > m_meshParts
ReadOnlyList< ModelMeshPart > MeshParts