如果我分配一个MDLAsset
并且SCNNode
喜欢这样
let device: MTLDevice = (sceneView?.device)!
let allocator = MTKMeshBufferAllocator(device: device)
let url = Bundle.main.url(forResource: name, withExtension: "obj")
let asset = MDLAsset(url: url! as URL, vertexDescriptor: nil, bufferAllocator: allocator)
guard let object = asset.object(at: 0) as? MDLMesh else {
print("Failed to get mesh from obj asset")
return nil
}
let node = SCNNode.init(mdlObject: object)
let geometrySources = node.geometry.sources
我的geometrySource
对象是由 Metal 缓冲区支持的,还是该过程已经消失并复制了 NSData 中的数据?