xtreme3d_4.0

Xtreme3D 4.0

Четвертое поколение Xtreme3D, графического движка для GameMaker. В настоящее время находится в разработке.

Репозиторий проекта

Текущий статус: второй этап разработки первой версии (Milestone II), альфа-тестирование

В 2022 году GameMaker Studio 2 полностью перешел на 64-битную архитектуру, вследствие чего потерял совместимость со старыми 32-битными расширениями. Для того, чтобы продолжить поддержку классической связки Xtreme3D+GameMaker, было решено портировать Xtreme3D на современный Delphi и актуальную версию GLScene. Поскольку порт частично ломает обратную совместимость, он будет развиваться в рамках новой ветки Xtreme3D - 4.x. В обозримом будущем обе ветки будут поддерживаться параллельно.

Xtreme3D 4.0 пишется на Delphi 10 и выше с использованием библиотеки GLScene 2.2. Будет поддерживаться только 64-битная архитектура и (пока) только ОС Windows.

Проект осуществляется в два этапа. На первом были реализованы базовые функции-врапперы, основанные на встроенных классах GLScene, и выпущена первая альфа-версия. На втором будут реализованы аналоги тех возможностей, для которых пришлось добавлять новые классы и менять методы встроенных. По итогам II этапа будет выпущена вторая альфа-версия, на основе которой затем будет подготовлен релиз Xtreme3D 4.0.0. Также на II этапе будет подготовлен биндинг для Python 3. Если все пройдет успешно, затем выйдет версия 4.1, в которой будут добавлены врапперы некоторых новых классов GLScene 2.

Дорожная карта разработки:

  • ✔️ Milestone I (2022-2023)
  • Milestone II (2023-2024)
  • Xtreme3D 4.0.0 (ориентировочно начало 2025 года)
  • Xtreme3D 4.1.0 (середина-конец 2025 года)

Большинство функций движка остаются без изменений. Изменения, ломающие обратную совместимость, перечислены ниже.

  • Функция Update теперь EngineUpdate
  • Изменился смысл функции EngineSetMaxLights. Теперь она задает максимальное количество источников света, которые учитываются основной системой освещения и системой LightFX. По умолчанию это количество равно 8 (максимум для основной системы освещения). Если вы хотите использовать больше источников света для системы LightFX, нужно использовать эту функцию
  • Функция TrisRendered удалена
  • Функция ViewerGetPickedObjectsList теперь работает с объектами-списками PickList, которые нужно создавать вручную
  • Функция CameraZoomAll теперь требует указания Viewer во втором параметре
  • Функция SpriteNoZWrite удалена, используйте вместо нее MaterialSetDepthWrite
  • Функция MaterialCullFrontFaces удалена
  • Функция MaterialSetZWrite теперь MaterialSetDepthWrite
  • Переделана система TextureEx у материалов. Удалены функции MaterialLoadTextureEx, MaterialSetTextureEx, MaterialSetTextureExFromLibrary, MaterialGenTextureEx, MaterialEnableTextureEx
  • PtrToReal теперь PointerToReal
  • Функции Polygon удалены
  • Функции TTFontSetEncoding, TTFontLoadCodePage удалены
  • Функции TextRead, TextConvertANSIToUTF8 удалены
  • Функция OdeAddCone удалена
  • Переделана система FBO. Удалены функции FBOSetViewer, FBORenderObject, FBORenderObjectEx, FBOSetOverrideMaterial, FBOSetColorTextureFormat. FBO теперь лучше интегрирован в граф сцены.
  • xtreme3d_4.0.txt
  • Последнее изменение: 2024/07/31 22:12
  • admin