Достоинства: бесплатный, достаточно мощный, кросс-платформенный;
Недостатки: высокие требования к железу, начальная стадия разработки;
Разработчики движка: DragonJoker.
Castor3D – это 3D-движок, написанный DragonJoker на ЯП C++ 20. Он работает в Windows и GNU/Linux, использует Vulkan в качестве API рендеринга. Сам проект компилируется на поддерживаемых платформах с помощью CMake и vcpkg (\ref build). В нём работает модульная архитектура через плагины. Например, реализован плагин-импортер ASSIMP для импорта сетки нескольких форматов.
Имеется генератор DiamondSquareTerrain для создания ландшафтов внутри сцен Castor3D с использованием алгоритма алмазного квадрата.
Основные фичи:
Отложенный рендеринг непрозрачных объектов.
Смешанный взвешенный рендеринг для прозрачных объектов.
Карты теней (позволяющие выбирать между Raw, PCF или дисперсионными картами теней).
Отображение окклюзии параллакса.
Экранное пространство Ambient Occlusion (используя Scalable Ambient Obscurance).
Картирование отражения/преломления.
Рендеринг PBR (рабочие процессы Metallic и Specular) и рендеринг Phong/Blinn-Phong.
Рендеринг HDR с различными операторами отображения тонов.
Подповерхностное рассеяние в пространстве экрана.
Volumetric Light Scattering для направленного источника света, если он отбрасывает тени.
Каскадные карты теней для направленного источника света.
Глобальное освещение с помощью объемов распространения света (слоистых или неслоистых, с внедрением геометрии или без него) или с помощью трассировки конусов вокселей.
Выбраковка усеченного конуса.
Шейдеры генерируются автоматически из конфигурации конвейера.
Шейдеры доступны для записи непосредственно из кода C++.
Сцены описываются с использованием текстового формата, легко понятного и расширяемого.
Асинхронный (определяемый пользователем) или синхронный (поток) рендеринг.
Использование шейдеров Mesh и Task, если они доступны.
Примитивы графического интерфейса.
Постэффекты:
Реализация HDR Bloom.
Реализация PBR Bloom.
DrawEdges: обнаруживает и визуализирует края на основе нормали, глубины или идентификатора объекта.
FilmGrain: для отображения зернистости на рендере.
Оттенки серого: преобразование результата в оттенки серого.
LightStreaks (используя Kawase Light Streaks).
Сглаживание FXAA.
Сглаживание SMAA (1X и T2X).
Размытие линейного движения.
Общие визуальные корректировки:
ToonMaterial: Мультяшный материал (для комбинации с плагином DrawEdges).
FFTOceanRendering: рендеринг океана с использованием поверхностей, сгенерированных FFT.
OceanRendering: Базовый рендеринг океана с указанием атрибутов волн.
WaterRendering: рендеринг плоских водных поверхностей с использованием карт нормалей.
AtmosphereScattering: рендеринг неба и атмосферы (с использованием масштабируемой и готовой к производству техники рендеринга неба и атмосферы).
ToneMappings:
LinearToneMapping: отображение тонов по умолчанию.
Castor3D is a 3D engine written in C++ 20. It works on Windows and GNU/Linux and using Vulkan as rendering API. The project itself is compilable on supported platforms using CMake and vcpkg (\ref build).
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «Castor3D», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.