xtreme3d_4.0

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
xtreme3d_4.0 [2024/03/24 22:47]
admin
xtreme3d_4.0 [2025/04/09 01:44] (текущий)
admin
Строка 1: Строка 1:
 ====== Xtreme3D 4.0 ====== ====== Xtreme3D 4.0 ======
-Четвертое поколение [[Xtreme3D]], графического движка для [[GameMaker]]. В настоящее время находится в разработке.+Четвертое поколение [[Xtreme3D]], графического движка для [[GameMaker]]. 
 + 
 +Основные особенности: 
 +  * Переход на 64-битную архитектуру. 32-битная архитектура больше не поддерживается 
 +  * Использование [[Delphi]] 10/11 и [[GLScene]] 2.2 
 +  * Совместимость с современными версиями GameMaker (бывший GameMaker Studio 2) 
 +  * Все строки в движке принимаются только в 8-битном представлении (ASCII/UTF-8), поддержка других кодировок удалена 
 +  * Большинство функций не изменились, все мелкие изменения API перечислены ниже 
 +  * Реализованы привязки к [[Python]] 3 и [[C]]/[[C++]] 
 +  * Обновлена справка, актуализированы уроки и документация ко многим функциям.
  
 [[https://github.com/xtreme3d/xtreme3d/tree/4.0|Репозиторий проекта]] [[https://github.com/xtreme3d/xtreme3d/tree/4.0|Репозиторий проекта]]
  
-**Текущий статус:** второй этап разработки первой версии (Milestone II), альфа-тестирование+**Текущий статус:** стабильный релиз версии 4.0.0
  
 ===== История ===== ===== История =====
Строка 11: Строка 20:
 Xtreme3D 4.0 пишется на Delphi 10 и выше с использованием библиотеки GLScene 2.2. Будет поддерживаться только 64-битная архитектура и (пока) только ОС Windows. Xtreme3D 4.0 пишется на Delphi 10 и выше с использованием библиотеки GLScene 2.2. Будет поддерживаться только 64-битная архитектура и (пока) только ОС Windows.
  
-Проект осуществляется в два этапа. На первом были реализованы базовые функции-врапперы, основанные на встроенных классах GLScene, и выпущена [[https://github.com/xtreme3d/xtreme3d/releases/tag/v4.0.0-alpha.1|первая альфа-версия]]. На втором будут реализованы аналоги тех возможностей, для которых пришлось добавлять новые классы и менять методы встроенных. По итогам II этапа будет выпущена вторая альфа-версия, на основе которой затем будет подготовлен релиз Xtreme3D 4.0.0. Также на II этапе будет подготовлен биндинг для Python 3. Если все пройдет успешно, затем выйдет версия 4.1, в которой будут добавлены врапперы некоторых новых классов GLScene 2.+Проект осуществляется в два этапа. На первом были реализованы базовые функции-врапперы, основанные на встроенных классах GLScene, и выпущена [[https://github.com/xtreme3d/xtreme3d/releases/tag/v4.0.0-alpha.1|первая альфа-версия]]. На втором были реализованы аналоги тех возможностей, для которых пришлось добавлять новые классы GLScene и менять методы встроенных. По итогам II этапа была выпущена вторая альфа-версия. Также на II этапе был подготовлен биндинг для Python 3.
  
 Дорожная карта разработки: Дорожная карта разработки:
   * ✔️ **Milestone I** (2022-2023)   * ✔️ **Milestone I** (2022-2023)
-  * ⏳ **Milestone II** (2023-2024) +  * ✔️ **Milestone II** (2023-2024) 
-  * ⏳ **Xtreme3D 4.0.0** (ориентировочно начало 2025 года) +  * ✔️ **Xtreme3D 4.0.0 beta** (начало 2025 года) 
-  * ⏳ **Xtreme3D 4.1.0** (середина-конец 2025 года)+  * ✔️ **Xtreme3D 4.0.0** (апрель 2025 года) 
 +  * ⏳ **Xtreme3D 4.1.0** (ориентировочно конец 2025 года)
  
 ===== Отличия от Xtreme3D 3.9 ===== ===== Отличия от Xtreme3D 3.9 =====
 Большинство функций движка остаются без изменений. Изменения, ломающие обратную совместимость, перечислены ниже. Большинство функций движка остаются без изменений. Изменения, ломающие обратную совместимость, перечислены ниже.
  
 +  * Функция Update теперь называется EngineUpdate
   * Функция TrisRendered удалена   * Функция TrisRendered удалена
 +  * Функция ViewerRenderEx удалена
 +  * Новые функции ViewerBeginRender, ViewerClear, ViewerRenderObject, ViewerEndRender
 +  * Изменился смысл функции EngineSetMaxLights. Теперь она задает максимальное количество источников света, которые учитываются основной системой освещения и системой LightFX. По умолчанию это количество равно 8 (максимум для основной системы освещения). Если вы хотите использовать больше источников света для системы LightFX, нужно использовать эту функцию
   * Функция ViewerGetPickedObjectsList теперь работает с объектами-списками PickList, которые нужно создавать вручную   * Функция 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 во втором параметре   * Функция CameraZoomAll теперь требует указания Viewer во втором параметре
 +  * Новая функция MaterialLibraryGetTextureByName
   * Функция SpriteNoZWrite удалена, используйте вместо нее MaterialSetDepthWrite   * Функция SpriteNoZWrite удалена, используйте вместо нее MaterialSetDepthWrite
   * Функция MaterialCullFrontFaces удалена   * Функция MaterialCullFrontFaces удалена
 +  * Функция MaterialSetZWrite теперь называется MaterialSetDepthWrite
 +  * Новая функция MaterialSetDepthTest
 +  * Переделана система TextureEx у материалов. Удалены функции MaterialLoadTextureEx, MaterialSetTextureEx, MaterialSetTextureExFromLibrary, MaterialGenTextureEx, MaterialEnableTextureEx
 +  * Новая функция MaterialSetTextureFormatEx
 +  * Новая константа для MaterialSetTextureFormat: tfExtended = 12
 +  * Новая константа для MaterialSetTextureImageAlpha: tiaBottomRightPointColorTransparent = 9
 +  * Новые функции MaterialSetTextureCompareMode, MaterialSetTextureDepthCompareFunc
 +  * Удалены функции ObjectGetCollisionPosition, ObjectGetCollisionNormal - вместо них теперь EngineGetLastRaycastPosition, EngineGetLastRaycastNormal, которые делают то же самое
   * Функции Polygon удалены   * Функции Polygon удалены
 +  * Функции TTFontSetEncoding, TTFontLoadCodePage удалены
 +  * Шрифты TTFont теперь работают на базе SDL_ttf вместо чистого Freetype
   * Функции TextRead, TextConvertANSIToUTF8 удалены   * Функции TextRead, TextConvertANSIToUTF8 удалены
   * Функция OdeAddCone удалена   * Функция OdeAddCone удалена
-  * Переделана система TextureEx у материалов. Удалены функции MaterialLoadTextureExMaterialSetTextureExMaterialSetTextureExFromLibrary, MaterialGenTextureEx, MaterialEnableTextureEx +  * Новая функция BaseMeshBuildSilhouetteConnectivityData 
-  * Переделана система FBO. Удалены функции FBOSetViewer, FBORenderObject, FBORenderObjectEx, FBOSetOverrideMaterial, FBOSetColorTextureFormat +  * Новая функция ActorSetReference 
-  * Изменился смысл функции EngineSetMaxLightsТеперь она задает максимальное количество источников света, которые учитываются основной системой освещения и системой LightFX. По умолчанию это количество равно 8 (максимум для основной системы освещения). Если вы хотите использовать больше источников света для системы LightFX, нужно использовать эту функцию.+  * Новые функции ObjectNotifyChange, ObjectStructureChanged, ObjectClearStructureChanged 
 +  * Новые функции ObjectListCreateObjectListAddObjectListGetCount 
 +  * Переделана система FBO. Объект FBO теперь является частью графа сцены. Удалены функции FBOSetViewer, FBORenderObject, FBORenderObjectEx, FBOSetOverrideMaterial, FBOSetColorTextureFormat. Новые функции FBOSetActive, FBOSetAspect, FBOSetPickableTarget, FBOSetSize, FBOSetRootObject, FBOSetBackgroundColor, FBOSetEnabledRenderBuffers, FBOSetSceneScaleFactor, FBOSetTargetVisibility, FBOSetMaterialLibrary, FBOSetColorTextureName, FBOSetDepthTextureName, FBOSetClearOptions, FBOSetStencilPrecision, FBOSetShadowMapMode 
 +  * Переделаны тени ShadowMap. Удалены функции ShadowMapSetCaster, ShadowMapSetProjectionSize, ShadowMapSetZScale, ShadowMapSetZClippingPlanes, ShadowMapRenderНовые функции ShadowMapUpdate, ShadowMapSetViewer 
 +  * Добавлен новый объект ShadowCamera, который используется в ShadowMap. Новые функции ShadowCameraCreate, ShadowCameraSetProjectionSize, ShadowCameraSetZClippingPlanes 
 +  * Новые функции GLSLShaderForceDisableStencilTest, GLSLShaderSetOptions 
 +  * Новые функции LoggerCreate, LoggerEnable, LoggerLog 
 +  * Функция PtrToReal теперь называется PointerToReal 
  • xtreme3d_4.0.1711309646.txt.gz
  • Последнее изменение: 2024/03/24 22:47
  • admin