C#のManaged DirectXを使用して、実行時にDirectX3Dメッシュを作成する必要があります。これを行う方法に関する情報を見つけることができませんでした。
- いいえ、3Dモデラープログラムを使用してオブジェクトを作成することはできません。それらは正確なサイズと形状である必要があり、実行時までサイズや形状の情報はありません。
- いいえ、既存のDirectXメッシュ機能からモデルを構築することはできません。(簡単な例:DirectXを使用すると、コーンメッシュとシリンダーメッシュを使用して鉛筆を簡単にモデル化できます。もちろん、鉛筆には1つだけでなく、2つのメッシュを持ち運び、それぞれを適切に配置および方向付ける必要があります。半円柱も半円錐メッシュも提供されていないため、鉛筆のモデルを縦に半分に分割することさえできません。)
- 実行時に、すべての頂点がすでに計算されており、必要な三角形を作成するために接続する頂点がわかっています。
- 必要なのは無地だけです。テクスチャマップを作成する必要はありません。
このDirectX呼び出しを使用して、球のメッシュを取得でき
Mesh sphere = Mesh.Sphere(device, sphereRadius, sphereSlices, sphereStacks);
ます。このメッシュは実行時に作成されます。
私が知る必要があるのは、同様の関数を作成する方法です
Mesh shape = MakeCustomMesh(device, vertexlist, trianglelist);
。2つのリストは、任意の適切なコンテナー/形式である可能性があります。
誰かが私にマネージドDirectX(C#)サンプルコードを教えてくれれば、ハードコードされた3つの三角形からメッシュを構築するだけでも、それは大きなメリットになります。