--- id: wiki-2026-0508-real-time-engine-rte title: Real-Time Engine (RTE) category: 10_Wiki/Topics status: verified canonical_id: self aliases: [RTE, Real-Time Game Engine, Real-Time Rendering Engine] duplicate_of: none source_trust_level: A confidence_score: 0.9 verification_status: applied tags: [gamedev, rendering, engine, real-time] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: cpp framework: unreal-unity-bevy --- # Real-Time Engine (RTE) ## 매 한 줄 > **"매 16ms (60fps) / 8ms (120fps) budget 매 frame 매 모든 sim+render"**. Unreal 5.5 / Unity 6 / Godot 4 / Bevy / O3DE — 매 2026 stack. 매 Nanite + Lumen + ML upscaling (DLSS 4, FSR 4) 매 default. ## 매 핵심 ### 매 frame anatomy - **Input** (~1ms): controller, mouse, network input. - **Game tick** (1-3ms): AI, physics, gameplay scripts. - **Animation** (1-2ms): skeletal blend, IK. - **Render prep** (1-2ms): culling, batching. - **GPU render** (5-10ms): shadows, GBuffer, lighting, post. - **Present**: vsync / VRR. ### 매 subsystems - **Renderer**: forward / deferred / clustered; raytracing + rasterization hybrid. - **Physics**: PhysX, Jolt, Havok, Bullet — rigid + soft + cloth. - **Audio**: Wwise, FMOD, MetaSound — spatial, ducking. - **Networking**: replication, prediction, rollback netcode (GGPO). - **Animation**: state machines, ML motion (Learned Motion Matching). - **Streaming**: World Partition (UE5), addressables (Unity). ### 매 응용 1. AAA games (Fortnite UE5, Genshin Impact custom). 2. Cinematic / virtual production (LED wall, ICVFX). 3. Digital twins / sim (NVIDIA Omniverse). 4. ArchViz real-time (Twinmotion, Enscape). 5. Robotics sim (Isaac Sim, Unity ML-Agents). ## 💻 패턴 ### Game loop (fixed + variable) ```cpp double accumulator = 0.0; constexpr double dt = 1.0 / 60.0; while (running) { double frameTime = std::min(clock.tick(), 0.25); accumulator += frameTime; while (accumulator >= dt) { physics.step(dt); // fixed accumulator -= dt; } double alpha = accumulator / dt; render(state.interpolate(alpha)); // variable } ``` ### ECS — Bevy (Rust) ```rust use bevy::prelude::*; #[derive(Component)] struct Velocity(Vec3); #[derive(Component)] struct Position(Vec3); fn movement(mut q: Query<(&mut Position, &Velocity)>, time: Res