[C++] [Direct3D9] Sonnensystem darstellen
Verfasst: 21.05.2017, 14:10
Hallo.
Ich möchte das/unser Sonnensystem maßstabsgetreu dreidimensional darstellen.
1. Aufgrund eines bestehenden Projektes soll/muss das alles in C++ mit Direct3D9 programmiert werden.
2. Die Sonne und Planeten sollen maßstabsgetreu sein, also die Größe und Position der Himmelskörper.
3. Auf Texturen wird vorerst verzichtet, es reicht anfangs, wenn die Himmelskörper einfarbig sind (Sonne = Gelb, Erde = Blau, usw.).
4. Animationen, bzw. die Bewegung der Himmelskörper, sind auch vorerst nicht nötig.
5. Wenn möglich soll das Sonnensystem auf den Meter genau abgebildet sein.
Das erste Ziel ist einfach ein dreidimensionales statisches Sonnensystem, das man mit der Kamera frei angucken kann.
Main Plan:
1. Eine Funktion programmieren, die mir aufgrund von Parametern ein Model einer Kugel/Himmelskörpers erstellt.
2. Alle Himmelskörper als Model erstellen und in jedem Frame rendern (Brute Force).
Mögliche Ziele für die Zukunft:
1. Animation, bzw. korrekte Bewegung der Himmelskörper.
2. Texturen für die Himmelskörper.
3. Hintergrund (Sternenhimmel)
Für die aktuellen Ziele habe ich bereits recherchiert und programmiere gerade an den nötigen Funktionen.
Für die zukünftigen Ziele fehlen mir allerdings noch viele Informationen, bzw. Ideen, wie ich das vernünftig umsetzen kann.
1. Ich gehe davon aus, dass das Model eines Himmelskörpers nach der Erstellung konstant bleibt und die Position beim Rendern allein durch eine Matrix verändert wird.
2. Für die Optimierung sollte man die Himmelskörper nicht rendern, die nicht zu sehen sind, da würde mir irgendwas in Richtung Octree einfallen.
3. Beim Hintergrund bin ich komplett ahnungslos, vermutlich so ähnlich wie man bei Outdoor-Leveln den Horizont/Himmel rendert.
Sollte man vielleicht auch die Himmelskörper irgendwie weiter unterteilen. Wenn ich z.B. nah an die Sonne "fliege" und nur noch einen kleinen Ausschnitt von ihr sehen,
macht es ja eigentlich wenig Sinn, die gesamte Sonne zu rendern.
Ich möchte das/unser Sonnensystem maßstabsgetreu dreidimensional darstellen.
1. Aufgrund eines bestehenden Projektes soll/muss das alles in C++ mit Direct3D9 programmiert werden.
2. Die Sonne und Planeten sollen maßstabsgetreu sein, also die Größe und Position der Himmelskörper.
3. Auf Texturen wird vorerst verzichtet, es reicht anfangs, wenn die Himmelskörper einfarbig sind (Sonne = Gelb, Erde = Blau, usw.).
4. Animationen, bzw. die Bewegung der Himmelskörper, sind auch vorerst nicht nötig.
5. Wenn möglich soll das Sonnensystem auf den Meter genau abgebildet sein.
Das erste Ziel ist einfach ein dreidimensionales statisches Sonnensystem, das man mit der Kamera frei angucken kann.
Main Plan:
1. Eine Funktion programmieren, die mir aufgrund von Parametern ein Model einer Kugel/Himmelskörpers erstellt.
2. Alle Himmelskörper als Model erstellen und in jedem Frame rendern (Brute Force).
Mögliche Ziele für die Zukunft:
1. Animation, bzw. korrekte Bewegung der Himmelskörper.
2. Texturen für die Himmelskörper.
3. Hintergrund (Sternenhimmel)
Für die aktuellen Ziele habe ich bereits recherchiert und programmiere gerade an den nötigen Funktionen.
Für die zukünftigen Ziele fehlen mir allerdings noch viele Informationen, bzw. Ideen, wie ich das vernünftig umsetzen kann.
1. Ich gehe davon aus, dass das Model eines Himmelskörpers nach der Erstellung konstant bleibt und die Position beim Rendern allein durch eine Matrix verändert wird.
2. Für die Optimierung sollte man die Himmelskörper nicht rendern, die nicht zu sehen sind, da würde mir irgendwas in Richtung Octree einfallen.
3. Beim Hintergrund bin ich komplett ahnungslos, vermutlich so ähnlich wie man bei Outdoor-Leveln den Horizont/Himmel rendert.
Sollte man vielleicht auch die Himmelskörper irgendwie weiter unterteilen. Wenn ich z.B. nah an die Sonne "fliege" und nur noch einen kleinen Ausschnitt von ihr sehen,
macht es ja eigentlich wenig Sinn, die gesamte Sonne zu rendern.