【问题标题】:how to make a sphere using Metal in Swift 2.0 for iOS?如何在 iOS 的 Swift 2.0 中使用 Metal 制作球体?
【发布时间】:2015-12-26 07:49:27
【问题描述】:

有人知道如何在 iOS 中使用 Metal 制作球体吗? 我跟着这个tutorial 学习了一些金属的东西。

但我不知道如何在 3D 中渲染球体。

【问题讨论】:

  • 我知道怎么做!但是有几个步骤和许多选项。请尝试一下,然后提出更小、更集中的问题。
  • 渲染立方体是一样的。只需更改网格数据。

标签: ios xcode swift metal


【解决方案1】:

您必须更改网格数据,但手动完成所有操作会很费力。所以总的来说,你有几个选择:

  1. 您可以在 Blender 等 3D 建模程序中绘制球体并将其导出为 OBJ 文件。然后,您可以使用 Model I/O(参见 WWDC 视频)甚至您自己的框架来读取 OBJ 文件。
  2. 如果您比较勇敢和雄心勃勃,可以尝试使用数学方法在程序上创建一个球体的顶点数组。我会说它会比第一个更难,但是嘿,这很酷。
  3. 在顶点数组中手动​​键入所有顶点位置。我不推荐这样做,因为它会浪费时间,而且你不会做太多的事情来发展你的编程知识。

您也许可以使用其他方法。取决于你的创造力。

【讨论】:

    【解决方案2】:

    最好的方法是使用模型 I/O 框架创建一个 MDLMesh 来表示球体网格。可以这样做:

    let sphereMesh = MDLMesh(sphereWithExtent: vector3(0.1, 0.1, 0.1), segments: vector2(50, 50), inwardNormals: false, geometryType: .triangles, allocator: metalAllocator)
    

    更多信息,您可以查看documentationthis tutorial

    【讨论】:

      猜你喜欢
      • 2020-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-02
      • 2022-01-02
      • 1970-01-01
      • 1970-01-01
      • 2021-08-07
      相关资源
      最近更新 更多