[英]Making a custom mesh in C# managed DirectX
我需要在運行時使用來自C#的Managed DirectX制作DirectX 3D網格。 我無法找到有關如何執行此操作的任何信息。
使用此DirectX調用可以得到球體的網格:
Mesh sphere = Mesh.Sphere(device, sphereRadius, sphereSlices, sphereStacks);
該網格是在運行時構建的。
我需要知道的是如何進行類似的功能:
Mesh shape = MakeCustomMesh(device, vertexlist, trianglelist);
其中兩個列表可以是任何合適的容器/格式。
如果有人可以將我指向托管DirectX(C#)示例代碼,即使它只是從3個硬編碼三角形構建網格,那也將是一個很大的好處。
有一些示例代碼顯示了如何在MDXInfo上執行此操作 。 這將創建具有多個子集的網格-如果您不需要它,則更加簡單。
基本上,您只需創建網格:
Mesh mesh = new Mesh(numIndices, numVerticess, MeshFlags.Managed, CustomVertex.PositionColored.Format /* you'll need to set this */ , device);
然后,您可以抓取網格頂點緩沖區和索引緩沖區,並使用以下方法覆蓋它們:
IndexBuffer indices = mesh.IndexBuffer;
VertexBuffer vertices = mesh.VertexBuffer;
然后,適當地填充索引和頂點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.