要制作自定义几何图形,您可以使用SCNGeometrySource对象来提供顶点位置、法线和纹理坐标属性,使用缓冲区或Data充满值的对象,然后将几何源传递给SCNGeometry init(sources:elements:)初始化程序。
当您创建 时SCNGeometrySource,您将其与类似于 GL/Metal 顶点属性的“语义”相关联。要创建自定义顶点属性,只需给它一个自定义语义。(在 ObjC 中,SCNGeometrySourceSemantic只是一个 typedef for NSString,所以你可以提供你自己的字符串名称。在 Swift 中,SCNGeometrySource.Semantic是一个类似 enum 的结构,你可以用String原始值扩展创建新成员。)
要在自定义着色器程序中使用自定义顶点属性,请使用setSemantic(_:forSymbol:options:)GL 着色器和(我认为)handleBinding(ofBufferNamed:frequency:handler:)金属着色器。
| 归档时间: |
|
| 查看次数: |
2068 次 |
| 最近记录: |