Technical Overview

Engine Systems

An overview of the rendering, runtime, simulation and development systems implemented in Tempest Engine.

Rendering in Tempest Engine
Architecture

Subsystems

The engine consists of native runtime systems and development tools. The following sections describe their responsibilities.

01

Rendering

Vulkan-based rendering, GPU resource management and image processing.

Vulkan

Explicit GPU resource management, command submission, synchronization and descriptor management.

Physically Based Rendering

Metallic-roughness materials, direct lighting and image-based lighting.

Deferred Rendering

Geometry buffers and deferred lighting for scene illumination.

Bindless Resources

Descriptor indexing for GPU access to textures and other rendering resources.

High Dynamic Range

HDR lighting, exposure control, tone mapping and display output.

Global Illumination

Indirect lighting systems including radiance caching and probe-based illumination.

Ray Tracing

Hardware ray tracing through Vulkan ray tracing extensions.

Post Processing

Temporal anti-aliasing, FXAA and image processing passes.

02

Runtime Architecture

Native engine systems responsible for execution, memory and application state.

C and C++20

A C-oriented engine core with selective use of modern C++.

Entity System

Custom entity representation, component data and entity relationships.

Memory Management

Arena allocation, temporary memory and subsystem-specific resource lifetimes.

Parallel Execution

Task-based execution for distributing engine workloads across CPU cores.

Platform Layer

Window management, input, application lifecycle and operating-system integration.

03

Shaders

Shader authoring, compilation and runtime integration.

GLSL

Vulkan shader development using GLSL.

HLSL

HLSL shader compilation for Vulkan.

Slang

Shader compilation and modular shader development using Slang.

Hot Reload

Shader recompilation and replacement during development.

04

Scenes and Terrain

World representation, scene persistence and terrain rendering.

Scene Serialization

Persistent scene data containing entities, components and authored properties.

Prefabs

Reusable entity configurations and scene objects.

Large Worlds

World-space representation and terrain systems for large environments.

CBT Terrain

Adaptive terrain triangulation using a concurrent binary tree representation.

Terrain Modification

Runtime terrain editing and surface modification.

05

Physics and Animation

Simulation and animated object systems integrated with the runtime.

Jolt Physics

Rigid-body dynamics, collision detection and physics queries.

Character Movement

Character movement, collision response and ground interaction.

Vehicle Simulation

Vehicle movement, wheel contact and suspension simulation.

Skeletal Animation

Skeleton hierarchies and skinned mesh animation.

Animation Blending

Interpolation and blending between animation states.

06

Development Tools

Editor functions and diagnostics used during engine and game development.

Scene Editor

Scene composition, entity inspection and component editing.

Asset Management

Import, storage, inspection and management of engine assets.

Runtime Inspection

Inspection and modification of application state during execution.

CPU Profiling

Measurement of CPU execution time and engine workloads.

GPU Profiling

GPU timing and analysis of rendering passes.

Debug Visualization

Visualization of geometry, simulation state and engine diagnostics.