Эти мордашки довольно растянутые, потому что размеры экрана 960х640, разделены на 3 части с сохранением пропорций экрана, но без учета размера текстуры. Зная размеры экрана и желаемый размер текстуры, можно получить количество секций, на которое следует делить поверхность.
Ветвление по условию, зависящему от вершин/фрагментов, заставляет gpu выполнять оба потока инструкций. Получается, что для каждого пикселя этот шейдер будет читать данные из всех пяти текстур. Не проще было бы запаковать все спрайты в один атлас? Defold это предлагает из коробки.
Спасибо, попробую так сделать
Давно Дефолд мучаешь?
Месяца 2 примерно. Делаю второй проект
Первый уже вышел на ЯИ
https://yandex.ru/games/app/222342?draft=true&lang=ru
ОГОНЬ, БАТАРЕЯ!!! Побольше бы подобных постов и о движке в целом!!!
Супиръ! 👍🏻
Интересный подход, спасибо за то, что поделился! А почему было выбрано решение через фрагментный шейдер вместо использования отдельных спрайтов с вращением? Было бы сильно дешевле по производительности. Да и проще в реализации и контроле.