Xtreme3D 3.x

Xtreme3D 3.x - это новая версия Xtreme3D, написанная с нуля администратором сайта Gecko при содействии участников нашего форума. Как известно, оригинальный Xtreme3D от Xception распространялся без исходников, и после того, как Xception забросил работу над своим проектом, движок долгое время не развивался. В нашем сообществе постоянно витала идея воссоздать его заново, исправить баги и добавить недостающую функциональность - учитывая, что движок является враппером GLScene, эта задача казалась несложной и чисто технической. Однако возникли непредвиденные проблемы, и дело затянулось. В итоге, проект, начавшийся в 2009 году, был завершен лишь в 2016-м.
Сейчас Xtreme3D 3.х - наиболее мощная и функциональная версия движка, намного превосходящая по возможностям Ultimate3D и практически не уступающая GMOgre (полный список возможностей см. ниже). А главное - это единственный активно разрабатывающийся 3D-движок для Game Maker.
На основе Xtreme3D 3.x можно создавать игры с графикой уровня 2005-2010 гг. - теоретически, можно сделать что-то наподобие Doom 3, Half-Life 2, TES4: Oblivion и т.д. Дальнейшее развитие графических возможностей Xtreme3D затруднено, поскольку библиотека GLScene, на которой он основан, использует достаточно старые технологии и ограничена функциональностью OpenGL 1.x-2.0. Впрочем, многие возможности современных видеокарт доступны в старых версиях OpenGL через механизм расширений, поэтому мы заранее ни от чего не отказываемся - будем экспериментировать.
Сейчас приоритетной задачей является реализация в Xtreme3D недостающей "стандартной" функциональности, присутствующей в других аналогичных движках. Если у вас есть какие-то замечания или багрепорты, либо идеи и пожелания для будущих версий Xtreme3D, милости просим в соответствующий раздел форума.

Авторы Xtreme3D 3.x: Gecko (основная часть библиотеки), Rutraple aka Hacker (функции DCE), Ghost (функции Grid). Отдельное спасибо gadmaker'у за багрепорты и конструктивные предложения.

Репозиторий с исходниками на GitHub

Релизы Xtreme3D 3.x выпускаются в виде SDK для Game Maker 8 - это комплект, включающий скомпилированный движок, документацию и примеры. Также ведется работа по созданию SDK для языка D, в будущем планируется создание SDK для C/C++. Поддержка Game Maker Studio не планируется.

Стабильная версия - Xtreme3D SDK 3.5

Скачать Xtreme3D 3.5 SDK на GitHub
Скачать Xtreme3D 3.5 SDK с сайта (10.3 Мб)

Старые версии SDK:

Xtreme3D 3.4 SDK (10.8 Мб)
Xtreme3D 3.3 SDK (12.1 Мб)
Xtreme3D 3.2 SDK (11.6 Мб)
Xtreme3D 3.1 SDK (11.6 Мб) + Патч Xtreme3D 3.1.1 (766 кб)
Xtreme3D 3.0 SDK (11.8 Мб)




