ОБНОВЛЕНИЕ

Создание процедурного навигационного шара

Демонстрация процедурного навигационного шара

Идет работа над переходом от использования мешей и текстур для таких элементов, как навигационный шар (navball), к их процедурной генерации — в данном случае исключительно через фрагментный шейдер. Зачем? Хороший вопрос. Однозначного ответа - нет. Всё началось (как и многое в этом проекте) с того, что не понравилось, как выглядят современные игры. Всё кажется размыты, выцветшим, будто экран покрыт слоем вазелина. Странно, но опыт создания авионики для транспортных средств в Stormworks тоже повлиял на это.

«А что, если создать его полностью во фрагментном шейдере?» Это не только обеспечит идеальное масштабирование под любое разрешение (на полюсах навигационного шара не будет искажений текстур), но и позволит моддерам легко заменять любые виджеты. Плюс бонус, который виден в видео: можно свободно перемещать виджет. С мешем и текстурой это тоже возможно, но здесь результат выглядит отлично даже при увеличении. Это пример того, как BRUTAL меняет подход: многие задачи решаются с нуля, заставляя задаваться вопросами вроде «А как должно быть?».

В чём подвох? Ещё один хороший вопрос. Я не графический программист, но подозреваю, что процедурный шейдер всегда будет менее производительным, чем меш + текстура. Однако, будет ли это заметно — вопрос. Вся отрисовка навигационного шара выполняется во фрагментном шейдере на GPU, почти без участия CPU. Нет текстуры, нет меша (хотя я указываю GPU на «квад» — но он виртуальный, нужен только для вызова шейдера).

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

Итак, наконец удалось реализовать навигационный шар таким, каким он был задуман. Теперь можно увидеть, что алиасинг (ступенчатость) значительно уменьшилась. На шар также добавлены числа на основе SDF (Signed Distance Fields — метод отрисовки во фрагментном шейдере, позволяющий масштабировать текст без потери качества).

Можно сравнить с предыдущим видео: видно, насколько чётче и детальнее выглядит процедурная версия по сравнению с подходом, использующим меш и текстуру.

8 просмотров 16 мая 2025

Комментарии (0)

Оставить комментарий

Меню