#1 2022-10-31 10:51:55

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 164
Сайт

Xtreme3D 4.0 64-bit

Поторопился я хоронить Xtreme3D для GameMaker Studio! Мне стало так досадно, что движок теперь нельзя использовать в GMS, что я на днях поставил Delphi 10.4 со свежей GLScene и решил посмотреть, насколько реально обновить Xtreme3D. Обнаружил, что основную часть движка можно портировать без существенных переделок, так сказать, полуавтоматическим методом - заменяя отдельные служебные функции и изменившиеся части API. Я пока не уверен на 100%, что получится перенести все мои расширения и дополнительные классы, которых не было в оригинальной GLScene, но вероятнее всего их можно будет реализовать заново, либо как-то адаптировать. Во всяком случае, серьезных препятствий этому я теперь уже не вижу, и потому есть смысл попробовать.

Что это даст:

  • Возможность перехода на 64 бита и, следовательно, совместимость с современными версиями GameMaker Studio. Я уже портировал некоторые функции и проверил в GMS2 работоспособность 64-битной версии - она работает.

  • Доступ ко всем новым фичам GLScene 2.x (которые я пока детально не изучал - как только сделаю это, отпишусь)

  • Возможность писать на современном Delphi и полноценно использовать в движке сторонние библиотеки - в перспективе это поможет реализовать, например, поиск пути, поддержку видео и т.д.

То, что уже готово, я выложил в ветку 4.0 репозитория. Не могу обещать, что эта задача будет выполнена быстро, и уж точно нет уверенности, что какие-то фичи в процессе не отвалятся, но похоже что все-таки перспективы дальнейшего развития движка теперь есть!

Обновление от 01.11.22: продолжение работы над Xtreme3D 4 пока под вопросом из-за вскрывшихся проблем в коде GLScene.

Обновление от 20.11.22: проблемы решены обновлением GLScene, разработка продолжается.

Обновление от 11.01.23: вышел Xtreme3D 4.0.0 alpha1.

Обновление от 01.08.24: вышел Xtreme3D 4.0.0 alpha2.

Offline

#2 2022-10-31 11:20:31

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 164
Сайт

Re: Xtreme3D 4.0 64-bit

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

План I этапа:

Engine - изменения в некоторых функциях
Pak - без изменений
Viewer - без изменений, некоторые функции будут добавлены на II этапе
Dummycube - без изменений
Camera - изменения в некоторых функциях
Light - без изменений, система LightFX будет добавлена на II этапе
Font & Text - без изменений, но возможность поддержки Freetype будет рассмотрена на II этапе
Sprite - без изменений
Primitives - без изменений
Actor - без изменений
Freeform - без изменений
Terrain - без изменений
Object - без изменений
Polygon - удаляется
Material - без изменений, кроме системы TextureEx
Shaders - без изменений, поддержка теней и FBO в GLSL-шейдерах будет добавлена на II этапе
ThorFX - без изменений
FireFX - без изменений
Lensflare - без изменений
Skydome - без изменений
Water - без изменений
Blur - без изменений
Skybox - без изменений
Lines - без изменений
Tree - без изменений
Trail - без изменений
Shadowplane - без изменений
Shadowvolume - без изменений
Navigator - без изменений
DCE - без изменений, некоторые функции будут добавлены на II этапе
ODE - без изменений
FPSManager - без изменений
Mirror - без изменений
Partition - без изменений
Proxy & MultiProxy - без изменений
Grid - без изменений
MemoryViewer - без изменений
Movement - без изменений
ObjectHash - без изменений
Window - без изменений
Input - без изменений
Color - без изменений
Pipe - без изменений
Verlet - без изменений

Offline

#3 2022-10-31 14:10:11

FireRun
Разработчик Xtreme3D
Из Казахстана
Зарегистрирован: 2018-06-11
Сообщений: 132
Сайт

Re: Xtreme3D 4.0 64-bit

Отличная новость! Если будет время помогу smile
Но сначала надо как то поставить GMS2


Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor

Offline

#4 2022-11-01 20:04:31

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 164
Сайт

Re: Xtreme3D 4.0 64-bit

Ой, нет, рано я обрадовался - GLScene оказалась забагованная( Только сделал врапперы Freeform и Actor, как оказалось, что анимированные (и некоторые статичные) форматы при загрузке дают Access Violation. Видимо эти загрузчики никто толком не тестировал все эти годы, и там вкрались регрессионные ошибки. Придется пока отложить этот проект в долгий ящик. Жаль, конечно. Я думал, если вторую версию выпустили, то есть какая-никакая стабильность, а у них там конь не валялся)

Offline

#5 2022-11-02 20:33:23

