Xtreme3D Community
Xtreme3D 4.0.0 - Версия для печати

+- Xtreme3D Community (https://xtreme3d.ru/forums)
+-- Форум Xtreme3D (https://xtreme3d.ru/forums/forumdisplay.php?fid=3)
+--- Форум Анонсы (https://xtreme3d.ru/forums/forumdisplay.php?fid=5)
+--- Темы: Xtreme3D 4.0.0 (/showthread.php?tid=98)



Xtreme3D 4.0.0 - Gecko - 04-08-2025

Версия 4.0 наконец-то готова!  🎉

Напомню основные особенности:
  • Переход движка на 64 бита. 32-битная архитектура больше не поддерживается
  • Переход на современный Delphi и GLScene 2.2 (как обычно, собственный форк с доработкой напильником Wink )
  • Совместимость с современными 64-битными версиями GameMaker
  • Совместимость с Python 3. Также, по просьбам пользователей, актуализировал привязку для C/C++, которая много лет не развивалась - вскоре подготовлю соответствующие SDK
  • Большинство функций не изменились, все изменения API перечислены ниже
  • Обновлена и актуализирована справка, исправлена куча ошибок, сделан новый дизайн HTML-страниц. Некоторые функции пока остаются незадокументированными, но надеюсь, что временно. Новые уроки пока не добавлял, но не исключено, что найду время и для этого. Из справки удален глоссарий, он будет полностью перенесен в вики.

Скачать Xtreme3D 4.0.0 SDK для GameMaker

Страница релиза на GitHub

Страница Xtreme3D 4.0 на сайте

В SDK три примера: 
1. Анимация актеров + BumpShader + простые тени + физика Kraft + рейкаст
2. Каскадные тени
3. Вода, частично портированная с Xtreme3D 3.9 (пока только с отражением, без преломлений).

[Изображение: animation.jpg] [Изображение: shadows.jpg] [Изображение: water3.jpg]

Изменения и нововведения в API xtreme3d.dll:
  • Функция Update теперь называется EngineUpdate
  • Функция TrisRendered удалена
  • Функция ViewerRenderEx удалена
  • Новые функции ViewerBeginRender, ViewerClear, ViewerRenderObject, ViewerEndRender
  • Изменился смысл функции EngineSetMaxLights. Теперь она задает максимальное количество источников света, которые учитываются основной системой освещения и системой LightFX. По умолчанию это количество равно 8 (максимум для основной системы освещения). Если вы хотите использовать больше источников света для системы LightFX, нужно использовать эту функцию
  • Функция ViewerGetPickedObjectsList теперь работает с объектами-списками PickList, которые нужно создавать вручную
  • Новые функции PickListCreate, PickListClear, PickListGetCount, PickListGetHit
  • Функция ViewerRenderToFilePNG удалена - сохранение в PNG теперь поддерживается в ViewerRenderToFile
  • Поддерживаются новые константы для ViewerSetAntiAliasing: aa6x = 6, aa8x = 7, aa16x = 8, csa8x = 9, csa8xHQ = 10, csa16x = 11, csa16xHQ = 12
  • Функция CameraZoomAll теперь требует указания Viewer во втором параметре
  • Новая функция MaterialLibraryGetTextureByName
  • Функция SpriteNoZWrite удалена, используйте вместо нее MaterialSetDepthWrite
  • Функция MaterialCullFrontFaces удалена
  • Функция MaterialSetZWrite теперь называется MaterialSetDepthWrite
  • Новая функция MaterialSetDepthTest
  • Переделана система TextureEx у материалов
  • Новая функция MaterialSetTextureFormatEx со множеством констант расширенных форматов (подробности см. в справке)
  • Новая константа для MaterialSetTextureFormat: tfExtended = 12
  • Новая константа для MaterialSetTextureImageAlpha: tiaBottomRightPointColorTransparent = 9
  • Новые функции MaterialSetTextureCompareMode, MaterialSetTextureDepthCompareFunc
  • Удалены функции ObjectGetCollisionPosition, ObjectGetCollisionNormal - вместо них теперь EngineGetLastRaycastPosition, EngineGetLastRaycastNormal, которые делают то же самое
  • Функции Polygon удалены
  • Функции TTFontSetEncoding, TTFontLoadCodePage удалены. Шрифты TTFont теперь работают на базе SDL_ttf вместо чистого Freetype
  • Функции TextRead, TextConvertANSIToUTF8 удалены. Все строки в движке теперь принимаются только в 8-битном представлении (ASCII / UTF-8), другие кодировки не поддерживаются
  • Функция OdeAddCone удалена
  • Новая функция BaseMeshBuildSilhouetteConnectivityData
  • Новая функция ActorSetReference
  • Новые функции ObjectNotifyChange, ObjectStructureChanged, ObjectClearStructureChanged
  • Новые функции ObjectListCreate, ObjectListAdd, ObjectListGetCount
  • Переделана система FBO. Объект FBO теперь является частью графа сцены, подробности см. в справке
  • Переделаны тени ShadowMap. Удалены функции ShadowMapSetCaster, ShadowMapSetProjectionSize, ShadowMapSetZScale, ShadowMapSetZClippingPlanes, ShadowMapRender. Новые функции ShadowMapUpdate, ShadowMapSetViewer
  • Добавлен новый объект ShadowCamera, который используется в ShadowMap. Новые функции ShadowCameraCreate, ShadowCameraSetProjectionSize, ShadowCameraSetZClippingPlanes
  • Новые функции GLSLShaderForceDisableStencilTest, GLSLShaderSetOptions
  • Добавлены функции логгера: LoggerCreate, LoggerEnable, LoggerLog
  • Функция PtrToReal теперь называется PointerToReal



RE: Xtreme3D 4.0.0 - Gecko - 04-08-2025

В планах еще сделать онлайн-версию справки, а также портировать старые примеры.

GM сейчас, как ни странно, на подъеме - приятно удивило, что некоммерческая десктопная лицензия теперь бесплатная. Как знать, может, небольшую игру какую-нибудь запилю.


RE: Xtreme3D 4.0.0 - Rutraple - 04-12-2025

Пробовал посмотреть на GameMaker 2024.13.0.238, при запуске через редактор черный экран просто, но если проект скомпилировать - все ок. Может быть я что-то упускаю? давно за GM уже не слежу


RE: Xtreme3D 4.0.0 - Gecko - 04-14-2025

(04-12-2025, 10:52 PM)Rutraple Написал: Пробовал посмотреть на GameMaker 2024.13.0.238, при запуске через редактор черный экран просто, но если проект скомпилировать - все ок. Может быть я что-то упускаю? давно за GM уже не слежу

Проверил с 2024.13.0.238 (VM), не повторяется.

[Изображение: gm.jpg]

Может ошибки какие в лог пишет?


RE: Xtreme3D 4.0.0 - Rutraple - 04-14-2025

В консоли как будто ничего интересного, никаких ошибок. Иногда бывает, что первый кадр сцены проскальзывает на миллисекунду, потом просто черный экран. Я ставил так же LTS версию - тоже самое. Возможно дело в самой VM. Жаль что не посмотреть полноценно