【问题标题】:Adding a Texture to a Sphere in SlimDX在 SlimDX 中为球体添加纹理
【发布时间】:2012-03-15 11:49:18
【问题描述】:

我只是不知道如何将纹理应用到球体网格(使用 Mesh.CreateSphere 创建)。我想问题是那些用 Mesh.Create 创建的网格没有纹理坐标(或者它们有一些?),我只是不知道如何添加它们。我已经找到了一些 MDX 的示例代码,但它们使用了一个在 slimDX 中不可用的 CustomVertex 结构。将纹理添加到标准网格有那么困难吗?我想知道为什么 slimDX 中没有一些预定义的函数可以做到这一点...... 谢谢你的建议。

(p.s. 我使用的是 Direct3D9)

【问题讨论】:

    标签: geometry directx textures slimdx


    【解决方案1】:

    是的,你是对的。网格中没有纹理坐标。而不是插入坐标,使用自定义顶点格式创建整个球体会更容易。

    要创建顶点格式,您需要一个结构来存储顶点数据。例如这个:

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

    这将使您能够创建顶点缓冲区。

    顺便说一句,p = r * new Vector3(sin(u) * cos(v), sin(u)* sin(v), cos(u)); 使用两个参数 u 和 v 来描述球体,其中 u 从 0 到 Pi,v 从 0 到 2*Pi

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多