Skip to content

Technology Reference Index

This page maps every technology used in fighters-legacy to its canonical upstream documentation. It is the recommended starting point for contributors who are new to one or more of the libraries or tools in the stack.

For competitive landscape context — what simulators exist and where fighters-legacy fits relative to them — see docs/developer/prior-art.md.


Engine Technologies

Runtime libraries the engine is built on.

Technology Role in this project Documentation
Vulkan 1.3 GPU rendering API (platform/vulkan/) Khronos spec · vulkan-tutorial.com
MoltenVK Vulkan-over-Metal ICD for macOS KhronosGroup/MoltenVK · LunarG SDK
GLM Vector/matrix/quaternion math shared across engine, renderer, and tests GLM manual · g-truc/glm
VulkanMemoryAllocator GPU memory allocation for all Vulkan buffers and images (platform/vulkan/) GPUOpen VMA docs
KTX-Software / Basis Universal KTX2 texture loading and Basis→BC7/ASTC transcoding at runtime (platform/vulkan/) KhronosGroup/KTX-Software · Basis Universal
tinygltf glTF 2.0 mesh parsing in the Vulkan renderer and validate-mesh tool syoyo/tinygltf · glTF spec
SDL3 Windowing, input, Vulkan surface creation (platform/sdl3/) SDL3 wiki
OpenAL Soft 3D positional audio (platform/openal/) openal-soft.org
ENet / enet6 Reliable UDP networking (platform/net/); retained as the LAN/single-player/low-count backend after Epic L (#506) selected GameNetworkingSockets for 128+ enet.bespin.org · SirLynix/enet6

Rendering Techniques

Algorithms the Vulkan renderer implements (see docs/developer/rendering.md for the pass-by-pass graph). "Role" notes whether a technique is in the renderer today or planned under a tracking issue.

Technique Role in this project Reference
Cook-Torrance PBR (GGX NDF, Smith geometry, Schlick Fresnel) Opaque material shading (mesh.frag) Karis, Real Shading in UE4 (SIGGRAPH 2013)
PSSM cascaded shadow maps Sun shadows (shadow.vert, mesh.frag) Zhang et al., Parallel-Split Shadow Maps (GPU Gems 3)
Octahedral normal encoding World-space normal G-buffer packing (mesh.frag) Cigolle et al., A Survey of Efficient Representations for Unit Vectors (JCGT 2014)
GTAO / horizon-based ambient occlusion Ambient occlusion (gtao.comp) Jiménez et al., Practical Realtime Strategies for Accurate Indirect Occlusion (SIGGRAPH 2016) · Intel XeGTAO (planned: half-res + temporal, #448)
Analytic atmospheric scattering + aerial perspective Atmospheric sky + distance scattering (sky.frag, mesh.frag) Hillaire, A Scalable and Production Ready Sky and Atmosphere (EGSR 2020) · Bruneton & Neyret, Precomputed Atmospheric Scattering (planned: precomputed LUTs, #445)
Khronos PBR Neutral tonemapper HDR → LDR tonemap (tonemap.frag) KhronosGroup/ToneMapping
FXAA Post-process anti-aliasing (tonemap.frag) Lottes, FXAA (NVIDIA whitepaper)
Bloom (bright-pass + separable Gaussian) HDR glow (bloom_*.frag) Jimenez, Next Generation Post Processing in Call of Duty: Advanced Warfare (SIGGRAPH 2014)
TAA + CAS Temporal AA + sharpening (planned, #443) Karis, High-Quality Temporal Supersampling (SIGGRAPH 2014) · AMD FidelityFX CAS
Temporal upscaling Render-scale upscaling (planned, #450) AMD FSR 2 · Intel XeSS
Image-based lighting (split-sum) Sky-driven ambient (planned, #452) Karis, Real Shading in UE4 — split-sum approximation

Build & Tooling

Tool Role in this project Documentation
CMake 3.25+ / presets Build system; all platforms use CMakePresets.json CMake presets reference
glslang / glslangValidator GLSL-to-SPIR-V compiler; invoked at configure time to build Vulkan shaders KhronosGroup/glslang
Catch2 v3 Unit test framework (tests/) Catch2 tutorial
toml++ TOML config parsing (server.toml, user.toml, mod manifests) marzer.github.io/tomlplusplus
yaml-cpp YAML parsing in the validate-mission asset pipeline tool jbeder/yaml-cpp
clang-format Code formatting; CI enforces on every PR ClangFormat docs
REUSE / SPDX License compliance tooling; CI enforces via fsfe/reuse-action reuse.software
git-cliff Changelog generation for releases git-cliff.org

Multiplayer & Live Services

Technologies introduced by the 128+ multiplayer re-target (decision record 2026-06-28). "Role" notes whether each is in use today or planned under an epic. All are GPL-3.0-compatible.

Technology Role in this project License Documentation
GameNetworkingSockets Selected transport for 128+ peers (Epic L, #506) — reliable+unreliable UDP, congestion control, built-in encryption; behind INetwork, enet6 retained as fallback BSD-3 ValveSoftware/GameNetworkingSockets
OpenSSL Crypto backend for the GNS transport (the #506 spike's libsodium pick was reversed during #507 — GNS rejects libsodium AES on ARM/Apple Silicon; see docs/developer/gns-backend.md) Apache-2.0 openssl.org/docs
Opus In use — the voice codec for the radio nets (Epic J, #531): 48 kHz mono, 20 ms frames, VOIP mode with in-band FEC. The server relays frames without decoding, so this is a client-to-client contract BSD-3 opus-codec.org
OIDC / OAuth 2.0 Federated identity option for self-hosted communities (OidcIdentityProvider, Epic C) OpenID Connect
SQLite / PostgreSQL Persistence backends (IPersistence, Epic H) — SQLite single-server, Postgres for clusters Public domain / PostgreSQL sqlite.org · postgresql.org/docs
Prometheus / OpenMetrics Server metrics export (Epic G) Apache-2.0 prometheus.io/docs
Grafana Operator-deployed dashboards (Epic G); bundled dashboard JSON only — not redistributed AGPL-3.0 (upstream images) grafana.com/docs
Agones Dedicated-game-server fleet framework the operator builds on (Epic K) Apache-2.0 agones.dev
Operator SDK / Kubebuilder Go framework for fl-operator (Epic K) Apache-2.0 sdk.operatorframework.io · kubebuilder.io
Go Language for the cluster + live-services repos (fl-operator, fl-account, fl-review, fl-director, fl-ops) BSD-3 go.dev/doc

AI & Agentic Services

Technologies introduced by the Dynamic World & Agentic AI initiative (decision record 2026-07-01, Epics M–P). All optional at runtime — no provider configured means fully scripted behaviour; see docs/developer/ai-architecture.md.

Technology Role in this project License Documentation
OpenAI-compatible API The provider lingua franca — [ai.provider] points at any compatible endpoint platform.openai.com/docs/api-reference
Ollama Reference local model server for self-host operators MIT github.com/ollama/ollama
llama.cpp / llama-server Alternative local inference stack (Metal / CUDA / ROCm / Vulkan backends) MIT github.com/ggml-org/llama.cpp
Model Context Protocol (MCP) Agent-facing tool surface of fl-server (Epic M) — world-state, events, allowlisted admin commands MIT (spec/SDKs) modelcontextprotocol.io
whisper.cpp Local speech-to-text for the crew-comms voice loop (Epic O) MIT github.com/ggml-org/whisper.cpp
Piper Optional local text-to-speech for crew/GCI replies (Epic O) MIT github.com/rhasspy/piper

Flight Sim Domain

This section is for contributors unfamiliar with combat flight simulation concepts. For landscape context and motivation, see docs/developer/prior-art.md.

Flight model concepts

fighters-legacy uses a simplified 6-DOF stability-derivative flight model. The design rationale is in docs/developer/design.md and the FDM RFC issue. The best publicly available reference for this mathematical approach is the JSBSim documentation:

  • JSBSim reference manual — the most rigorous open-source treatment of stability-derivative 6-DOF models. fighters-legacy does not use JSBSim itself, but borrows its coefficient structure and AoA/Mach-indexed table approach.

Jane's Fighters Anthology

The direct spiritual ancestor of this project. The original Jane's FA manual covers the aircraft roster, weapons systems, and mission concepts that define the fidelity target for content packs. The manual is included with the GOG.com release of Jane's Combat Simulations.

Community documentation

The DCS World community has produced the most comprehensive publicly available documentation on modern combat aircraft systems modelling:

  • Hoggit community wiki — reference cards, systems guides, and flight model notes for DCS aircraft; useful background for contributors working on avionics or flight model design.
  • Eagle Dynamics forums — primary discussion venue for DCS flight model questions; archived threads cover the modelling methodology in depth.