After a long development phase we’ve reached a long-term milestone.
We’ve implemented the rendering basis for METAL and VULKAN context rendering.
NOTICE: Even though a lot of features still missing and for sure not all of your projects might already work, it’s the beginning and took a lot of effort and refactoring we want to share!
Download & Install: https://gorilla3d.de/files/packages/13.1.0/Gorilla3D_Delphi_C%2B%2B_13.1.0_1.2.0.3656.zip
OR via our Installer-Tool: https://gorilla3d.de/download/Gorilla3DInstaller.zip
- Vulkan Support:
- GLSL to SPIR-V Conversion via ShaderC library
- Basic rendering pipeline: Frame-Buffers, Uniform-Buffers, Mesh-Buffers, Texturing, WBOIT-Rendering, MSAA, Emission, DefaultMaterial, Reflection, Refraction, Material-Behaviours, Gorilla-Mesh rendering, Instancing, animated models, gpu cached animations, 2D/cubemap textures, skybox component, water material, splatmap material
- Not working yet:
- textures added at design time – runtime loading works
- other texture formats than BGRA
- normal texture mapping (affects PBR, POM, Normal-Mapping)
- 3D textures + Volume-Rendering
- Particle-System
- Global illumination
- Render-Passes: Shadow-Mapping, FXAA, PostFX
- Various Materials: TTextureMaterialSource, TLightMaterialSource
- Activate it by including “
Gorilla.Context.Backend” unit in your *.DPR and calling “GorillaGraphicsBackend := gbVulkan;” before “Application.Initialize” - Platform: Windows X64
- Metal Support:
- Metal Shader Language (MSL) support – NOT OPENGL!
- GLSL shaders translated to MSL by embedded parser and translator
- Write GLSL as you know it and Gorilla3D is taking care of it to convert it into MSL
- Basic rendering pipeline: Frame-Buffers, Uniform-Buffers, Mesh-Buffers, Texturing, WBOIT-Rendering, DefaultMaterial, Material-Behaviours, Gorilla-Mesh rendering, Instancing, animated models, gpu cached animations, 2D/cubemap textures, skybox component
- Not working yet: see above and further things like MSAA, FXAA, emission, reflection/refraction, water, splatmap, and more.
- Platform: OSX64
- NEW FEATURES:
- 13.1 Support for Windows X86/X64, Android 32-/64-Bit, Linux X64, OSX64, Windows ARM64EC compilable (but no package support)
- DesignTime Navigation:
- ALT + left mouse button > orbit
- ALT + right mouse button > shift on X/Z axis in camera direction
- ALT + SHIFT + left mouse button > shift X/Y axis
- Navigation speed configurable
- Gizmo Control:
- “G” key to switch between gizmo control and drag & drop mode
- In gizmo mode: drag left mouse button /SHIFT/CTRL to move on axis
- After a 3D object was selected in gizmo mode use ESC to leave editing
- Step size configurable
- High level input controller switchable by property
- The original low-level input controller blocked at debug time
- You can now switch to high level (slower) input detection without blocking
- This is much better for debugging
- OpenAL audio library implemented with support for MP3 and OGG Vorbis
- TGorillaFMODAudioManager and TGorillaOpenALManager are now both inherited from TGorillaAudioManager
- Sound and channel handling
- Effect handling is platform dependent
- Dialogue ImageList’s introduced: automatically load image references by
<images><image /></images>tags and add an “image-index” attribute to dialogues and items to link - Default-Material: ShaderData has now a new property “Specs” to store additional texture info, like if it’s a normal-map
- TerrainMaterial: Optional normal mapping:
- Each level has now a sub-bitmap to load a normal map into
- Relative/Untransformed and Absolute/Transformed Level-Detection
- Audio Playlist non-visual and visual component
- Gorilla.Audio.Playlist with TGorillaAudioPlaylist and manageble TPlaylistItem’s
- FMOD & OpenAL Support
- TAudioPlayerFrame now contains playlist management
- TGorillaTimer: EnqueuedOnce introduced to enqueue only if the previous enqueued operation was handled
- TGorillaMesh: multiple instance modification now encapsulatable by BeginInstancesEditing/EndInstancesEditing
- BUGFIXES
- TGorillaModel cached animations not working on multiple instances
- TGorillaModel with cached animation only ended up invisible
- TGorillaTerrainCVLOD: on-demand mesh generation
- CharacterController height modification to make it more transparent
- GorillaScript:
- Performance optimization on loops and nested loops fixed
- Scripting-Record type
- Type-Support: Int64 and UInt8/UInt16/UInt32/UInt64
- Property field method access fixed
- Inherited method calls implemented for scripting objects
- VAR/OUT/CONST parameters fixed
- Floating point values with exponent (“e,E-/+123”) parsing fixed
- New system functions: SizeOf, TypeName, TypeOf
- Inventory groups also with images
- SkillSystem ignoring comment tags within
- TerrainMaterial: overblended transition area rendering issue fixed
- TGorillaTerrain: picking / raytracing mechanism causing issues on selecting objects above
- TGorillaDefaultMaterial: measure time issues with different platforms fixed
- ScreenSpaceShadow rendering optimization
- Duplicated FMOD audio sound playback crashed
- TGorillaTimer: shutdown issues fixed

