Как использовать UnsafeMutableRawPointer для заполнения массива?

У меня есть металлическая текстура, я хочу получить доступ к ее данным из Swift, сделав ее массивом float4 (чтобы я мог получить доступ к каждому пикселю 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 ...

Спасибо.

Ответы на вопрос(3)

Ваш ответ на вопрос