Ich rendere die gleiche Szene in zwei Panels (das klappt auch prima): das eine Panel zeigt immer die ganze Zsene und das andere soll einen Ausschnitt präsentieren. soweit sogut aber jetzt will ich, daß der Benutzer in dem ersten Panel ein Fokusrechteck ziehen kann (klappt auch schon) und der selektierte Bereich dann im anderen Panel angezeigt wird.
jetzt das Problem: ein Fokusrechteck beschränkt die Szene nur in zwei Richtungen, die Begrenzungen für die Dritte Raumrichtung fehlt mir. Diese brauch ich aber für die Abstandsberechnung des gluLookat. Wenn ich hier den Maximalwert meiner Szene nehme werd ich nie ganau den selektierten Bereich im anderen Panel anzeigen können.
Hat jemand eine Idee, wie ich die Ausmaße meiner Selektierung in der dritten Richtung (entspricht immer der Blickrichtung der Kamera) berechnen kann?
_________________ Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.
Das ist ja genau das gleiche wie bei der Selektion. Dort wird das Bild auch auf das Auswahlrechteck beschränkt. Daher das zweite Bild mit ganz normalen Einstellungen rendern, nur wie bei der Selektion gluPickMatrix anwenden.
nee dann würde ja nur ein Bereich gezeichnet werden und der Rest vom Panel wäre leer. Ich will aber in den ausgewählten Bereich hineinzoomen, d.h. den Bereich so strecken, dass er das zweite panel voll ausfüllt.
_________________ Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.
Registriert: Di Dez 02, 2003 12:47 Beiträge: 300 Wohnort: Marburg
Wenn du bei der Abstandsberechnung etwa die Höhenwerte der Flächen nimmst, auf denen dein Viereck ist (Etwa den Mittelwert der Höhen bei den Eckpunkten des Vierecks oder so) müsste das doch so in etwa hinkommen.
Aber ist natürlich höchst suboptimal (=S%$&§%e)
Ein echter Zoom wäre ja auch: Die Position der Camera unverändert zu lassen, ihren Fokus auf den Mittelpunkt des Vierecks zu drehen und dann den Kamerawinkel entsprechend zu verkleinern (Wie mit nem Snipergewehr mit Zoom)... Dürfte rechnerisch natürlich etwas komplexer werden.
_________________ Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de
Das geht auch net, weil: die Kamera kann nur lesend auf den Öffnungswinkel der Perspektive zugreifen (is Absicht, da sonst jeder den Winkel ändern könnte).
_________________ Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Dann deklariere eine property die nur lesend auf die Daten zugreifen kann. Die Property is dann öffentlich und trotzdem kann dir niemand an den Daten rumschreiben.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
nee dann würde ja nur ein Bereich gezeichnet werden und der Rest vom Panel wäre leer. Ich will aber in den ausgewählten Bereich hineinzoomen, d.h. den Bereich so strecken, dass er das zweite panel voll ausfüllt.
Nein, das entsprechende Bild füllt den ganzen Viewport aus. Genau wie bei der normalen OpenGL Selektion zoomt gluPickMatrix das Bildrechteck auf den ganzen Viewport, und du kannst die Daten nun rendern, anstatt dir nur zurückliefern zu lassen, welche Polygon beim etwaigen Zeichnen im Viewport liegen würden.
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.