如何在 Swift 2.0 中使用 Metal for iOS 制作球体?
how to make a sphere using Metal in Swift 2.0 for iOS?
有谁知道如何在 iOS 中使用金属制作球体?
我按照这个 tutorial 学习了一些金属材料。
但我无法安静地想出如何在 3D 中渲染球体。
您必须更改网格数据,但手动完成所有操作会很费力。所以总的来说,你有几个选择:
- 您可以在 Blender 等 3D 建模程序中绘制一个球体,并将其导出为 OBJ 文件。然后你可以使用像 Model I/O 这样的框架(参见 WWDC 视频)甚至你自己的框架来读取 OBJ 文件。
- 如果你更勇敢更有野心,你可以尝试使用数学方法在程序上创建一个球体的顶点数组。我会说它会比第一个更难,但是嘿,这很酷。
- 在顶点数组中手动键入所有顶点位置。我不会推荐这个,因为它会浪费时间,而且你不会做太多的事情来发展你的编程知识。
您或许可以使用其他方法。就看你的创意了。
最好的方法是使用模型 I/O 框架创建一个 MDLMesh 来表示球体网格。可以这样做:
let sphereMesh = MDLMesh(sphereWithExtent: vector3(0.1, 0.1, 0.1), segments: vector2(50, 50), inwardNormals: false, geometryType: .triangles, allocator: metalAllocator)
更多信息,您可以查看documentation and also this tutorial。
有谁知道如何在 iOS 中使用金属制作球体? 我按照这个 tutorial 学习了一些金属材料。
但我无法安静地想出如何在 3D 中渲染球体。
您必须更改网格数据,但手动完成所有操作会很费力。所以总的来说,你有几个选择:
- 您可以在 Blender 等 3D 建模程序中绘制一个球体,并将其导出为 OBJ 文件。然后你可以使用像 Model I/O 这样的框架(参见 WWDC 视频)甚至你自己的框架来读取 OBJ 文件。
- 如果你更勇敢更有野心,你可以尝试使用数学方法在程序上创建一个球体的顶点数组。我会说它会比第一个更难,但是嘿,这很酷。
- 在顶点数组中手动键入所有顶点位置。我不会推荐这个,因为它会浪费时间,而且你不会做太多的事情来发展你的编程知识。
您或许可以使用其他方法。就看你的创意了。
最好的方法是使用模型 I/O 框架创建一个 MDLMesh 来表示球体网格。可以这样做:
let sphereMesh = MDLMesh(sphereWithExtent: vector3(0.1, 0.1, 0.1), segments: vector2(50, 50), inwardNormals: false, geometryType: .triangles, allocator: metalAllocator)
更多信息,您可以查看documentation and also this tutorial。