Полный список особенносотей и возможностей Xtreme3D 3.x:

  • Легковесность. Xtreme3D - это всего одна DLL-библиотека размером около 1.6 Мб (плюс две необязательные - физический и шрифтовой движки)
  • Хорошо спроектированная архитектура, простой и интуитивный API
  • Движок создан для Game Maker, но можно использовать его с любым языком или средой, где есть поддержка DLL и вызовов stdcall
  • Высокая производительность, даже в Game Maker
  • Низкие системные требования, движок отлично работает практически на любых конфигурациях - Xtreme3D основывается на OpenGL 1.x и нескольких расширениях для работы отдельных функций
  • Граф сцены с иерархией объектов
  • Рендеринг всего графа целиком, либо отдельных объектов и подграфов
  • Экранный антиалиасинг MSAA 2x и 4x. Имеется поддержка технологии сглаживания NVIDIA Quincunx. Можно также реализовать FXAA и другие методы сглаживания
  • Динамическое освещение
  • Поддержка множества форматов 3D-моделей (3DS, OBJ, LWO, ASE, BSP, MS3D, B3D, MD2, MD3, MD5, MDC, SMD, X, LOD, CSM, DXS, OCT, NMF, WRL, PLY, GTS, TIN, STL, GLSM)
  • Есть возможность написать собственный загрузчик 3D-моделей произвольного формата
  • Поддержка стандартных форматов изображений (BMP, JPG, PNG, TGA, DDS)
  • Скелетная и вершинная анимация
  • Смешивание скелетных анимаций, прикрепление объектов к костям
  • Эффект взрыва для мешей
  • Рендеринг геометрических примтивов (параллелепипед, сфера, цилиндр, конус, полый цилиндр, тор, диск, усеченная пирамида, додекаэдр, икосаэдр, чайник)
  • Рендеринг 2D-текста. Можно загружать TTF-шрифты и выводить кириллицу (и вообще любые символы Юникода) кодировкой UTF-8
  • Рендеринг 2D-спрайтов и двумерных фигур - прямоугольников, окружностей и произвольных полигонов
  • Рендеринг биллбордов, плоского и объемного трехмерного текста и координатных сеток
  • Мощная система организации материалов, основанная на библиотеках
  • Загрузка материалов из скриптов
  • Мультитекстурирование (в том числе многопроходное). Поддерживается до 8 текстур на проход
  • Lightmapping
  • Environment mapping
  • Различные режимы прозрачности и смешивания
  • Процедурные текстуры на основе шума Перлина
  • Аппаратное сжатие текстур
  • Шейдеры на языке GLSL
  • Несколько встроенных готовых шейдеров - bump mapping, cel shading, отрисовка контуров, освещение по Фонгу и др.
  • Три вида динамических теней - shadow plane, shadow volume и shadow map (с поддержкой PCF). Можно реализовать каскадные тени (CSM)
  • Статический и динамический cube mapping
  • Внеэкранный рендеринг при помощи трех методов: p-буферы, FBO и копирование из буфера кадра
  • Можно реализовать любые эффекты постобработки, включая Glow, Motion Blur, SSAO, DOF и др.
  • Рендеринг зеркальных отражений
  • Динамическая вода с волнами
  • Рендеринг ландшафта с автоматическим LOD
  • Процедурные деревья
  • Динамическое небо с солнцем и звездами
  • Эффект Lensflare
  • Поддержка skybox'ов
  • Встроенные системы частиц, имитирующие огонь и электрический разряд
  • Встроенный эффект размытия (blur)
  • Прокси-объекты, дискретный LOD
  • Поддержка произвольных плоскостей отсечения
  • Возможность создания скриншотов прямо из движка с сохранением изображений в файлы BMP
  • Управление движением объектов при помощи кривых, а также рендеринг кривых (поддерживаются кубические сплайны, кривые Безье и NURBS)
  • Возможность копировать матрицы трансформации (локальные и абсолютные) от одного объекта другому, а также задавать матрицы вручную
  • Несколько видов проверки столкновений. Есть функции для проверки на столкновение отдельных объектов (сфер, паралеллепипедов и мешей), функции raycasting'а, а также встроенный кинематический движок DCE (Dynamic Collision Engine)
  • Интегрированный физический движок (ODE), реализующий динамику твердых тел
  • Ragdoll ("тряпичные куклы") - физическая модель для персонажей
  • Встроенная реализация octree для эффективной оптимизации сцен из многих тысяч объектов
  • Возможность загрузки ресурсов из сжатого PAK-архива
  • Функции чтения текстовых файлов и преобразования кодировки из ANSI в UTF-8
  • Хэш-таблица для доступа к любым объектам по именам
  • Подробная документация на русском языке


  • Xtreme3D 3.х не является на 100% обратно совместимым с версией 2.0.2.0 - есть несколько важных изменений, но в целом имена функций и их смысл не поменялся. Реализована вся старая функциональность из Xtreme3D 2.0, за исключением:
  • опрашивания позиции и нормали столкновения в DCE;
  • frustum test'а для объектов и опрашивания количества отрендеренных треугольников;
  • ручной трансформации костей актера;
  • portal culling'а. Как он работал (и работал ли вообще) в прежней версии движка, непонятно, поэтому эта функциональность не была реализована. Не исключено, что она появится в будущем.




  • Hosted by uCoz