Как загрузить существующую текстуру, используя MTLRenderPassDescriptor - PullRequest
0 голосов
/ 27 января 2019

У меня есть изображение в активе.Затем я меняю его на MTLTexture.Я хочу передать эту текстуру в функцию шейдера, добавить текстуру и добавить функцию smudge к переданной текстуре, используя функции шейдера.

В настоящее время я передаю текстуру в MTLRenderPassDescriptor, как показано ниже.

let renderPassWC = MTLRenderPassDescriptor()
renderPassWC.colorAttachments[0].texture = ssTexture
renderPassWC.colorAttachments[0].loadAction = .load
renderPassWC.colorAttachments[0].storeAction = .store

Когда я редактирую текстуру в функции шейдера, как Перемещение пикселя ssTexture в смежный пиксель.enter image description here Движение не останавливается.Поскольку операции, которые я выполняю в шейдерных функциях, непрерывно выполняются в прилагаемых текстурах каждый цикл отрисовки.

Поэтому я думаю, что вместо loadAction с нагрузкой я чувствую, что вариант будет чистым, но пропущенная текстура станет понятной, когда я изменилкод как показано ниже

renderPassWC.colorAttachments[0].texture = ssTexture
renderPassWC.colorAttachments[0].loadAction = .clear
renderPassWC.colorAttachments[0].clearColor = MTLClearColorMake(  0.0,  0.0,  0.0,  0.0)

. Любой возможный способ передать текстуру изображения с четким.

...