我需要在運行時使用C#託管的DirectX在運行時製作DirectX 3D網格。我一直無法找到關於如何做到這一點的任何信息。在C#中製作自定義網格託管DirectX
- 不,我不能使用3D建模程序來製作我的對象。它們的尺寸和形狀必須精確,並且在運行前我沒有任何尺寸或形狀信息。
- 不,我不能從現有的DirectX網格功能建立模型。 (一個簡單的例子:DirectX可以讓你使用錐形網格和圓柱形網格來輕鬆地建模一個鉛筆,當然,你必須爲你的鉛筆提供兩個網格,而不僅僅是一個,並且正確定位和定位每個網格。由於沒有提供半圓柱體和半圓錐體網格,所以甚至不能製作將鉛筆分割成縱向的模型)。
- 在運行時,我已經計算了所有的頂點並知道要連接哪些頂點以實現必要三角形。
- 我需要的只是一種純色。我不需要紋理貼圖。
人們可以得到使用此的DirectX調用球的網格:
Mesh sphere = Mesh.Sphere(device, sphereRadius, sphereSlices, sphereStacks);
該網在運行時生成。
我需要知道的是如何使類似的功能:
Mesh shape = MakeCustomMesh(device, vertexlist, trianglelist);
其中兩個列表可以是任何合適的容器/格式。
如果任何人都可以指向託管的DirectX(C#)示例代碼,即使它只是從3個硬編碼三角形構建網格,這將是一個很大的好處。
非常感謝里德獲得必要的快速啓動。 也感謝Jeff編輯我的問題。我不能完全相信我用兩種不同的方式拼寫了「被管理」的錯誤兩次。星期五顯然很晚。 – 2009-08-16 21:46:20