Polygonkollision mit Linien
-
Hi,
habe folgendes Problem: Fuer eine wissenschaftliche Anwendung habe ich in Direct3D (VC++) eine Erdkugel erstellt. Klappt auch wunderbar. Aus dem Erdmittelpunkt sollen jetzt Linien nach aussen gezeichnet werden (per LINESTRIP/LINELIST).
Das Problem: Die Reihenfolge des Renderns. Rendere ich die Erdkugel NACH den Linien, sehe ich diese nicht, wenn sie sich vor der Erde befinden (eigentlich ist die Linie ja immer UEBER der Erde und IN der Erde - sie ragt ja aus dem Mittelpunkt raus). Mache ich es andersrum, sehe ich die gesamte Linie (auch innerhalb der Erde).
Wie kann ich Direct3D also mitteilen, dass er die Linie INNERHALB der Erde nicht zeichnen soll? Ist das ueberhaupt moeglich? Oder muss ich die Linie immer kompliziert umrechnen lassen, dass sie auf der Erdoberflaeche endet? Naja, so kompliziert waere das ja nicht, aber in meinem Fall ist das andere sinnvoller (in Bezug auf andere Erweiterungen).
Hoffe, ihr koennt mir helfen,
viele gruesse,
bjoernPS: Hab ich noch vergessen:
Da ich mit den Linien auch Umlaufbahnen zeichnen will (die ja vor und hinter der Erde sind), muss ich Direct3D irgendwie sagen koennen, dass die Erde inmitten dieser linestrips liegt...
-
stichwort: Z-Buffer
DirectX macht das auto, falls du den besagten Buffer aktiviert hast
-
Erstmal: DEvent hat recht.
Aber sorry, du schreibst "eine wissenschaftliche Anwendung" und schaffst es nicht den Schnitt einer Kugel mit einer Geraden zu berechnen?
Bye, TGGC (Der Held lebt!)