FireRun
Разработчик Xtreme3D
Из Казахстана
Зарегистрирован: 2018-06-11
Сообщений: 132
Сайт

Re: Xtreme3D 4.0 64-bit

Мдааа, если честно подозревал что будет какой-то подводный камень  hmm
Поэтому я начал писать с нуля свой  big_smile
кстати, твой движок на D, больше графический движок, или прям игровой ?


Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor

Offline

#6 2022-11-13 19:34:42

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 164
Сайт

Re: Xtreme3D 4.0 64-bit

Разобрался, в чем проблема - оказалось, дело в том, что загрузчики ошибочно вызывают не ту функцию StrToFloatDef для парсинга чисел, которая в русской локали по умолчанию использует запятую как разделитель вместо точки. Разрабы проблему уже заметили, вроде чинят. Так и знал, что причина какая-то простая, но не очевидная hmm

кстати, твой движок на D, больше графический движок, или прям игровой ?

Пока больше графический, в основном коде только рендер, а все остальное (физика, GUI) подключается в виде расширений.

Offline

#7 2023-01-11 17:02:11

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 164
Сайт

Re: Xtreme3D 4.0 64-bit

Привет форумчанам, всех с наступившим Новым годом!
На праздниках было время заняться этим проектом - и вот, выпускаю, как и обещал, первую альфа-версию Xtreme3D v4 для 64-битного GameMaker Studio 2:

Релиз на GitHub

Реализована вся функциональность из v3, кроме следующей:

  • Система TextureEx для материалов

  • Система освещения LightFX

  • Теневые карты ShadowMap

  • Объекты HUDShape

  • Объекты шрифтов TTFont

  • Поддержка индивидуальной анимации для объектов ActorProxy

  • Линейные волны для объектов Water

  • Некоторые дополнительные функции Viewer

  • Некоторые дополнительные функции спрайтов

  • Некоторые дополнительные функции DCE и ODE

  • Загрузчики форматов ASE, DXS, FBX, MTS, Х

  • Физический движок Kraft.

Offline

#8 2023-01-12 08:29:11

Проклятый Порох
Участник
Из Иркутск
Зарегистрирован: 2023-01-05
Сообщений: 16
Сайт

Re: Xtreme3D 4.0 64-bit

Gecko пишет:

Привет форумчанам, всех с наступившим Новым годом!
На праздниках было время заняться этим проектом - и вот, выпускаю, как и обещал, первую альфа-версию Xtreme3D v4 для 64-битного GameMaker Studio 2:

Релиз на GitHub

Реализована вся функциональность из v3, кроме следующей:

  • Система TextureEx для материалов

  • Система освещения LightFX

  • Теневые карты ShadowMap

  • Объекты HUDShape

  • Объекты шрифтов TTFont

  • Поддержка индивидуальной анимации для объектов ActorProxy

  • Линейные волны для объектов Water

  • Некоторые дополнительные функции Viewer

  • Некоторые дополнительные функции спрайтов

  • Некоторые дополнительные функции DCE и ODE

  • Загрузчики форматов ASE, DXS, FBX, MTS, Х

  • Физический движок Kraft.

Отличные новости!


Главный разработчик и дизайнер студии obsessed team. Группа студии - https://vk.com/TeamObsession

Offline

#9 2023-01-26 12:10:08

JunkerKun
Участник
Зарегистрирован: 2018-06-07
Сообщений: 9

Re: Xtreme3D 4.0 64-bit

А есть сподвижки с биндингом к С++?
Хочу свой движок перенести на рельсы Xtreme3D, а то курочить свой как-то уж слишком тяжко в плане графических возможностей.

Offline

#10 2023-02-11 13:45:42

Проклятый Порох
Участник
Из Иркутск
Зарегистрирован: 2023-01-05
Сообщений: 16
Сайт

Re: Xtreme3D 4.0 64-bit

Баг нашёл давно, но чёт решил ток щас написать. При включении демки, которая идёт с альфой, экран х3д на секунду появляется, а затем исчезает. Вот как это выглядит - https://www.youtube.com/watch?v=UXoBvNRYZQc. Возможно ли это исправить, и если да, то как?


Главный разработчик и дизайнер студии obsessed team. Группа студии - https://vk.com/TeamObsession

Offline

#11 2023-02-14 10:33:56

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 164
Сайт

Re: Xtreme3D 4.0 64-bit

Проклятый Порох пишет:

Баг нашёл давно, но чёт решил ток щас написать. При включении демки, которая идёт с альфой, экран х3д на секунду появляется, а затем исчезает. Вот как это выглядит - https://www.youtube.com/watch?v=UXoBvNRYZQc. Возможно ли это исправить, и если да, то как?

