我有一张金属质感的纹理,我想通过将其转换为float4数组来从Swift中访问其数据(以便我可以访问每个像素4个颜色组件)。
我发现了这个 MTLTexture
的方法:
getBytes(UnsafeMutableRawPointer, bytesPerRow: Int, bytesPerImage: Int, from: MTLRegion, mipmapLevel: Int, slice: Int)
我完全不知道如何使用UnsafeMutableRawPointer,它是如何工作的,以及如何将数据返回到简单的Swift数组中。我的第一次尝试是创建一个指针并分配足够的空间,但我甚至不知道这是否是我应该做的:
var pointer = UnsafeMutableRawPointer.allocate(bytes: myTextureSizeInBytes, alignedTo: 0)
那么我完全不知道如何将这些数据重新转换为标准的Swift数组...
谢谢。
[float4]
的请求。我会更新的。 - Rob NapierArray
初始化程序吗? - Rhythmic Fistman