Size: a a a

pro.graphon (and gamedev)

2020 March 28

I

Ioann_V in pro.graphon (and gamedev)
или с материалами в придачу?
источник

CU

Columbus Utrigas in pro.graphon (and gamedev)
Нет, код
источник

I

Ioann_V in pro.graphon (and gamedev)
а этот шейдереый код по итогу
источник

CU

Columbus Utrigas in pro.graphon (and gamedev)
Конкретно то что аллоцирует у себя Metal
источник

I

Ioann_V in pro.graphon (and gamedev)
типа разный для каждого объекта?
источник

CU

Columbus Utrigas in pro.graphon (and gamedev)
Columbus Utrigas
Конкретно то что аллоцирует у себя Metal
В пространстве IOKit оно находится
источник

CU

Columbus Utrigas in pro.graphon (and gamedev)
Ioann_V
типа разный для каждого объекта?
Нет
источник

I

Ioann_V in pro.graphon (and gamedev)
а как?
источник

I

Ioann_V in pro.graphon (and gamedev)
а то много шейдеров больно
источник

I

Ioann_V in pro.graphon (and gamedev)
ты ведь не про бинарку
источник

I

Ioann_V in pro.graphon (and gamedev)
а про hugh level
источник

CU

Columbus Utrigas in pro.graphon (and gamedev)
Просто для каждой фичи по типу освещения, лайтмап и прочего генерируются вариации с дефайнами

Даже если отсекать неиспользуемые, их набегают десятки или сотни тысяч

Плюс код хранить нужно для нескольких API, для разных версий с разными фичами
источник

CU

Columbus Utrigas in pro.graphon (and gamedev)
Условно 10 фичей в шейдере, что вполне себе немного, это уже 1024 возможных вариаций

Использоваться будут от силы 300, но если учесть что каждая вариация для разных API весит в среднем 2-5кб, выходит немало
источник

CU

Columbus Utrigas in pro.graphon (and gamedev)
Вот уменьшением такой хуйни я и заставил игру работать на 1гб ОЗУ, победа
источник

U

UsernameAK in pro.graphon (and gamedev)
Columbus Utrigas
Просто для каждой фичи по типу освещения, лайтмап и прочего генерируются вариации с дефайнами

Даже если отсекать неиспользуемые, их набегают десятки или сотни тысяч

Плюс код хранить нужно для нескольких API, для разных версий с разными фичами
а перенести в юниформы часть
источник

CU

Columbus Utrigas in pro.graphon (and gamedev)
UsernameAK
а перенести в юниформы часть
Можно, так и делается
Только нужно учесть, что драйвер вероятно сгенерирует убершейдеры под капотом
источник

CU

Columbus Utrigas in pro.graphon (and gamedev)
Но про это не знаю, ни в доках ни при профайлинге такого не нахожу
источник

CU

Columbus Utrigas in pro.graphon (and gamedev)
То есть гарантировать, что на Adreno и айфонах драйвер генерирует убершейдеры (условно), нельзя
источник

CU

Columbus Utrigas in pro.graphon (and gamedev)
Сейчас читаю, в Metal SL есть конструкции для убершейдинга явные
источник

CU

Columbus Utrigas in pro.graphon (and gamedev)
То есть директива условной компиляции в зависимости от параметра
источник