получить доступ к определенному набору пикселей MTLTexture в melal - PullRequest
0 голосов
/ 29 июня 2018

Я создал MTL-текстуру, используя данные UIImage следующим образом.

var texture = metalView.currentDrawable!.texture
let uiImg =  createImageFromCurrentDrawable()

guard let device = metalView.device else {
             fatalError("Device not created. Run on a physical device")
 }
let textureLoader = MTKTextureLoader(device:device)
let imageData: NSData = UIImagePNGRepresentation(uiImg)! as NSData
texture = try! textureLoader.newTexture(data: imageData as Data, options: [MTKTextureLoader.Option.allocateMipmaps : (false as NSNumber)])

Что мне нужно сделать, это изменить цвет пикселей в MTLTexture. Не все из них. Так можно ли получить доступ к определенному набору пикселей в MTLtexture и записать его в металл?

1 Ответ

0 голосов
/ 02 июля 2018

Да, как показала бы документация MTLTexture . Вы можете использовать один из методов getBytes(), чтобы скопировать область данных текстуры в буфер, и один из методов replace(), чтобы заменить область пикселя текстуры данными из буфера, который вы предоставили.

...