$this->setGenerator(null);
Skip to main content

Apex Dev Log: April-May Updates - Vulkan

Apex Development Log: April-May Updates

2024 01 01 DevLog intro 01

In April, we began collaborating with the Kronos Group to integrate Vulkan shader libraries, enhancing our performance and visual capabilities.

The transition to Vulkan involves several phases but promises improved cross-platform compatibility, enhanced PBR features, and a progression toward photorealistic rendering.

This multi-step transition is pivotal for achieving higher performance and visual fidelity.



Vulkan Shader R&D and Integration
Vulkan significantly reduces CPU time spent in the driver, which increases the client-server and client-client communications. Vulkan supports a wide range of platforms, including Windows, MacOS, IOS, Linux, and Android. This broad compatibility makes it easier for our clients to develop applications that can run across different types of hardware and operating systems, enhancing the engine’s versatility.

  • R&D material for Vulkan integration
  • System preparation and documentation for integration 
  • DLL installation and set up
  • First Vulkan render tests completed

 

Shader Conversion and Optimization
The integration of Vulcan shader libraries has streamlined the communication between the CPU and GPU. Previously, uniform variables were sent individually for each frame and each shader, a process that, while not overly taxing on the processor, led to GPU idling and performance inefficiencies. This update optimizes this process, enhancing overall rendering performance.

 

Revamped Object Architecture
Continuing efforts to optimize resource management, the engine's object class sizes have been reduced by shifting the load-handling responsibilities to the resource manager. Building on this, the architecture of how editor objects are handled within Bright Engine has been entirely rewritten to further refine performance and usability.

 

Enhanced Terrain Rendering
Addressing one of the more substantial challenges in creating open-world environments, the update has overhauled the terrain rendering system. The previous chunked Level of Detail (LOD) system was inadequate for vast landscapes and prone to creating gaps between LOD levels at closer ranges. The new continuous distance-dependent LOD system resolves these issues, allowing for the seamless rendering of expansive terrains without performance compromises.

 

World Editor Bug Fixes: Bugs within the World Editor have been addressed

These updates significantly improve the functionality and efficiency of the Apex Engine, ensuring it remains a powerful tool for developing intricate and dynamic 3D environments.

  • Resolved SSAO issue: incorrect texture blurring, which previously caused screen-space artifacts.
  • Removed redundant calculations for point light and spotlight shadows when no shadow-casting sources are present, enhancing performance.
  • Fixed terrain emissive draw/render when no emission map was assigned.
  • Adjusted the frequency of wind noise texture binding to once per frame rather than per terrain chunk.
  • Ensured that light illuminance values now adhere to timeline settings.
  • Corrected the display units for the inner and outer radius of spotlights.

Many of these systems under the World Editor will require additional changes and updates in the future during and after the Vulkcan integration core is complete.

 

  • Hits: 690