如何使用 XNA 将纹理应用于三角形条

本文关键字:应用于 三角形 纹理 何使用 XNA | 更新日期: 2023-09-27 18:36:53

我正在使用XNA绘制3d基元。

我有一个描述立方体的三角带(我希望。我使用了本文图2所示的三角测量)。对于那些想要检查数学的人:

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 类,我需要将纹理应用于每张脸。如果在单个三角带中不可能做到这一点,那么我现在可以停止。

第二个问题:如何将单个纹理正确应用于三角形条带?

第三个问题:如何将不同的纹理分配/应用于不同的面?

如何使用 XNA 将纹理应用于三角形条

我现在无法查找,但您也必须加载内容此外,如果您正在绘制多边形,请使用基本效果。你应该只使用SpriteBatch进行精灵绘制(即:使用其Draw方法)。考虑用谷歌帮助自己... ;D只需看看Microsoft开发者网络...几乎所有关于函数语法的解释 http://msdn.microsoft.com/en-us:

但是,通过Cinema4D或Blender绘制模型或网格要容易得多...只需在其上加载纹理即可。-少做工作;更多的努力/更快,更准确的更改成为可能。

希望我帮了你足够好;)