TriMesh

TriMesh class

TriMesh 包含可由 GPU 直接使用的原始数据。 此类是一个实用程序,可帮助构建仅包含每个顶点数据的网格。

public class TriMesh : Entity, IEnumerable<Vertex>

构造函数

姓名描述
TriMesh(string, VertexDeclaration)初始化一个实例TriMesh

特性

姓名描述
Capacity { get; }预分配顶点的容量。
Excluded { get; set; }获取或设置导出时是否排除该实体。
IndicesCount { get; }这个索引的计数TriMesh
virtual Name { get; set; }获取或设置名称。
ParentNode { get; set; }获取或设置第一个父节点,如果设置了第一个父节点,该实体将与其他父节点分离。
ParentNodes { get; }获取所有父节点,一个实体可以附加到多个父节点进行几何实例化
Properties { get; }获取所有属性的集合。
Scene { get; }获取该对象所属的场景
UnmergedVerticesCount { get; }传入的未合并顶点数BeginVertexEndVertex.
VertexDeclaration { get; }的顶点布局TriMesh.
VerticesCount { get; }此中的顶点数TriMesh
VerticesSizeInBytes { get; }所有顶点的总大小,以字节为单位

方法

姓名描述
static CopyFrom(TriMesh, VertexDeclaration)复制TriMesh来自具有新顶点 layout 的输入
static FromMesh(Mesh, bool)从给定的网格对象创建一个 TriMesh,顶点声明基于输入网格的结构。
static FromMesh(VertexDeclaration, Mesh)使用给定的顶点布局从给定的网格对象创建一个 TriMesh。
static FromRawData(VertexDeclaration, byte[], int[], bool)从原始数据创建 TriMesh
BeginVertex()开始添加顶点
EndVertex()结束添加顶点
FindProperty(string)查找属性。 可以是动态属性(由 CreateDynamicProperty/SetProperty 创建) 或原生属性(由其名称标识)
GetBoundingBox()获取当前实体在其对象空间坐标系中的边界框。
virtual GetEntityRendererKey()获取渲染器中注册的实体渲染器的key
GetEnumerator()获取枚举器进行枚举Vertex
GetProperty(string)获取指定属性的值
IndicesToArray(out int[])
IndicesToArray(out ushort[])
LoadVerticesFromBytes(byte[])从字节加载顶点,字节长度必须是顶点大小的整数倍。
ReadDouble(int, VertexField)读取双字段
ReadFloat(int, VertexField)读取浮点字段
ReadFVector2(int, VertexField)读取vector2字段
ReadFVector3(int, VertexField)读取vector3字段
ReadFVector4(int, VertexField)读取vector4字段
ReadVector2(int, VertexField)读取vector2字段
ReadVector3(int, VertexField)读取vector3字段
ReadVector4(int, VertexField)读取vector4字段
RemoveProperty(Property)删除动态属性。
RemoveProperty(string)移除名称标识的指定属性
SetProperty(string, object)设置指定属性的值
override ToString()获取字符串表示TriMesh
VerticesToArray()将顶点数据转换为字节数组
Write16bIndicesTo(Stream)将索引数据作为 16 位整数写入流
Write32bIndicesTo(Stream)将索引数据作为 32 位整数写入流
WriteVerticesTo(Stream)将顶点数据写入指定流

也可以看看