Язык:
Нативный кроссплатформенный код
- Современный Си++
- Исключительно 64-бит, 32-бит не поддерживается
- Не привязан к какой-либо конкретной операционной системе
- Использует последнюю версию библиотеки SDL
- Быстрая компиляция, быстрое выполнение, нулевые накладные
расходы
- Рендереры Direct3D 12 и Vulkan
Один и тот же код шейдера HLSL для всех API
- Один исходный файл HLSL может создавать разные шейдеры,
используя макросы препроцессора (убершейдер)
- В одном исходном файле HLSL хранится код для всех типов шейдеров
- Быстрая компиляция при запуске игры
- Одна и та же структура буфера используется для HLSL и Си++
- Никаких ограничений, кроме установленных графическими API
Отложенное освещение и затенение
- Проход геометрии, проход освещения, композиция
- Три 32-битных рендер-таргета и один 32-битный буфер глубины
- Рендерер Vulkan использует input attachments и subpasses
- Поддержка широкого динамического диапазона, яркость пикселей
измеряется в кд/м2
Эффективные текстуры и стриминг
- Никаких ограничений, кроме тех, которые налагаются графическими
API
- Предпочтительный формат текстуры – BC7 (BPTC)
- Маленькие MIP-уровни всегда в памяти, большие загружаются по
мере необходимости
- Использование sRGB
Поддержка больших ландшафтов
- Ограничен максимальным размером текстуры (например 16 на 16
километров)
- Несколько ландшафтов могут быть сшиты вместе, чтобы образовать
неограниченный ландшафт
- Патч (16 на 16 метров) смешивает до четырех текстур
Встроенная аудиосистема
- Основана на OpenAL Soft
- Моно, стерео, трехмерные, зацикленные звуки с регулируемыми
громкостью и высотой тона
- Несколько асинхронных потоков могут выводить фоновую музыку и
атмосферные звуки
- Поддерживается сжатие Ogg Vorbis
Поддержка мультиплеера
- Нет стороннего кода, используются простые сокеты
- UDP с возможностью отправки надежных пакетов
- Клиенты обрабатываются асинхронно
Свой модуль графического интерфейса
- Знакомые виджеты, такие как метки, редактируемый текст,
изображения и сайзеры
- Виды определены с помощью декларативного XML, также могут быть
скорректированы в коде
- На основе шаблона проектирования модель-вид-контроллер
Поддержка столкновений и физики
- На основе Bullet Physics
- Доступен контроллер персонажа
- Плавный переход от анимации к рэгдоллу и обратно
- Физика автомобиля
Разные эффекты постобработки
- Блум
- Окклюзия в экранном пространстве (SSAO)
- Отражения в экранном пространстве (SSR)
- Размытость движения
- Глубина резкости
- Кино
Абстракция файловой системы
- Ресурсы можно упаковать в один файл
- Вспомогательные классы для обработки XML и JSON
- Асинхронная загрузка ресурсов (стриминг)
Другие вещи
- Скелетная анимация со смешиванием
- Математическая библиотека на основе Sony Vector Math и OpenGL
Mathematics (GLM)
- Каскадные карты теней (CSM) для больших сцен на открытом
пространстве
- Преобразование речи в движение губ
- И многое другое