Vulkan
Explicit GPU resource management, command submission, synchronization and descriptor management.
An overview of the rendering, runtime, simulation and development systems implemented in Tempest Engine.

The engine consists of native runtime systems and development tools. The following sections describe their responsibilities.
Vulkan-based rendering, GPU resource management and image processing.
Explicit GPU resource management, command submission, synchronization and descriptor management.
Metallic-roughness materials, direct lighting and image-based lighting.
Geometry buffers and deferred lighting for scene illumination.
Descriptor indexing for GPU access to textures and other rendering resources.
HDR lighting, exposure control, tone mapping and display output.
Indirect lighting systems including radiance caching and probe-based illumination.
Hardware ray tracing through Vulkan ray tracing extensions.
Temporal anti-aliasing, FXAA and image processing passes.
Native engine systems responsible for execution, memory and application state.
A C-oriented engine core with selective use of modern C++.
Custom entity representation, component data and entity relationships.
Arena allocation, temporary memory and subsystem-specific resource lifetimes.
Task-based execution for distributing engine workloads across CPU cores.
Window management, input, application lifecycle and operating-system integration.
Shader authoring, compilation and runtime integration.
Vulkan shader development using GLSL.
HLSL shader compilation for Vulkan.
Shader compilation and modular shader development using Slang.
Shader recompilation and replacement during development.
World representation, scene persistence and terrain rendering.
Persistent scene data containing entities, components and authored properties.
Reusable entity configurations and scene objects.
World-space representation and terrain systems for large environments.
Adaptive terrain triangulation using a concurrent binary tree representation.
Runtime terrain editing and surface modification.
Simulation and animated object systems integrated with the runtime.
Rigid-body dynamics, collision detection and physics queries.
Character movement, collision response and ground interaction.
Vehicle movement, wheel contact and suspension simulation.
Skeleton hierarchies and skinned mesh animation.
Interpolation and blending between animation states.
Editor functions and diagnostics used during engine and game development.
Scene composition, entity inspection and component editing.
Import, storage, inspection and management of engine assets.
Inspection and modification of application state during execution.
Measurement of CPU execution time and engine workloads.
GPU timing and analysis of rendering passes.
Visualization of geometry, simulation state and engine diagnostics.