Axiom.Serialization.MeshSerializerImpl.WriteMeshLodGenerated C# (CSharp) Метод

WriteMeshLodGenerated() защищенный Метод

protected WriteMeshLodGenerated ( BinaryWriter writer, SubMesh subMesh, int usageIndex ) : void
writer System.IO.BinaryWriter
subMesh Axiom.Core.SubMesh
usageIndex int
Результат void
		protected void WriteMeshLodGenerated( BinaryWriter writer, SubMesh subMesh, int usageIndex )
		{
			long start_offset = writer.Seek( 0, SeekOrigin.Current );
			WriteChunk( writer, MeshChunkID.MeshLODGenerated, 0 );

			IndexData indexData = subMesh.lodFaceList[ usageIndex - 1 ];
			bool indexes32bit = ( indexData.indexBuffer.Type == IndexType.Size32 );

			WriteInt( writer, indexData.indexCount );
			WriteBool( writer, indexes32bit );

			// lock the buffer
			IntPtr data = indexData.indexBuffer.Lock( BufferLocking.ReadOnly );

			if ( indexes32bit )
				WriteInts( writer, indexData.indexCount, data );
			else
				WriteShorts( writer, indexData.indexCount, data );

			indexData.indexBuffer.Unlock();

			long end_offset = writer.Seek( 0, SeekOrigin.Current );
			writer.Seek( (int)start_offset, SeekOrigin.Begin );
			WriteChunk( writer, MeshChunkID.MeshLODGenerated, (int)( end_offset - start_offset ) );
			writer.Seek( (int)end_offset, SeekOrigin.Begin );
		}