我正在使用XNA繪製三維圖元。如何使用XNA將紋理應用於三角形條?
我有一個TriangleStrip描述了一個立方體(我希望我使用了圖2中所示的三角形this paper)。對於那些你想檢查數學:
public readonly VertexPositionTexture[] Vertices =
{
new VertexPositionTexture(new Vector3(0, 0,0), new Vector2(1,1)),//A
new VertexPositionTexture(new Vector3(1, 0,0),new Vector2(0,1)),//B
new VertexPositionTexture(new Vector3(0, 1,0),new Vector2(1,0)),//C
new VertexPositionTexture(new Vector3(1, 1,0),new Vector2(0,0)),//D
new VertexPositionTexture(new Vector3(1, 1,1),new Vector2(0,0)),//E
new VertexPositionTexture(new Vector3(1, 0,0),new Vector2(1,1)),//B'
new VertexPositionTexture(new Vector3(1, 0,1),new Vector2(0,1)),//F
new VertexPositionTexture(new Vector3(0, 0,0),new Vector2(1,0)),//A'
new VertexPositionTexture(new Vector3(0, 0,1),new Vector2(1,1)),//H
new VertexPositionTexture(new Vector3(0, 1,0),new Vector2(1,0)),//C'
new VertexPositionTexture(new Vector3(0, 1,1),new Vector2(1,1)),//I
new VertexPositionTexture(new Vector3(1, 1,1),new Vector2(0,0)),//E'
new VertexPositionTexture(new Vector3(0, 0,1),new Vector2(0,1)),//H'
new VertexPositionTexture(new Vector3(1, 0,0),new Vector2(1,1))//F'
};
我的問題是,我不知道如何應用紋理。起初,我試圖對每張臉都應用不同的紋理,但這是難以捉摸的。我現在要做的是將一個紋理應用於整個多維數據集。
第一個問題:這是繼續進行的最好方法嗎?瞭解到我正在嘗試創建一個可重用的Cube類,我將需要將紋理應用於每個表面。如果這在單個TriangleStrip中不可行,那麼我現在就可以停下來。
第二個問題:如何正確應用單個紋理到TriangleStrip?
第三個問題:如何爲不同的面分配/應用不同的紋理?
如果你從MS文檔中得到任何東西,你是比我更好的人。他們給出了一個quad的例子,但沒有進一步的。而且我無法找到任何關於如何改變中畫素材的方法。 –
不要忘記投票...這些文件沒有完整的解釋...只是片段...你必須看多一個或開始思考:「我怎麼能在我的程序中使用它?」。只是在他們的幫助下嘗試一下);但是你有點兒不對......那些更像是想要刷新你的想法:D – user31911
繪製方法...你知道事情正在被繪製的地方...; D我想要你應該刪除你開始xD的新項目的暑期和評論 – user31911