Я хотел бы обрабатывать информацию из буфера глубины с помощью Metal Performance Shaders, например, с использованием гауссовых или sobel-шейдеров.
Я сталкиваюсь с проблемами при использовании MTLTexture
с depth32Float
форматом пикселей.MPSImageGaussianBlur
или любой другой шейдер производительности не принимает его в качестве исходной текстуры.
Я пытался преобразовать его, используя: depthBufferTexture.makeTextureView(pixelFormat: .bgra8Unorm)
, но получил сообщение об ошибке:
validateArgumentsForTextureViewOnDevice: 1406: сбой подтверждения source texture pixelFormat (MTLPixelFormatDepth32Float) not castable.
Есть лиВ любом случае, как конвертировать depth32Float
в bgra8UNorm
или любой другой формат пикселей?