Почему я не могу связать актив один раз в металле?

Кажется, я должен вызывать RenderCommandEncoder.setFragmentTextureкаждый проход рендеринга, даже если я всегда буду привязывать одну и ту же текстуру к индексу 0. Почему каждый проход рендеринга должен выполнять привязки с нуля?

1 ответ

  1. Потому что именно так спроектировала Apple. Таблицы текстур (одна для вершинного шейдера и одна для шейдера фрагментов) являются частью кодера команды рендеринга. Для каждого этапа отрисовки создается новый кодер команды отрисовки. Таким образом, вы должны переназначить записи таблицы текстуры по желанию. Это действительно такое большое дело?