Может ли Metal реализовать цепочку обмена? - PullRequest
1 голос
/ 07 августа 2020

Я попытался сделать его похожим на swapchain, используя

renderPassDescriptor.colorAttachments [0] .loadAction ,

, но это было невозможно, потому что он получил drawable, который не был предыдущим drawable.

Поскольку текстура drawable не может быть заменена, я думаю, что цепочка подкачки не может быть реализована.

Может ли metal реализовать цепочку подкачки?

1 Ответ

3 голосов
/ 07 августа 2020

В Metal свопчейны реализуются путем извлечения нового MTLDrawable из CAMetalLayer в каждом кадре и извлечения MTLTexture из этого объекта для рисования.

Количество доступных чертежей очень ограничено ( обычно 3), поэтому вам нужно аккуратно управлять ими в вашем рендере l oop.

Документация Apple не очень хороша по этому топу c, но вы можете найти дополнительную информацию здесь . Этот документ написан с точки зрения включения logi c цепочки обмена в настраиваемый вид, но вам не нужно этого делать. Вы можете написать swapchain как часть отдельного класса рендеринга, et c.

...