Пример #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MeshReader"/> class.
 /// </summary>
 /// <param name="mesh">The mesh.</param>
 /// <param name="definition">The mesh's definition data.</param>
 public MeshReader(Mesh mesh, RenderGeometryResourceDefinition definition)
 {
     Mesh = mesh;
     Definition = definition;
     VertexStreams = new VertexBufferDefinition[StreamCount];
     IndexBuffers = new IndexBufferDefinition[IndexBufferCount];
     BindVertexStreams();
     BindIndexBuffers();
 }
Пример #2
0
 /// <summary>
 /// Opens an index buffer stream on one of the mesh's index buffers.
 /// </summary>
 /// <param name="definition">The index buffer definition.</param>
 /// <param name="baseStream">The stream open on the mesh's resource data to use as a base stream.</param>
 /// <returns>The index buffer stream if successful, or <c>null</c> otherwise.</returns>
 public IndexBufferStream OpenIndexBufferStream(IndexBufferDefinition definition, Stream baseStream)
 {
     if (definition.Data.Address.Type != ResourceAddressType.Resource)
         return null; // Don't bother supporting non-resource addresses
     baseStream.Position = definition.Data.Address.Offset;
     return new IndexBufferStream(baseStream, IndexBufferFormat.UInt16);
 }