Werte der Kamera/des Viewfrustums ermitteln

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Skabus

Betreff: Werte der Kamera/des Viewfrustums ermitteln

BeitragDi, Jul 06, 2010 15:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

Kann mir jemand sagen wie ich in BlitzMax an die Werte der Kamera und der Projektion komme?

Ich benötige:

Field of View(FOV)

ratio(Seitenverhältnis)

Punkt auf den die Kamera aktuell schaut(glLookAt)


Ich finde zumindest nirgends einen Eintrag/Befehl/Funktion die mir diese Werte geben...

Ich brauch das um eine eigene Funktion zum Frustum Culling zu schreiben...


Danke für eure Hilfe^^

MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu

mpmxyz

BeitragDi, Jul 06, 2010 15:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Man kann indirekt daran kommen.
Als erstes braucht man die aktuelle Projektionsmatrix:
http://wiki.delphigl.com/index...ION_MATRIX
(ein Array mit 16 Einträgen an den Pointer-Parameter angeben)
Auf dieser Seite steht, wie dort welche Werte gesetzt sind:
http://wiki.delphigl.com/index.php/gluPerspective
Wichtig sind hier die Werte (1,1) und (2,2). (mathematische Indizes: ab 1)
(Das Speicherformat der Matrizen wird hier erklärt: http://wiki.delphigl.com/index...schreibung)
Für den "Field of View" muss man diese Gleichung lösen:
Code: [AUSKLAPPEN]
(2,2) = cotangens(fovy/2)
=>
1/(2,2)=tan(fovy/2)
=>
fovy=atan(1/(2,2))*2

Das Seitenverhältnis solltest du selbst herausfinden können. Wink
Eine Sache aber noch:
Es gibt in OpenGL keine Kamera!
Daher kann sie auch nicht in irgendeine Richtung schauen.
Falls dir einfach nur die Funktion für Backface Culling fehlt:
http://wiki.delphigl.com/index.php/glCullFace
("glEnable GL_CULL_FACE" nicht vergessen!)
mfG
mpmxyz
Edit zum Edit: Hast du gemerkt, dass man bei glGet noch den Typ an den Funktionsnamen hängen muss?
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer
  • Zuletzt bearbeitet von mpmxyz am Di, Jul 06, 2010 15:53, insgesamt einmal bearbeitet

Skabus

BeitragDi, Jul 06, 2010 15:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Ach ja, das kommt davon wenn man das nach dem Aufstehen macht XD

Klar,das Aspect rartio sollte eigtl. nur Höhe/Breite des Viewports sein?

Naja ich arbeite ja mit miniB3D, da wurde eine eigene Kameraklasse geschrieben...

Werd mal sehen, ob ich das noch gelöst krieg^^


Für alles andere bedanke ich mich sehr =)

MfG Ska

Edit: Ja und es ist peinlich das ich ständig so dumme fragen stelle^^"
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group