Artemis II
Vom 1. bis 11. April 2026 flog die Orion-Kapsel Integrity als erste bemannte Mondmission seit Apollo 17 in 1972 um den Mond. Mit 406 771 km war die Crew weiter von der Erde entfernt als je ein Mensch zuvor. Das ikonische Bild der Mission zeigt die Erde hinter dem Mondrand versinkend — ein Erduntergang, fotografiert auf dem Vorbeiflug. In diesem Projekt erweitern Sie die Erd-Simulation aus dem Tutorial zu einer Nachbildung dieser Mission: Erde, Mond und Integrity im korrekten Größen- und Abstandsverhältnis, eine sichtbare Flugbahn durch den Raum, eine zoombare Kamera mit umschaltbaren Zielen — und am Ende positionieren Sie sich an genau der Stelle, von der aus Wiseman dieses Foto aufgenommen hat.

Image Credit: NASA
Ziel
- Erde und Mond mit realistischen Texturen und korrektem Größen-/Abstandsverhältnis (Mond ≈ 27 % Erdradius bei ≈ 30 Erddurchmessern Distanz)
- Orion-Kapsel auf einer parametrischen Free-Return-Bahn, die nah am Mond vorbeischwingt
- Die Flugbahn als sichtbare Linie im Raum — inklusive des bereits zurückgelegten und des bevorstehenden Streckenabschnitts
- Kameranavigation per Tastendruck:
1Orion,2Erde,3Mond mit fließenden Übergängen; zoombar um das aktuelle Ziel - Zeitsteuerung, um zu vordefinierten Punkten der Mission zu springen
- Erde mit der vollen visuellen Behandlung aus dem Tutorial: Atmosphäre, Nachtlichter, Ozeanspiegelungen
- Nachstellen ikonischer Missionsfotos (Earthrise-Moment, Vollerde aus Mondnähe)
Bauabschnitt 1 — Erde, Mond und Orion im Raum
Empfohlener Zeitpunkt: nach Kapitel 4
Erstellen Sie eine Datenstruktur (z.B. ein struct), die einen Himmelskörper oder ein Raumschiff beschreibt: Name, Position und relative Größe. Platzieren Sie Erde, Mond und Orion-Kapsel als farbige Quads entlang der Erde–Mond-Achse. Die besondere Herausforderung liegt im Maßstab: Die Far Plane muss Entfernungen von über 400 000 km abdecken, während die Kapsel auf mittleren Zoomstufen noch sichtbar bleiben soll. Wählen Sie sinnvolle Einheiten (z. B. 1 Einheit = 1 000 km) und passen Sie Initialdistanz sowie Zoom-Grenzen der Kamera entsprechend an — gerade die Tiefenpräzision bei sehr großen Near/Far-Verhältnissen ist ein klassisches Problem der Computergrafik.
Vertiefte Konzepte: Transformationsmatrizen (Translation), Kameraparameter, perspektivische Projektion (Near/Far Plane, Tiefenpräzision bei großen Entfernungen), eigene Datenstrukturen in C++
Bauabschnitt 2 — Prozedurale Himmelskörper
Empfohlener Zeitpunkt: nach Kapitel 5
Ersetzen Sie die Platzhalter durch prozedurale Geometrie. Erde und Mond werden als Sphere-Instanzen mit korrektem Radiusverhältnis erzeugt. Die Orion-Kapsel kann aus einfachen Primitiven zusammengesetzt werden — ein Kegel als Kapselkopf, ein Zylinder als Service-Modul — beides über addMesh() aneinandergehängt. Aktivieren Sie Backface Culling. Beachten Sie: Soll die Kapsel auf mittleren Zoomstufen sichtbar bleiben, ohne ihre tatsächliche Größe darzustellen, muss sie künstlich überproportional groß skaliert werden. Das ist ein bewusster visueller Kompromiss — notieren Sie ihn in Ihrem Entwurf.
Vertiefte Konzepte: Prozedurale Geometrie (Sphere-Klasse), Vererbung (Mesh als Basisklasse), Scene Graph, std::shared_ptr, Backface Culling, visuelle Skalierungs-Cheats
Bauabschnitt 3 — Die Sonne als Lichtquelle
Empfohlener Zeitpunkt: nach Kapitel 6
Positionieren Sie eine Lichtquelle aus der Richtung der Sonne relativ zum Erde-Mond-System. Da die Sonne rund 150 Mio. km entfernt ist, sind ihre Strahlen praktisch parallel — ein gerichtetes Licht (w = 0) ist die korrekte Wahl. Die Sonnenrichtung entspricht der Ekliptik zum Missionsdatum und bleibt über die rund 10 Tage Flugzeit nahezu konstant. Weisen Sie Erde und Mond individuelle Materialien zu: Die Ozeane geben der Erde eine schwache spiegelnde Reflexion; der Mondboden aus Regolith ist hingegen vollständig diffus und reflektiert nur etwa 12 % des einfallenden Lichts — der Mond sieht im Weltraum deutlich dunkler aus, als der helle Vollmond am Nachthimmel vermuten lässt. Aktivieren Sie den Tiefenpuffer.
Vertiefte Konzepte: Phong-Beleuchtungsmodell (ambient, diffus, spekular), Materialparameter, Normalen, Punktlicht vs. gerichtetes Licht (w-Komponente), Tiefenpuffer, Albedo
Bauabschnitt 4 — Texturen
Empfohlener Zeitpunkt: nach Kapitel 7
Laden Sie die Erdtextur aus dem Tutorial und suchen Sie eine passende Mondtextur — z. B. aus dem NASA-Bildarchiv. Der Mond ist gebunden rotiert (Tidal Locking): Er zeigt der Erde immer dieselbe Hemisphäre. Drehen Sie die Mond-Kugel so, dass die Vorderseite mit den charakteristischen dunklen Meeren (Maria) zur Erde weist — das ist astronomisch korrekt und für die späteren Foto-Nachstellungen wichtig. Wählen Sie Wrapping, Filtering und Mipmaps bewusst.
Vertiefte Konzepte: Texturladung mit stb_image, UV-Koordinaten auf Kugeln, Texturparameter (Wrapping, Filtering), Mipmaps, Ressourcenverwaltung, gebundene Rotation
Bauabschnitt 5 — Flugbahn, Animation und Zeitsteuerung
Empfohlener Zeitpunkt: nach Kapitel 8
Bringen Sie das System in Bewegung. Die Erde rotiert in 24 h um die eigene Achse (Achsneigung wie im Tutorial); der Mond umkreist die Erde auf einer vereinfachten Kreisbahn mit einer siderischen Periode von 27,3 Tagen. Die Orion-Bahn modellieren Sie als parametrische Free-Return-Kurve: eine Figur-8, die von einer niedrigen Erdumlaufbahn über die translunare Injektion (TLI) hinter den Mond schwingt und auf derselben Bahn zurück zur Erde führt. Die Kurve kann als Hermite- oder Bezier-Pfad mit wenigen Stützpunkten aufgebaut werden — die exakten Kepler-Gleichungen sind nicht verlangt. Zeichnen Sie die gesamte Flugbahn als GL_LINE_STRIP mit vielen gesampleten Punkten auf der Kurve. Eine Zeitsteuerung — Pause, Beschleunigen, Sprung zu einem Missionsereignis — macht das Nachstellen der Fotos im nächsten Abschnitt erst möglich. Gesamte Bewegungslogik in die Simulation-Klasse.
Vertiefte Konzepte: Zeitbasierte Animation, parametrische Kurven (Hermite/Bezier), Linien-Primitive (GL_LINE_STRIP), Kreisbahnen mit Rotationsmatrizen, Simulation-Klasse, Trennung von Simulations- und Renderlogik, Zeitskalierung
Bauabschnitt 6 — Sternenhimmel und Kameranavigation
Empfohlener Zeitpunkt: nach Kapitel 9
Fügen Sie eine Sternen-Skybox als Hintergrund hinzu — aus dem Weltraum ist die Milchstraße deutlich sichtbar, eine entsprechend detaillierte Textur lohnt sich. Die Sonne erhält ein emissives Material und wird als selbstleuchtende, sehr weit entfernte Kugel in der background-Szene platziert; sie bewegt sich nicht mit der Kamera mit (Fixed View Matrix, Depth Isolation — wie im Tutorial).
Implementieren Sie die Zielnavigation: 1 fokussiert Orion (Standard), 2 die Erde, 3 den Mond. Der Wechsel interpoliert sanft zwischen den Zielen. Der Zoom wirkt stets auf das aktive Ziel — so kann Orion aus nächster Nähe betrachtet werden, während die Erde aus der Ferne als vollständige Scheibe sichtbar bleibt.
Nach diesem Bauabschnitt ist die Missionsvisualisierung vollständig navigierbar.
Vertiefte Konzepte: Cube Mapping, Skybox, Fixed View Matrix, Depth Isolation, emissive Materialien, Kamera-Interpolation, Key-Callbacks
Bauabschnitt 7 — Missionsfotos und Feinschliff
Empfohlener Zeitpunkt: nach Kapitel 10
Die Erde erhält als Highlight-Objekt die volle visuelle Behandlung aus Kapitel 10: Atmosphärenglow, Nachtlichter über den Kontinenten, Ozeanspiegelung durch die Specular Map — exakt wie im Tutorial, nur jetzt vor dem Missionshintergrund.
Als Abschluss-Aufgabe stellen Sie ikonische Fotos der Mission nach. Springen Sie mit der Zeitsteuerung zum richtigen Missionszeitpunkt und positionieren Sie die Kamera manuell, um den Earthrise-Moment einzufangen (Erde über dem Mondhorizont) oder die volle Erde nach dem TLI burn. Darüber hinaus sind eigene Ideen gefragt: ein detaillierteres Orion-Modell aus mehreren Komponenten, eine Triebwerksflamme beim TLI mit additivem Blending, ein HUD mit Missionszeit und aktueller Mondentfernung. Es gibt kein vorgegebenes Ziel mehr — nur noch den eigenen Anspruch.
Vertiefte Konzepte: Multi-Pass Blending, Emission Maps, Specular Maps, Blending-Modi, Kompositions-Ästhetik (Bildnachstellung)