2012-03-15 65 views
-1

我只是無法弄清楚如何將紋理應用到球體網格(使用Mesh.CreateSphere創建)。我想問題是用Mesh.Create創建的網格沒有紋理座標(或者它們有一些?),我只是無法找到如何添加它們。我已經找到了MDX的一些示例代碼,但他們使用了一個Customimrtex結構,這在slimDX中是不可用的。是否將紋理添加到難度較高的標準網格?我想知道爲什麼slimDX中沒有一些預定義的函數可以這麼做... 感謝您的建議。在SlimDX中添加紋理到球體

(我正在使用Direct3D9)

回答

0

是的,你是對的。網格中沒有紋理座標。不用插入座標,用自定義頂點格式創建整個球體會更容易。

要創建頂點格式,您需要一個結構來存儲頂點數據。這個:

public struct MyVertex 
{ 
    public Vector3 Position; 
    public static readonly VertexFormat = VertexFormat.Position; 
} 

這將使您能夠創建Vertexbuffers。

順便提一句,使用兩個參數u和v描述球體p = r * new Vector3(sin(u) * cos(v), sin(u)* sin(v), cos(u));,u從0到Pi和v從0到2 * Pi