我正在使用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