Flight dynamics (preview)

Dawn Engine Flight (planned Gem Gems/FlightDynamics) integrates JSBSim as the sole flight-dynamics authority for aircraft. Dawn owns input, entity lifecycle, large-world transforms, rendering, weather bridging, terrain queries, kinematic collision proxies, editor workflows, and diagnostics.

Maturity: planned / design complete. First ship target: Windows / Linux desktop, single-player authoritative sim, fixed-wing MVP. Rotorcraft, VTOL, rockets, and multiplayer sync are architecturally reserved—outside first-release scope. Baseline: JSBSim v1.3.1 (LGPL-2.1), dynamically linked so users can replace a compatible DLL/SO.

JSBSim owns motion. PhysX does not re-integrate lift, drag, thrust, or gravity; AzPhysics supplies scene queries and optional kinematic proxies only.

What problem it solves

Simulation and training products need a data-driven fixed-wing loop—cold start through landing—without inventing another aerodynamic solver inside the engine. FlightDynamics is intended to provide:

  • Per-aircraft FGFDMExec instances advanced on a fixed simulation clock (default 120 Hz);
  • Aircraft / engine / systems / init XML packages—no per-airframe C++ forks for ordinary models;
  • Stable control, state, and event APIs for C++, Lua, and Script Canvas;
  • Large-world absolute state on AZ::Vector3d / AZ::TransformD with render-origin-relative GPU transforms;
  • One-way consumption of Weather atmosphere, wind, and turbulence facts;
  • Automated regression for units, frames, ground contact, and typical flight cases—plus LGPL-compliant shipping requirements.

Planned first-release scope

In MVPDeferred
Fixed-wing piston and jet (shared architecture)Rotorcraft wake / VTOL / rockets / orbital
Cold start → taxi → takeoff → cruise → approach → landingFull avionics, ATC, weapons, damage, icing accumulation
Single-player authoritative FDMMultiplayer prediction / rollback
Weather + terrain + kinematic proxy integrationCFD, aeroelasticity, certification training devices
Dynamic JSBSim link + replaceable binaryStatic / LTO merge into a monolithic launcher

Realism is declared per aircraft asset (DeclaredRealismLevel). MVP acceptance targets R2 (procedural: mass/fuel, engines, FCS, trim, stall, gear, standard atmosphere and wind)—not FAA/EASA certification.

How it will work

Input / AI / Navigation3D expectations
FlightDynamics Gem ◄── Weather FlightBridge (facts only)
 ├─ FGFDMExec (120 Hz fixed steps)
 ├─ Axis / unit adapter (body · NED · ECEF ↔ Dawn +Y forward, +Z up)
 ├─ HighPrecisionTransform (absolute)
 └─ AzPhysics kinematic proxy + terrain / runway queries

Design rules:

  1. Render dt never enters FGFDMExec::Run() directly—only a fixed-step accumulator does.
  2. One adapter layer converts JSBSim frames/units to Dawn conventions.
  3. Weather writes environment; FlightDynamics never drives Weather.
  4. LGPL-2.1 compliance is a release prerequisite: dynamic link, notices, corresponding source offer, and EULA reverse-engineering exception for user-modified JSBSim.

Rollout stages (FD0–FD5)

StageIntent
FD0Version lock, dynamic-link probe, license / asset audit, upstream check cases
FD1Wrapper, clock, units/coordinates, headless harness
FD2Components, XML asset pipeline, Prefab, sample fixed-wing
FD3Weather, terrain, gear / runway friction, collision proxies
FD4Full-mission E2E under large-world / origin shift
FD5Performance, Windows/Linux packages, license and compliance checks
TopicRelationship
Weather (planned)WeatherFlightRequestBus atmosphere / wind / turbulence
Double-precision renderingAbsolute FDM state vs float render origin
Navigation3DRoute / attitude expectations → control adapter (not direct Transform writes)
PhysX VehicleGround vehicles only—not reused for flight FDM
Cesium 3D TilesOptional geospatial context for long-range visuals

Status and next steps

This chapter is a product preview. When FlightDynamics ships, expect Quick start (enable Gem, mount sample aircraft Prefab, map input), Registry / packaging notes, and debugging panels consistent with other user-guide chapters.


Copyright © 2026 DawnEngine. All rights reserved.

DawnEngine is a commercial 3D engine distributed under the DawnEngine end-user license agreement. Engine binaries and source are proprietary and are not covered by the licenses below.

Documentation only: the prose and templates on this site are a derivative work of Open 3D Engine (O3DE) documentation by the O3DE Contributors, used under CC BY 4.0 (documentation content), Apache 2.0 (site code), and the MIT license (inline code samples).

The open-source 3D engine that DawnEngine is built on top of is Open 3D Engine . DawnEngine is not affiliated with, endorsed by, or sponsored by The Linux Foundation or the O3DE project. “O3DE” and “Open 3D Engine” are trademarks of The Linux Foundation.