MPSImageGaussianBlur на многосэмплированной текстуре - PullRequest
0 голосов
/ 27 февраля 2019

Можно ли использовать Metal MPSImageGaussianBlur для текстуры мультисэмпла, используемой MTLRenderPassDescriptor?

renderPassDescriptor.colorAttachments[0].resolveTexture = resolveTexture // normal texture
renderPassDescriptor.colorAttachments[0].texture = tempTexture // multi sample

blur.encode(commandBuffer: commandBuffer, inPlaceTexture: &tempTexture!, fallbackCopyAllocator: nil)

Каждый раз, когда я запускаю его, он падает, заявляя, что он должен быть texture type must be MTLTextureType2D

Если нет, есть ли какой-нибудь хороший способ размывания этой текстуры без необходимости настраивать другой кодировщик команд?

Причина, по которой я хочу это сделать, заключается в том, что, если я рисую после команды размытия, размытие не-дольше там, это должен быть последний шаг, но я хочу рисовать поверх размытия.

Чтобы быть более понятным, это работает:

draw
draw
blur resolveTexture

Этоне

draw
blur resolveTexture
draw
...