Разработчики Ogre-Next рассказали про предстоящие улучшения глобального освещения в их 3D-движке, которые спонсируются Open Source Robotics для проекта «Ignition».
Ogre-Next предлагает широкий выбор решений для глобального освещения. Некоторые лучше, чем другие, но VCT (Voxel Cone Tracing) выделяется своим высоким качеством при приемлемой производительности (на высокопроизводительных GPU. Однако сейчас основная проблема текущей реализацией VCT заключается в том, что ее сложно использовать и требуется много ручных настроек.
Процесс вокселизации в Ogre-Next проходит относительно медленно. Для вокселизации 10 тыс. треугольников может потребоваться 10 мсек на Radeon RX 6800 XT, что неподходит для вокселизации в реальном времени. Если ваша игра разделена на небольшие секции, которые выводятся по страницам (например, как в играх эпохи PS1, такие как «Resident Evil», «Final Fantasy 7/8/9», «Grim Fandango»), то VCT будет идеальным вариантом. Но в нынешнем поколении игр с постоянным движением на больших площадях VCT не оправдает ваших ожиданий, если только вы не проделаете безумное количество трюков.
Именно это хотят улучшить разработчики за счёт нового метода CIVCT с которым вокселизация происходит намного быстрее (от 10x до 100x), что позволяет использовать её в реальном времени.
В будущем должна быть возможность поддержки динамических сцен, которая будет удобна и работать "из коробки", легка в настройках для адаптации ко многим условиям (в помещении, на улице, в маленьких и больших сценах).
Для ускорения придётся реализовать замену медленного VctVoxelizer, который основан на треугольнике: использует треугольники и выводит трехмерный воксель (Albedo + Normal + Emissive), затем этот воксель передается в VctLighting для получения окончательного результата GI.
Новое решение Image Voxelizer в каждом кадре сшивает трехмерные воксели мешей с помощью трилинейной интерполяции в воксель сцены. Эта функция работает быстро благодаря Vulkan, который позволяет динамически индексировать произвольное количество связанных текстур за одну отправку вычислений. OpenGL, Direct3D 11 и Metal также будут поддерживать эту функцию, но при этом может наблюдаться снижение производительности.
Кроме того, планируется использовать каскады (аналогичные концепции карт теней, т.е. каскадные карты теней). В Ogre это называется параллельными разделенными картами теней. Учитывая, что с новой оптимизированной системой нужно только частично обновить вокселы после движения камеры, это делает поддержку каскадов очень быстрой, схожей с SDFGI в Godot и сравнимой с производительностью Lumen в UE5.
В скором времени планируется релиз Ogre-Next 2.3 RC0, а когда CIVCT будет готов выйдет обновление Ogre-Next 2.3. Подробности читайте тут.
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «Улучшение глобального освещения в Ogre-Next», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.
Ну Unity закрытый движок (или частично открытый). А данные технологии сейчас во всех движках развиваются... Т.е. не факт, что невозможно сделать методов лучше, чем у UE или Unity.
Unity - игровой движок. OGRE - объектно-ориентированный графический движок. Т.е. OGRE до игрового движка в широком смысле далеко, он только за графику отвечает и делает это весьма неплохо. К тому же его можно встраивать в свои приложения (скажем для визуализации данных), с Unity такое не прокатит.
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]