Axiom.Core.PatchMesh.load C# (CSharp) Method

load() protected method

protected load ( ) : void
return void
		protected override void load()
		{
			SubMesh sm = CreateSubMesh();
			sm.vertexData = new VertexData();
			sm.useSharedVertices = false;

			// Set up the vertex buffer
			sm.vertexData.vertexStart = 0;
			sm.vertexData.vertexCount = patchSurface.RequiredVertexCount;
			sm.vertexData.vertexDeclaration = vertexDeclaration;

			HardwareVertexBuffer buffer =
				HardwareBufferManager.Instance.CreateVertexBuffer( vertexDeclaration.Clone( 0 ), sm.vertexData.vertexCount,	VertexBufferUsage, UseVertexShadowBuffer );

			// bind the vertex buffer
			sm.vertexData.vertexBufferBinding.SetBinding( 0, buffer );

			// create the index buffer
			sm.indexData.indexStart = 0;
			sm.indexData.indexCount = patchSurface.RequiredIndexCount;
			sm.indexData.indexBuffer =
				HardwareBufferManager.Instance.CreateIndexBuffer(
				IndexType.Size16,
				sm.indexData.indexCount,
				IndexBufferUsage,
				UseIndexShadowBuffer );

			// build the path
			patchSurface.Build( buffer, 0, sm.indexData.indexBuffer, 0 );

			// set the bounds
			this.BoundingBox = patchSurface.Bounds;
			this.BoundingSphereRadius = patchSurface.BoundingSphereRadius;
		}
	}