Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 16:34

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 16 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Blickpunkt herausfinden
BeitragVerfasst: Mi Feb 01, 2006 14:01 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Apr 25, 2005 17:51
Beiträge: 464
Ne Kurze Frage: Wie bekomme aus OpenGL den aktuell gesetzen Blickpunkt heraus? Könnte den zwar auch per Parameter übergeben lassen, ich hätts aber lieber direkt aus OpenGL ausgelesen

_________________
__________
"C++ is the best language for garbage collection principally because it creates less garbage." Bjarne Stroustrup


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 01, 2006 14:54 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 16, 2003 15:20
Beiträge: 198
Ich vermute mal du meinst die "Kameraposition".
Diese kannst du nur über die ModelView-Matrix erfahren (s.Wiki : http://wiki.delphigl.com/index.php/Matrix#GL_MODELVIEW).
Um den da Auszulesen müsstest du dir erst die Matrix mit glget übergeben lassen, und ihn dann aus dieser auslesen,
aber wenn du ihn als Parameter übergeben kannst, müsste das (wenn ich mich nicht sehr irre) schneller und einfacher sein.

_________________
Bevor du definierst, was etwas ist, versichere dich seiner Existenz.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 01, 2006 15:20 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Apr 25, 2005 17:51
Beiträge: 464
Wäre das dann nicht die GL_PROJECTION-Matrix?
Und wie bekomme ich dann die Kamerapostion raus?

_________________
__________
"C++ is the best language for garbage collection principally because it creates less garbage." Bjarne Stroustrup


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 01, 2006 15:35 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 16, 2003 15:20
Beiträge: 198
1.Nein, die ist nur für Blickwinkel, Near-und Farclipingplane usw. zuständig, bei OGL wird nie die Kamera verschoben, sondern immer nur die Objekte, und Objektverschiebungen werden mit der Modelview-Matrix durchgeführt [jetzt wo dus sagst, war wirklich ein wenig seltsam formuliert, hab das mal geändert].
2. lies dir mal das hier durch, da mit 'nen paar mathematischen Knifen sollte es möglich sein, da sowohl Kameraposition als auch Kamera-blickwinkel rauszuholen (schätze mal den brauchst du früher oder später auch): http://www.delphigl.com/script/do_show. ... 1&action=2

_________________
Bevor du definierst, was etwas ist, versichere dich seiner Existenz.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 01, 2006 17:25 
Offline
DGL Member

Registriert: Sa Jan 22, 2005 21:10
Beiträge: 225
Die Kameraposition steht in der Modelview-Matrix in der ganz rechten Spalte.

_________________
[18:30] tomok: so wie ich das sehe : alles. was nich was anderes ist als nen Essay ist nen Essay

hi, i'm a signature viruz, plz set me as your signature and help me spread :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 01, 2006 18:13 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Apr 25, 2005 17:51
Beiträge: 464
Tomok hat geschrieben:
1.Nein, die ist nur für Blickwinkel, Near-und Farclipingplane usw. zuständig, bei OGL wird nie die Kamera verschoben, sondern immer nur die Objekte, und Objektverschiebungen werden mit der Modelview-Matrix durchgeführt [jetzt wo dus sagst, war wirklich ein wenig seltsam formuliert, hab das mal geändert].


:?: Objektverschiebung ist doch nicht Blickpunkt ändern :?: wenn ich mich gluPerspective arbeite setzt der doch die Perpektiv-Matrix, zumidnest laut einem Tut im Wiki

_________________
__________
"C++ is the best language for garbage collection principally because it creates less garbage." Bjarne Stroustrup


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 01, 2006 18:31 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Apr 25, 2005 17:51
Beiträge: 464
AL hat geschrieben:
Die Kameraposition steht in der Modelview-Matrix in der ganz rechten Spalte.


Hm nee stimmt bei mir nicht überein, da ist nicht der von mir gesetzte Blickpunkt drinnen.

_________________
__________
"C++ is the best language for garbage collection principally because it creates less garbage." Bjarne Stroustrup


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 01, 2006 22:33 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Zeig mal kurz deinen Rendercode. Was machst du mit der GL_PROJECTION matrix? Du Translatest doch da hoffentlich nicht rum oder? Es gibt GL-Funktionen die dann recht seltsame Ergebnisse liefern...

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 01, 2006 22:37 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 26, 2002 22:12
Beiträge: 259
Wohnort: Dresden
Es macht keinen Unterschied ob du die „Kamera“ drehst oder ob du die Welt um dich herum genau engegengesetzt drehst. Das Resultat ist das selbe. OpenGL kennt auch gar keine Kamera im eigentlichen Sinne.

Wie bereits gesagt wurde findest du die Translationsinformationen in der ganz „rechten“ Spalte deiner Modelviewmatrix.
Die Projektionsmatrix ist nicht dafür gedacht Objekte zu verschieben. Im Prinzip enthält diese lediglich Informationen zur Projektion selbst. D.h. z.B. Ob Objekte kleiner werden, wenn sie weiter vom Betrachter entfernt sind usw.

_________________
Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jederman ist überzeugt, dass er genug davon habe.
Rene Descartes, frz. Mathematiker u. Philosoph, 1596-1650


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 02, 2006 10:20 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Apr 25, 2005 17:51
Beiträge: 464
Flash hat geschrieben:
Zeig mal kurz deinen Rendercode. Was machst du mit der GL_PROJECTION matrix? Du Translatest doch da hoffentlich nicht rum oder? Es gibt GL-Funktionen die dann recht seltsame Ergebnisse liefern...


Ich benutze nur glOrhto oder glFrustum in der Projektionsmatrix. mehr nicht.
gluLooktAt dann in der Modellview-Matrix, aber in der Modellviewmatrix steht nicht der Blickpunkt drinne, den ich vorher mit gluLookAt gesetzt habe ?!?!

_________________
__________
"C++ is the best language for garbage collection principally because it creates less garbage." Bjarne Stroustrup


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 02, 2006 14:56 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Doch der sollte da drinnen stehen. (Eventuell steht da ein abgewandelter wert, wenn du nicht auf 0,0,0 guckst) Trag mal als Blickpunkt den Ursprung ein, und guck dann mal nach was in der Matrix steht.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 03, 2006 13:52 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Apr 25, 2005 17:51
Beiträge: 464
Flash hat geschrieben:
Doch der sollte da drinnen stehen. (Eventuell steht da ein abgewandelter wert, wenn du nicht auf 0,0,0 guckst) Trag mal als Blickpunkt den Ursprung ein, und guck dann mal nach was in der Matrix steht.


Das bringt mir nix, wenn ich nur auf 0 0 0 gucken kann, Was muss ich den rechnen lassen, damit ich aus den Matrixwerten den Blickpunkt bekommen, wenn ich nicht auf den Nullpunkt schaue?

_________________
__________
"C++ is the best language for garbage collection principally because it creates less garbage." Bjarne Stroustrup


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 03, 2006 15:52 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 26, 2002 22:12
Beiträge: 259
Wohnort: Dresden
Langsam geht mir ein Licht auf. Du meinst nicht die Kameraposition, sondern denn Blickpunkt, d.h. Den Zielpunkt auf den die Kamera blickt. Dieser ist nicht genau definiert, denn es gibt ja unendlich viele. All diese liegen auf einer Blickgeraden. Es ist egal ob du vom Ursprung auf den Punkt (0, 0, 1) oder (0, 0, 2) blickst, denn die Ausrichtung der Kamera ist für beide Punkte identisch. Beide Punkte liegen jedoch auf der Geraden mit dem Richtungsvektor (0, 0, 1) und diesen kannst du aus der Modelviewmatrix extrahieren. Dieser Blickvektor l liegt wenn ich mich nicht täusche in der dritten Zeile deiner Modelviewmatrix. Wenn du exakt den Punkt suchst, den du vorher mit gluLookAt gesetzt hast solltest du uns vielleicht mitteilen, was du genau machen möchtest. Oder du speicherst diesen Punkt einfach zwischen.

_________________
Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jederman ist überzeugt, dass er genug davon habe.
Rene Descartes, frz. Mathematiker u. Philosoph, 1596-1650


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 03, 2006 17:52 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Apr 25, 2005 17:51
Beiträge: 464
Magellan hat geschrieben:
Langsam geht mir ein Licht auf. Du meinst nicht die Kameraposition, sondern denn Blickpunkt, d.h. Den Zielpunkt auf den die Kamera blickt. Dieser ist nicht genau definiert, denn es gibt ja unendlich viele. All diese liegen auf einer Blickgeraden. Es ist egal ob du vom Ursprung auf den Punkt (0, 0, 1) oder (0, 0, 2) blickst, denn die Ausrichtung der Kamera ist für beide Punkte identisch. Beide Punkte liegen jedoch auf der Geraden mit dem Richtungsvektor (0, 0, 1) und diesen kannst du aus der Modelviewmatrix extrahieren. Dieser Blickvektor l liegt wenn ich mich nicht täusche in der dritten Zeile deiner Modelviewmatrix. Wenn du exakt den Punkt suchst, den du vorher mit gluLookAt gesetzt hast solltest du uns vielleicht mitteilen, was du genau machen möchtest. Oder du speicherst diesen Punkt einfach zwischen.


Doch ich meine die Kameraposition, da wo der Betrachter "sitzt". ICh kenn das aks Blickpunkt, weil Ich von dort ja sozusagen auf die Szene Blicke.

_________________
__________
"C++ is the best language for garbage collection principally because it creates less garbage." Bjarne Stroustrup


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Feb 04, 2006 16:27 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Mit gluLookAt gibst du ja zwei positionen an. Dort wo mdu bist, und dort wo du hinguckst. Das eine ist die Position, das andere der Blickpunkt.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 16 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 15 Queries | GZIP : On ]