Я экспериментировал с разными copyFromTexture:...
методами, но мне кажется, что они всегда хотят одного и того же формата пикселей между текстурами. Я чувствую, что должно быть просто скопировать из MTLTexture с цветовым форматом MTLPixelFormatRGBA8Uint
в формат с MTLPixelFormatRGBA16Float
, что мне здесь не хватает? Мне действительно нужно использовать фреймворк Accelerate или аналогичный для преобразования формата пикселей на ЦП? Надеясь на что-то быстрое, я смогу делать каждый кадр ...
Мой код:
[blitCommandEncoder copyFromTexture:tempTexture sourceSlice:0 sourceLevel:0 toTexture:anotherTexture destinationSlice:0 destinationLevel:0 sliceCount:1 levelCount:1];
Ошибки консоли:
-[MTLDebugBlitCommandEncoder internalValidateCopyFromTexture:sourceSlice:sourceLevel:sourceOrigin:sourceSize:toTexture:destinationSlice:destinationLevel:destinationOrigin:options:]:447: failed assertion `[sourceTexture pixelFormat](MTLPixelFormatRGBA8Uint) must equal [destinationTexture pixelFormat](MTLPixelFormatRGBA16Float) '
Спасибо!