Xtreme3D 4.0
Xtreme3D 4.0 - это новая версия Xtreme3D, находящаяся в разработке с 2022 года. На данный момент она находится на финальной стадии разработки, доступна юзабельная бета-версия. Начиная с Xtreme3D 4.0.0 beta4 изменений в функциях не планируется - ведется работа над обновлением документации перед релизом, так что движок уже можно использовать.
Скачать Xtreme3D 4.0.0 beta4
Репозиторий с исходниками
Основные особенности:
Переход на 64-битную архитектуру. 32-битная архитектура больше не поддерживается
Использование Delphi 11 и GLScene 2.2
Совместимость с современными версиями GameMaker (бывший GameMaker Studio 2)
Все строки в движке принимаются только в 8-битном представлении (ASCII/UTF-8), поддержка других кодировок удалена
Большинство функций не изменились, все мелкие изменения API перечислены ниже
Реализованы привязки к Python 3 и C/C++
Обновляется справка: новый дизайн HTML-страниц, актуализированы уроки и документация ко многим функциям. Из справки удален глоссарий, он будет полностью перенесен в вики. Также ведется работа над английской версией справки, но она будет готова не раньше, чем к релизу Xtreme3D 4.1.
Изменения и нововведения:
Функция 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 у материалов. Удалены функции MaterialLoadTextureEx, MaterialSetTextureEx, MaterialSetTextureExFromLibrary, MaterialGenTextureEx, MaterialEnableTextureEx
Новая функция MaterialSetTextureFormatEx
Новая константа для MaterialSetTextureFormat: tfExtended = 12
Новая константа для MaterialSetTextureImageAlpha: tiaBottomRightPointColorTransparent = 9
Новые функции MaterialSetTextureCompareMode, MaterialSetTextureDepthCompareFunc
Удалены функции ObjectGetCollisionPosition, ObjectGetCollisionNormal - вместо них теперь EngineGetLastRaycastPosition, EngineGetLastRaycastNormal, которые делают то же самое
Функции Polygon удалены
Функции TTFontSetEncoding, TTFontLoadCodePage удалены
Шрифты TTFont теперь работают на базе SDL_ttf вместо чистого Freetype
Функции TextRead, TextConvertANSIToUTF8 удалены
Функция OdeAddCone удалена
Новая функция BaseMeshBuildSilhouetteConnectivityData
Новая функция ActorSetReference
Новые функции ObjectNotifyChange, ObjectStructureChanged, ObjectClearStructureChanged
Новые функции ObjectListCreate, ObjectListAdd, ObjectListGetCount
Переделана система 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
Авторы:
Gecko - основной разработчик
Обсуждение проекта - в соответствующей теме форума.