It’s time to release the new Gorilla3D Version 1.4.0.3867!
This update brings massive performance optimizations, stability improvements, exciting new features across physics, volume rendering and key bug fixes.
⚠️ Important Notice: Delphi Version Support Update
Starting with Version 1.4, we are deprecating support for older Delphi IDE versions.
Going forward, we will only provide packages for Delphi 11.3 and newer.
Please make sure your development environment is updated accordingly to enjoy the
latest Gorilla3D features and optimizations.
🔥 What’s New in Version 1.4.0.3867?
🎯 Physics & Simulation Updates
- 🆕 JOLT Physics 5.6 Support: Updated wrapper and native Android platform support! 🤖
- 💪 Q3 Physics Stabilization: Enhanced overall stability and completely refactored constraints (BallAndSocket, Fixed, Prismatic, Hinge, Point, Gear, RackAndPinion, SwingTwist, SixDOF, …).
- 📈 Massive Performance Boost: Terrain octant-split optimization reduced step time from 25 ms down to ~3 ms!
- ⚡Physics Fixes: Resolved deep overlap explosions, overlapping mesh freezes, and fixed collision issues on small meshes (≤16 triangles).
- JOLT and Q3 now behave much more comparable to each other due to unification.
☁️ Volume Rendering & Effects
- 🆕 Smooth Volumetrics: Added dithering to fix raytracing banding in volumetric meshes.
- 🆕 Atmospheric Effects: New volumetric Smoke, Fog, and Clouds in TGorillaVolumetricNoise with fixed terracing artifacts.
- 🆕 Emissive Mapping: Now supports emissive texture mapping directly on volumetric meshes.
- 🆕 Environment Mapping: Now supports attached environment render pass and considers them in rendering
🎨 Materials, Animations & Formats
- 🆕 InPlace Animations: Added the new InPlace property to quickly switch animations to in-place mode. 🏃
- 🆕 glTF / GLB Material Variants: Implemented extension support alongside emission strength and memory leak fixes.
- 💪 Animation Stability: Fixed jittering and duplicated interpolator/joint imports on FBX models, as well as skin animation performance fixes.
- ⚡Material Optimizations: Prevented unnecessary mesh material applications during render-pass execution, saving valuable CPU/GPU overhead.
🌋 Vulkan & Viewport Improvements
- 🆕 Camera Controls: TGorillaSmoothCameraController now supports automatic target camera adjustments.
- ⚡ Adaptive UBO Buffers: Dynamic ring buffer sizing to eliminate overflow issues during CSM cascade rendering.
- ⚡ Shader & VSync Fixes: Resolved texture shearing, enabled MipMap levels, and improved VSync auto-monitor detection.
🛠️ Utilities & IDE Integration
- 🆕 SBOM Included: Added Software Bill of Materials (SBOM) to the package distribution for enhanced transparency and security.
- Audio Improvements: Added TGorillaSoundItem.LoadFromStream supporting both FMOD and OpenAL.
📦 How to Get the Update
You can download the latest package directly from your customer portal, manually or via the Installer tool.
- https://my.gorilla3d.de
- https://gorilla3d.de/files
- https://gorilla3d.de/download/Gorilla3DInstaller.zip
--- CHANGELIST ---
Formats:
Bugfix: formats path delimiter fixes from "/" to "\\" on windows platform
Bugfix: animation unification normalized of time span basis for a more stable look
Bugfix: FBX import of some models with animations leading to jittering animations due to duplicated interpolator import
Bugfix: FBX unit normalization
Bugfix: FBX emissive color strength not considered correctly
Bugfix: FBX import of some models with animations leading to jittering animations due to duplicated interpolator import
Bugfix: FBX import finds duplicated mesh and joint id's on certain models
Feature: glTF/GLB material variants extension implemented
Bugfix: glTF/GLB emission strength not considered correctly > DamagedHelmet display texture issue
Bugfix: gltf/glb memory leaks closed
Bugfix: ply triangulation of quad faces fixed
Materials:
Bugfix: mesh materials getting applied on render-pass rendering with render-pass material - this costs unnecessary CPU/GPU time
Bugfix: caustics refactored to color toning instead of additive behaviour > led to issues on model materials
Bugfix: OpenGL anisotropic filtering fixed - due to missing mipmaps the filtering doesn't work
Bugfix: normal transformation during animation fixed
Bugfix: diffuse / albedo color limitation fixed
CSM:
Bugfix: CSM frontfaceculling fixed - was not dispatched to the basis
Bugfix: CSM > MinFilter/MagFilter changed from linear filtering to nearest filtering
Animations:
Feature: "InPlace" property introduced to easily set an animation to in-place
Bugfix: GetCurrentCachedFrame used Frame #0 as fallback, which caused flickering and jumping in animation frames
Bugfix: skin animation performance optimization
Volume Rendering:
Feature: Dithering introduced for volumetric mesh rendering to fix the staged rendering result because of fixed raytracing steps
Feature: emissive texture mapping on volumetric meshes
Feature: Volumetric Smoke, Fog, Clouds in TGorillaVolumetricNoise implemented > fixing terraces / level rendering through raytracing
Bugfix: Volumetric Mesh > EmissionAbsorptionBlend introduced for clouds rendering to reduce terracing
Bugfix: Volumetric Mesh > teraccing removed for lighting / iso-surfacing mode
Bugfix: render inside volumetric mesh fixes in shader
Bugfix: TEXTURE0 shader exception fixed on assigning environment mapping render pass
Physics:
Feature: JOLT 5.6 updated + source code updated + Delphi Wrapper
Feature: JOLT physics now supported on Android platforms
Feature: Further massive stabilization of Q3 physics bodies
Feature: new and refactored Q3 constraints > Hinge, LimitedHinge, Gear, RackAndPinion, Pulley, Cone, Distance, Point, SwingTwist, SixDOF
Bugfix: Buoyancy Constraint for JOLT
Bugfix: SwingTwist fixed in axis settings > PlaneHalfConeAngle property added for elliptical swing cone setup instead of HalfConeAngle only
Bugfix: Terrain-Perf — degenerated Octant-Split fixed (centroid-average), 25 ms → ~3 ms/Step.
Bugfix: GetBVHNodes-Root-Leaf — small meshes (≤16 triangles) colliding again
Bugfix: Jam-Guard — overlapping mesh-spawns freezing
Bugfix: Baumgarte-Max-Correction-Clamp — deep overlaps exploding
Utils:
Bugfix: Pathfinding obstacles did not took the provided bounding box
Bugfix: Pathfinding obstacles of type TGorillaModel did not use GetAbsoluteBoundingBox, but instead the wrong GlobalBounds
Bugfix: TGorillaSoundItem::LoadFromStream introduced to be supported for FMOD and OpenAL
Bugfix: TPerlinNoise computation fixed
Vulkan:
Bugfix: Vulkan UBO ring buffer overflow > now an adaptive ring buffer size to adjust it when needed > caused issues in CSM cascades rendering
Bugfix: Vulkan MipMapLevels introduced
Bugfix: Vulkan texture shearing on binary texture data leading to defect rendering
Bugfix: GetCanonicalProjectionMatrix() introduced to manage correct fustum culling on Vulkan
Viewport:
Feature: TGorillaSmoothCameraController now supports targets and auto target camera adjustment
Bugfix: VSync auto-monitor detection
IDE:
Feature: SBOM added to package
Bugfix: design time error message optimized on missing JOLT lib in IDE bin-path
Bugfix: Compilation for elderly versions restored: 10.1.2, 10.2.3, 10.3.3, 10.4.2


