TechnoВью #1 Как устроены игры
Всем привет! Это моя новая рубрика TechnoВью, здесь я буду рассказывать о технических вещах – просто и без лишнего. Каждая новая статья будет посвящена новой теме, пишите в комментариях, про какую тему мне написать следующую статью.
Сегодня вы узнаете, как устроены игры. Как 3D-модель выводится на экран, зачем RTX и нормали. Алгоритмы сглаживания и их минусы, а также небольшой бонус в конце статьи.
OpenGL vs DirectX
Начнем с самого просто, но эта тема бесконечна. Точно ответить, что лучше не получится никому и никогда. Многие из вас, когда устанавливали игры видели системные требования, и вот там был такой параметр, в котором была указана нужная версия драйвера. В большинстве игр используется DirectX, но почему же так?
Дело в том, что именно DirectX появился раньше остальных, он был разработан компанией Майкрософт специально для операционной системы Windows. И многие разработчики привыкли использовать именно этот стандарт из-за его надежности, а также для него написано много игровых движков. Поэтому DirectX вне конкуренции в крупных AAA-тайтлах. Но его главный минус – это его сложность, также он прикреплен к Windows, поэтому он не подходит для кроссплатформенных проектов и инди-студий. Теперь перейдём к OpenGL, это также драйвер, но он отличается легкостью, кроссплатформенностью, и конечно же имеет открытый исходный код. Любой энтузиаст, которому стало интересно изучить, как устроен рендеринг изображения, или может добавить новую функцию, или может исправить баг. Все это возможно в отличии от DirectX. А теперь давайте перейдем к основной части статьи.
Этапы рендеринга
Рендериг – это термин в компьютерной графике, обозначающий процесс получения изображения по модели с помощью компьютерной программы.
Загрузка моделей
Первым делом все 3D-модели загружаются в оперативную и видео память.
Текстурирование
Теперь добавляются текстуры на вершины моделей, в нашу картинку добавляется красочность.
Карты нормалей, зеркальности
Добавляем объём в наш мир! Наша картинка стала реалистичнее.
Эффекты, постобработка
Давайте добавим киношных эффектов! Главное добавлять с умом.
И конечно же сглаживание
Чтобы у нас не было "Ступенек".
Технология RTX – рейтрейсинг в играх
Многие кто играл в старые игры, замечали, что освещение, отражения были не очень реалистичны. Именно для этого придумали RTX, который просто пускает лучи от камеры игрока в разные стороны и смотрит, как они будут отражаются. Но такая технология хоть и добавляет красоту, но и не все компьютеры подходят для нее, что ограничивает круг ее применения. Даже на очень мощных компьютерах игры с RTX работают не плавно, "тормозят". Хороший пример – майнкрафт, справа RTX отсутствует, а слева RTX включен.
https://pbs.twimg.com/media/ECmO0gjXUAELUOT.jpg:large
Алгоритмы сглаживания
Давайте посмотри на разницу со сглаживанием и без
https://avatars.mds.yandex.net/get-zen_doc/1923220/pub_5f744febc859e64d80ef7d37_5f745587a4b55f1a9140f58e/scale_1200
Слева сглаживание нет, а справа есть. Есть несколько основных технологий – это SSAA, MSAA, TSMAA, FXAA, SMAA. Самым современным и качественным считается MSAA, но при этом он тратит много производительности компьютера. Самым оптимальным считается TSMAA.
Комментарии (3)