<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[Xtreme3D Community - Свой движок]]></title>
		<link>https://xtreme3d.org/forums/</link>
		<description><![CDATA[Xtreme3D Community - https://xtreme3d.org/forums]]></description>
		<pubDate>Mon, 25 May 2026 02:10:26 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Dagon 2]]></title>
			<link>https://xtreme3d.org/forums/showthread.php?tid=5</link>
			<pubDate>Wed, 06 May 2026 22:10:13 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://xtreme3d.org/forums/member.php?action=profile&uid=1">Gecko</a>]]></dc:creator>
			<guid isPermaLink="false">https://xtreme3d.org/forums/showthread.php?tid=5</guid>
			<description><![CDATA[До обрушения старого хоста у меня на форуме была тема про движок, который я пишу с 2016 года, так что создаю заново.<br />
<br />
<a href="https://github.com/gecko0307/dagon" target="_blank" rel="noopener" class="mycode_url">Dagon</a> - это фреймворк для разработки 3D-игр на <a href="https://dlang.org/" target="_blank" rel="noopener" class="mycode_url">языке D</a> на базе SDL и OpenGL 4.3. В этом году я выпустил первую стабильную версию, Dagon 1.0.0, и теперь сосредоточился на новой, в которой портирую рендер на SDL GPU (под капотом - Vulkan). Нацеливаюсь на фотореалистичную графику: Dagon 2 будет не просто прямым портом уже готовых шейдеров, а улучшенной версией с множеством новых фич, в числе которых стохастические отражения SSLR, более продвинутый PBR, 2x supersampling, поддержка новых форматов сжатия текстур, поддержка HDR-мониторов и многое другое.<br />
<br />
Репозиторий Dagon 1.0: <a href="https://github.com/gecko0307/dagon" target="_blank" rel="noopener" class="mycode_url">https://github.com/gecko0307/dagon</a><br />
Репозиторий Dagon 2.0: <a href="https://github.com/gecko0307/dagon2" target="_blank" rel="noopener" class="mycode_url">https://github.com/gecko0307/dagon2</a><br />
<br />
Страница Dagon 2 в моем блоге: <a href="https://blog.pixperfect.online/dagon2/" target="_blank" rel="noopener" class="mycode_url">https://blog.pixperfect.online/dagon2/</a><br />
<br />
<img src="https://blog.pixperfect.online/wp-content/uploads/2026/05/dagon2-sslr-new2.jpg" loading="lazy"  alt="[Image: dagon2-sslr-new2.jpg]" class="mycode_img" /><br />
<br />
<img src="https://blog.pixperfect.online/wp-content/uploads/2026/05/dagon2-sslr-new1.jpg" loading="lazy"  alt="[Image: dagon2-sslr-new1.jpg]" class="mycode_img" /><br />
<br />
Список фич версии 1.0:<br />
- Ядро имеет минимум сторонних зависимостей - основано на OpenGL 4.3, SDL2, SDL2_Image и FreeType. Физика, звук, GUI и много чего еще реализовано через подключаемые расширения;<br />
- Движок работает под Windows и Linux;<br />
- Переключение видеорежимов без перезагрузки, растягивание окна во время игры. Поддержка HiDPI;<br />
- Виртуальная файловая система. Поддержка библиотеки PhysFS для загрузки ресурсов из архивов;<br />
- Встроенная поддержка моделей в форматах glTF 2.0 и OBJ. Поддержка FBX и множества других форматов через библиотеку Assimp;<br />
- Скелетная анимация, GPU-скиннинг;<br />
- Поддержка всех популярных форматов изображений: PNG, JPG, WebP, AVIF, TGA, BMP, HDR, DDS, KTX, KTX2, SVG и др. Для DDS и KTX поддерживаются форматы сжатия S3TC, RGTC, BPTC, ASTC, для KTX2 - транскодирование из Basis Universal в S3TC или BPTC в зависимости от выбранного профиля. SVG-изображения при загрузке растеризуются в выбранное разрешение;<br />
- Встроенный быстрый компрессор DXT1/DXT5 для сжатия текстур на лету. Экспорт текстур в DDS для кэширования;<br />
- Звуковой движок на основе SoLoud. Воспроизведение WAV, MP3, OGG/Vorbis, FLAC, а также трекерных форматов при наличии libopenmpt. Микшер с поддержкой 3D-звука, частотные фильтры, синтезаторы. Поддержка пространственного звука 5.1 и 7.1;<br />
- Поддержка воспроизведения видео при помощи библиотеки libVLC;<br />
- HDR-рендеринг с поддержкой всех популярных операторов тональной компрессии (ACES, Filmic, Uncharted, Reinhard, Unreal, AgX, Khronos PBR Neutral). Автоэкспозиция на основе средней яркости сцены;<br />
- Отложенный рендеринг с использованием прокси-геометрии (световых объемов). Неограниченное количество локальных источников света;<br />
- Несколько типов источников света: параллельные, сферические, трубчатые, конусные;<br />
- Каскадные теневые карты (CSM) для параллельных источников света, поддержка мягких теней (PCF). Для позиционных источников - тени методом двойного параболоида (DPSM), для конусных - перспективные тени (PSM);<br />
- Эффект объемного рассеивания света (volumetric light scattering);<br />
- Эффекты normal mapping, parallax mapping, parallax occlusion mapping;<br />
- PBR (roughness/metallic workflow), GGX BRDF для освещения;<br />
- IBL при помощи кубических и равнопромежуточных HDR-карт окружения. Префильтрация кубических карт. Загрузка кубических карт c mip-уровнями из файлов DDS и KTX / KTX2;<br />
- Декали;<br />
- Процедурное динамическое небо по модели Рэлея (Rayleigh scattering);<br />
- Рендеринг ландшафтов с поддержкой шума OpenSimplex для карт высот;<br />
- Рендеринг воды. Волны Герстнера;<br />
- Система частиц с поддержкой векторных полей. Мягкие частицы, освещаемые частицы, тени от частиц;<br />
- Постобработка. Встроенные фильтры SSAO, FXAA, motion blur, glow, lens distortion, film grain, color grading, цветокоррекция на основе 3D LUT. Эффекты ретро-рендеринга (снаппинг вершин, пикселизация) для создания игр с графикой в стиле 90-х. Возможность добавлять пользовательские фильтры;<br />
- Базовая поддержка OpenVR;<br />
- Вычислительные шейдеры;<br />
- Кэширование шейдерных бинарников;<br />
- Рендеринг текста с использованием FreeType. Поддержка любых языков и символов Юникода - динамическая подгрузка глифов из файла шрифта по мере их использования в игре;<br />
- Модель сущностей и компонентов (ECS), позволяющая расширять функциональность объектов динамически, без наследования классов;<br />
- Система событий. Ввод с клавиатуры, мыши и геймпада. Поддержка вибрации и горячего подключения геймпадов. Под Windows - поддержка ввода с Wintab-совместимых графических планшетов;<br />
- Микросервисы и worker-потоки для запуска фоновых задач без блокировки основного цикла игры. Асинхронный межпоточный обмен сообщениями;<br />
- Логгер;<br />
- Файлы конфигурации;<br />
- Поддержка GUI на основе тулкита ImGui + встроенный простой GUI для отладочного вывода и добавления внутриигровой консоли. Системные диалоги открытия/сохранения файла;<br />
- Поддержка локализации приложений;<br />
- Проверка столкновений для выпуклых тел на основе алгоритма Minkowski Portal Refinement;<br />
- Физика на основе движков Jolt Physics и Newton Dynamics. Встроенный контроллер персонажа;<br />
- Интегрирование Верле для симуляции веревок и цепей;<br />
- Встроенная логика для камеры от первого лица (first person view) и свободного просмотра сцены (freeview).]]></description>
			<content:encoded><![CDATA[До обрушения старого хоста у меня на форуме была тема про движок, который я пишу с 2016 года, так что создаю заново.<br />
<br />
<a href="https://github.com/gecko0307/dagon" target="_blank" rel="noopener" class="mycode_url">Dagon</a> - это фреймворк для разработки 3D-игр на <a href="https://dlang.org/" target="_blank" rel="noopener" class="mycode_url">языке D</a> на базе SDL и OpenGL 4.3. В этом году я выпустил первую стабильную версию, Dagon 1.0.0, и теперь сосредоточился на новой, в которой портирую рендер на SDL GPU (под капотом - Vulkan). Нацеливаюсь на фотореалистичную графику: Dagon 2 будет не просто прямым портом уже готовых шейдеров, а улучшенной версией с множеством новых фич, в числе которых стохастические отражения SSLR, более продвинутый PBR, 2x supersampling, поддержка новых форматов сжатия текстур, поддержка HDR-мониторов и многое другое.<br />
<br />
Репозиторий Dagon 1.0: <a href="https://github.com/gecko0307/dagon" target="_blank" rel="noopener" class="mycode_url">https://github.com/gecko0307/dagon</a><br />
Репозиторий Dagon 2.0: <a href="https://github.com/gecko0307/dagon2" target="_blank" rel="noopener" class="mycode_url">https://github.com/gecko0307/dagon2</a><br />
<br />
Страница Dagon 2 в моем блоге: <a href="https://blog.pixperfect.online/dagon2/" target="_blank" rel="noopener" class="mycode_url">https://blog.pixperfect.online/dagon2/</a><br />
<br />
<img src="https://blog.pixperfect.online/wp-content/uploads/2026/05/dagon2-sslr-new2.jpg" loading="lazy"  alt="[Image: dagon2-sslr-new2.jpg]" class="mycode_img" /><br />
<br />
<img src="https://blog.pixperfect.online/wp-content/uploads/2026/05/dagon2-sslr-new1.jpg" loading="lazy"  alt="[Image: dagon2-sslr-new1.jpg]" class="mycode_img" /><br />
<br />
Список фич версии 1.0:<br />
- Ядро имеет минимум сторонних зависимостей - основано на OpenGL 4.3, SDL2, SDL2_Image и FreeType. Физика, звук, GUI и много чего еще реализовано через подключаемые расширения;<br />
- Движок работает под Windows и Linux;<br />
- Переключение видеорежимов без перезагрузки, растягивание окна во время игры. Поддержка HiDPI;<br />
- Виртуальная файловая система. Поддержка библиотеки PhysFS для загрузки ресурсов из архивов;<br />
- Встроенная поддержка моделей в форматах glTF 2.0 и OBJ. Поддержка FBX и множества других форматов через библиотеку Assimp;<br />
- Скелетная анимация, GPU-скиннинг;<br />
- Поддержка всех популярных форматов изображений: PNG, JPG, WebP, AVIF, TGA, BMP, HDR, DDS, KTX, KTX2, SVG и др. Для DDS и KTX поддерживаются форматы сжатия S3TC, RGTC, BPTC, ASTC, для KTX2 - транскодирование из Basis Universal в S3TC или BPTC в зависимости от выбранного профиля. SVG-изображения при загрузке растеризуются в выбранное разрешение;<br />
- Встроенный быстрый компрессор DXT1/DXT5 для сжатия текстур на лету. Экспорт текстур в DDS для кэширования;<br />
- Звуковой движок на основе SoLoud. Воспроизведение WAV, MP3, OGG/Vorbis, FLAC, а также трекерных форматов при наличии libopenmpt. Микшер с поддержкой 3D-звука, частотные фильтры, синтезаторы. Поддержка пространственного звука 5.1 и 7.1;<br />
- Поддержка воспроизведения видео при помощи библиотеки libVLC;<br />
- HDR-рендеринг с поддержкой всех популярных операторов тональной компрессии (ACES, Filmic, Uncharted, Reinhard, Unreal, AgX, Khronos PBR Neutral). Автоэкспозиция на основе средней яркости сцены;<br />
- Отложенный рендеринг с использованием прокси-геометрии (световых объемов). Неограниченное количество локальных источников света;<br />
- Несколько типов источников света: параллельные, сферические, трубчатые, конусные;<br />
- Каскадные теневые карты (CSM) для параллельных источников света, поддержка мягких теней (PCF). Для позиционных источников - тени методом двойного параболоида (DPSM), для конусных - перспективные тени (PSM);<br />
- Эффект объемного рассеивания света (volumetric light scattering);<br />
- Эффекты normal mapping, parallax mapping, parallax occlusion mapping;<br />
- PBR (roughness/metallic workflow), GGX BRDF для освещения;<br />
- IBL при помощи кубических и равнопромежуточных HDR-карт окружения. Префильтрация кубических карт. Загрузка кубических карт c mip-уровнями из файлов DDS и KTX / KTX2;<br />
- Декали;<br />
- Процедурное динамическое небо по модели Рэлея (Rayleigh scattering);<br />
- Рендеринг ландшафтов с поддержкой шума OpenSimplex для карт высот;<br />
- Рендеринг воды. Волны Герстнера;<br />
- Система частиц с поддержкой векторных полей. Мягкие частицы, освещаемые частицы, тени от частиц;<br />
- Постобработка. Встроенные фильтры SSAO, FXAA, motion blur, glow, lens distortion, film grain, color grading, цветокоррекция на основе 3D LUT. Эффекты ретро-рендеринга (снаппинг вершин, пикселизация) для создания игр с графикой в стиле 90-х. Возможность добавлять пользовательские фильтры;<br />
- Базовая поддержка OpenVR;<br />
- Вычислительные шейдеры;<br />
- Кэширование шейдерных бинарников;<br />
- Рендеринг текста с использованием FreeType. Поддержка любых языков и символов Юникода - динамическая подгрузка глифов из файла шрифта по мере их использования в игре;<br />
- Модель сущностей и компонентов (ECS), позволяющая расширять функциональность объектов динамически, без наследования классов;<br />
- Система событий. Ввод с клавиатуры, мыши и геймпада. Поддержка вибрации и горячего подключения геймпадов. Под Windows - поддержка ввода с Wintab-совместимых графических планшетов;<br />
- Микросервисы и worker-потоки для запуска фоновых задач без блокировки основного цикла игры. Асинхронный межпоточный обмен сообщениями;<br />
- Логгер;<br />
- Файлы конфигурации;<br />
- Поддержка GUI на основе тулкита ImGui + встроенный простой GUI для отладочного вывода и добавления внутриигровой консоли. Системные диалоги открытия/сохранения файла;<br />
- Поддержка локализации приложений;<br />
- Проверка столкновений для выпуклых тел на основе алгоритма Minkowski Portal Refinement;<br />
- Физика на основе движков Jolt Physics и Newton Dynamics. Встроенный контроллер персонажа;<br />
- Интегрирование Верле для симуляции веревок и цепей;<br />
- Встроенная логика для камеры от первого лица (first person view) и свободного просмотра сцены (freeview).]]></content:encoded>
		</item>
	</channel>
</rss>