Пока сложно сказать, сейчас потестил на обновленном gms - все работает, как и раньше. Теоретически, какие-то функции (например, те же шейдеры из x3d 3.x) могут с некоторыми видеокартами плохо работать, либо могут быть баги в GLScene 2.

JunkerKun пишет:

А есть сподвижки с биндингом к С++?

Биндиги будут по готовности самого движка, после релиза 4.0.

Offline

#12 2023-02-18 12:12:56

Проклятый Порох
Участник
Из Иркутск
Зарегистрирован: 2023-01-05
Сообщений: 16
Сайт

Re: Xtreme3D 4.0 64-bit

Gecko пишет:

Пока сложно сказать, сейчас потестил на обновленном gms - все работает, как и раньше. Теоретически, какие-то функции (например, те же шейдеры из x3d 3.x) могут с некоторыми видеокартами плохо работать, либо могут быть баги в GLScene 2.

Ну, ладно. Спасибо за ответ!


Главный разработчик и дизайнер студии obsessed team. Группа студии - https://vk.com/TeamObsession

Offline

#13 2024-08-01 19:19:21

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 164
Сайт

Re: Xtreme3D 4.0 64-bit

В течение последнего года потихоньку пилил вторую альфу, и вот она - релиз на GitHub. Портированы без изменений почти все функции, изменения перечислены ниже:

  • Функция Update теперь называется EngineUpdate

  • Функция TrisRendered удалена

  • Функция ViewerRenderEx удалена

  • Изменился смысл функции EngineSetMaxLights. Теперь она задает максимальное количество источников света, которые учитываются основной системой освещения и системой LightFX. По умолчанию это количество равно 8 (максимум для основной системы освещения). Если вы хотите использовать больше источников света для системы LightFX, нужно использовать эту функцию

  • Функция ViewerGetPickedObjectsList теперь работает с объектами-списками PickList, которые нужно создавать вручную

  • Функция ViewerRenderToFilePNG удалена - сохранение в PNG теперь поддерживается в ViewerRenderToFile

  • Функция CameraZoomAll теперь требует указания Viewer во втором параметре

  • Функция SpriteNoZWrite удалена, используйте вместо нее MaterialSetDepthWrite

  • Функция MaterialCullFrontFaces удалена

  • Функция MaterialSetZWrite теперь MaterialSetDepthWrite

  • Переделана система TextureEx у материалов. Удалены функции MaterialLoadTextureEx, MaterialSetTextureEx, MaterialSetTextureExFromLibrary, MaterialGenTextureEx, MaterialEnableTextureEx

  • Удалены функции ObjectGetCollisionPosition, ObjectGetCollisionNormal - вместо них теперь EngineGetLastRaycastPosition, EngineGetLastRaycastNormal, которые делают то же самое

  • Функции Polygon удалены

  • Функции TTFontSetEncoding, TTFontLoadCodePage удалены. Все строки в движке принимаются только в UTF-8.

  • Для поддержки TTF пришлось добавить в движок SDL+SDL_ttf, т.к. я не нашел рабочий биндинг Freetype к свежим версиям Delphi. Весь Гитхаб перерыл, нету sad

  • Функции TextRead, TextConvertANSIToUTF8 удалены

  • Функция OdeAddCone удалена

  • Переделана система FBO. Удалены функции FBOSetViewer, FBORenderObject, FBORenderObjectEx, FBOSetOverrideMaterial, FBOSetColorTextureFormat. FBO теперь лучше интегрирован в граф сцены

  • Переделаны тени ShadowMap. Удалены функции ShadowMapSetCaster, ShadowMapSetProjectionSize, ShadowMapSetZScale, ShadowMapSetZClippingPlanes, ShadowMapRender. Добавлен новый объект ShadowCamera

  • Функция PtrToReal теперь называется PointerToReal


В исходнике есть пример, рассчитанный на GM рантайм 2024.4.1.201 или новее.

Offline

#14 2024-10-10 10:45:01

van88268
Участник
Зарегистрирован: 2018-06-05
Сообщений: 87
Сайт

Re: Xtreme3D 4.0 64-bit

Привет , давно здесь не был , новость Xtreme3D 4.0 64-bit cool
Gecko спасибо за развитие и переписанные движка под новый GLScene .
по рылся в новом глсцене и увидел там фаилы  → Packagex/GLArena ....
Очень интересно для чего может знаешь гекко ? ) smile
1728557047_5355353.jpg
244242

Редактировался van88268 (2024-10-10 10:48:16)


..//((( 
(((•.•)))              YOU TUBE                  இ}~ڿڰۣ-ڰۣ~—
..◢█◣
_./..I

Offline

Подвал доски

Под управлением FluxBB