Xtreme3D 4.x
Xtreme3D 4.x - это новая ветка Xtreme3D, созданная для современных 64-битных версий GameMaker.
На сегодняшний день это наиболее мощная и функциональная версия Xtreme3D, намного превосходящая все существовавшие ранее аналоги. А главное - это единственный активно разрабатывающийся 3D-движок для GameMaker. На основе Xtreme3D 4.x можно создавать игры с графикой уровня 2005-2010 гг. - теоретически, можно сделать что-то наподобие Doom 3, Half-Life 2, TES4: Oblivion и т.д. Дальнейшее развитие графических возможностей Xtreme3D затруднено, поскольку библиотека GLScene, на которой он основан, ограничена функциональностью OpenGL 2.0.
Xtreme3D 4.x является полностью автономным движком. Его можно использовать в любом языке, поддерживающем вызовы из DLL. Xtreme3D может рендерить в предоставленное средой окно, либо создать собственное окно, имея также функции для обработки пользовательского ввода.
Xtreme3D 4.x работает только под 64-битной Windows, другие платформы не поддерживаются.
Скачать Xtreme3D 4.1.0 SDK для GameMaker (64-bit)
Скачать Xtreme3D 4.1.0 SDK для Python 3 (64-bit)
Страница релиза на GitHub
Репозиторий с исходниками
Основные особенности:
Переход на 64-битную архитектуру. 32-битная архитектура больше не поддерживается
Использование Delphi 10+ и GLScene 2.2
Совместимость с современными версиями GameMaker
Все строки в движке принимаются только в 8-битном представлении (ASCII/UTF-8), поддержка других кодировок удалена
Большинство функций не изменились, все мелкие изменения API перечислены ниже
Реализованы привязки к Python 3 и C/C++
Обновлена и актуализирована справка, сделан новый дизайн HTML-страниц.
Изменения и нововведения:
Функция 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 - основной разработчик