Gibt es eine Möglichkeit den Wert vom aktuellen sichbaren Fenster abzufragen? Genauer: Ich brauche den aktuellen X-Left vom Fenster.
Aufbau: Benutze eine 2D Ortho Darstellung und verschiebe (glTranslatef) und vergrößere (glScalef) meine "Landschaft". Wie kann ich herausfinden, was gerade angezeigt wird?
Beispiel: Habe einen Panel auf dem ich Render. Habe eine "Landschaft" von z.B. x=1000. Diese wird auf dem Panel angezeigt. Jetzt vergrößere ich mit faktor 2, also wird 0..500 angezeigt. Jetzt verschiebe ich um 200, also wird von 200 bis 700 angezeigt.
Gibt es eine Möglichkeit diese Anzeigegrößen zu holen (Return sollte 200/700 sein)?
Registriert: Do Mär 05, 2009 20:17 Beiträge: 284 Wohnort: Kaiserslautern
huhu,
ich hoffe mal ich erzähle jetzt keinen Unsinn (selbst Anfänger)... Aber geht das vielleicht auch mit glGetIntegerv(GL_VIEWPORT, @ Viewport[0]); wie im Beispiel eines Hintergrundquads?
Registriert: Di Apr 29, 2008 18:56 Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,
@Wölfchen: Nein, das geht nich. Der Vieport gibt nur an in welchem bereich gerendert wird. Der änder sich bei einer Translation nicht. @MASU: Dazu könntest du dir mit glGet die ModelViewMatrix auslesen. Da stehen die aktuellen Translationen und Rotationen drin:
Code:
var Matrix: array[0..3, 0..3] of glFloat; glGetFloatv(GL_MODELVIEW_MATRIX, @Matrix[0,0]);
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
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.