MetalDeferredLighting

Последняя версия:
Версия 1.0, 2014-09-17
Выпуск iOS 8 Гм
Требования сборки:
iOS 8 SDK
Требования во время выполнения:
iOS 8, устройства на 64 бита

MetalDeferredLighting разработан как пример рендеринга g-буфера и легкого накопления в единственном кодере рендеринга в одной передаче с помощью программируемого смешивания. В этой выборке мы представляем в 2 передачах. Как таковой это - также пример многопроходного средства рендеринга в Металле. «Передача» в этом случае определяется, поскольку все рисует к текстуре перед выгрузкой ее для новой текстуры. Первая передача представляет схему затенения на основе расчетной позиции солнца. Вторая передача выполняет задержанный алгоритм освещения путем записи в и чтения из кадрового буфера, содержащего 4 цветных присоединения. Три из присоединений отобраны с g-буферностями (альбедо, линейная глубина, нормальная). Затем, легкие примитивы представляются для накопления света в легкое присоединение накопления, читая g-буферности непосредственно из других присоединений. Полноэкранная четверка комбинирует легкий буфер накопления с текстурой альбедо, выбирает схему затенения как текстуру и применяет легкий вклад от солнца. Результаты этой передачи состава перезаписывают присоединение альбедо с составленным выводом финала. Наконец, частицы, представляющие каждый точечный свет (любовно вызванные феи), представляются на вершине. Что началось как текстура альбедо в g-буфере, теперь содержит окончательное значение, которое может быть представлено дисплею, поскольку его текстура является drawable текстурой CAMetalLayer.