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

Aktuelle Zeit: So Jul 27, 2025 05:21

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 49 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 12, 2004 21:24 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Das ist auch falsch. Wundert mich halt nur das du bei gluUnProject die Koordinaten richtig angibst, aber gei glReadPixels komischerweise nicht.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 12, 2004 21:29 
Offline
DGL Member

Registriert: Fr Mär 05, 2004 19:15
Beiträge: 118
Wohnort: Lemgo
Ähm...bin ich doof? Oder habe ich einfach nur ein Blackout?
Ich komme nicht drauf...lol mom ich überlege mal kräftig...

EDIT: Keine Ahnung! Sagt es mir doch einfach. Bzw. Den Code dafür!!

_________________
irc.euirc.net _> #delphi-hilfe


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 12, 2004 22:37 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Code:
  1. glReadPixels(X,Y,1,1, GL_DEPTH_COMPONENT, GL_FLOAT, @pz);


Code:
  1. gluUnProject(X,Viewport[3] - Y - 1,pz,ModelView,Projection,Viewport,@pX,@pY,@pZ);


Ich hoffe mal das es jetzt klar wird. Ein wenig Eigenitiative sollte schon sein. Und ich hab doch oben gesagt das der Ursprung des 2D-Koordinatensystems bei OpenGL unten/link liegt, was du bei gluUnProject eigenartigerweise auch korrekt gemacht hast. (Oder hast du da einfach C&P gemacht?)

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 12, 2004 22:43 
Offline
DGL Member

Registriert: Fr Mär 05, 2004 19:15
Beiträge: 118
Wohnort: Lemgo
Son of Satan hat geschrieben:
Code:
  1. glReadPixels(X,Y,1,1, GL_DEPTH_COMPONENT, GL_FLOAT, @pz);


Code:
  1. gluUnProject(X,Viewport[3] - Y - 1,pz,ModelView,Projection,Viewport,@pX,@pY,@pZ);


Ich hoffe mal das es jetzt klar wird. Ein wenig Eigenitiative sollte schon sein. Und ich hab doch oben gesagt das der Ursprung des 2D-Koordinatensystems bei OpenGL unten/link liegt, was du bei gluUnProject eigenartigerweise auch korrekt gemacht hast. (Oder hast du da einfach C&P gemacht?)


Natürlich habe ich erst C&P gemacht! Erstmal soll das Funktionieren das umrechnen der Koordinaten. Danach lerne ich den Abschnitt und schreibe ihn neu so mache ich das immer am anfang :) Also du meinst das ich bei glReadPixels bei y das angeben muss: "Viewport[3] - Y - 1"? Wenn ja, dass funktioniert auch nicht.

_________________
irc.euirc.net _> #delphi-hilfe


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 12, 2004 22:49 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Dann hast du halt sonstwo noch nen Fehler, denn das was ich eben angesprochen habe muss schon so sein. Am besten lässt du dir irgendwo mal die Koordinaten ausgeben die dir gluUnproject zurückgibt ausgeben, denn dan siehst du ob dort der Fehler liegt. Ansonsten rate ich dir nochmal dich zum Thema Unterschied Modelansichts- Projektionsmatrix schlau zu machen, denn letztere ist auch sehr wichtig, da gluUnprojekt diese benötigt.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 12, 2004 22:52 
Offline
DGL Member

Registriert: Fr Mär 05, 2004 19:15
Beiträge: 118
Wohnort: Lemgo
Hm... Zitat "2D-Koordinatensystems". 2D? Ich habe das doch alles in 3D....Grr.......Ich komme durcheinander.

_________________
irc.euirc.net _> #delphi-hilfe


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 12, 2004 22:53 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Mauskoordinaten hast du doch in 2D. Und das 2D-Koordinatensystem hat in Windows seinen Ursprung oben/links, unter OpenGL unten/links. Das hat aber nix mit deiner 3D-Szene zu tun.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 12, 2004 23:00 
Offline
DGL Member

Registriert: Fr Mär 05, 2004 19:15
Beiträge: 118
Wohnort: Lemgo
Achso! Oh man ich habe erlich gesagt kein Bock mehr!! Nur wegen so ein scheiß Maus-Koordinaten so ein aufwand. Dafür müßte es mal ein Tutorial geben. Ist das normal? Bei so ein scheiß bleibt man hängen. Gibt es nirgendswo ein beispiel was man sich downloaden kann oder so?

_________________
irc.euirc.net _> #delphi-hilfe


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 12, 2004 23:25 
Offline
DGL Member

Registriert: Fr Mär 05, 2004 19:15
Beiträge: 118
Wohnort: Lemgo
Ich habe mal die Werte ausgelesen, die ich zurück bekomme. Bei X bekomme ich immer den Wert: -20,0141326620814 bei Y: 10,0038314387364 und bei Z: 69,9942780248352. Fast immer das gleiche. Nur hinter dem , ändert sich immer etwas wenn ich woanders hinklicke. Ich weis ja nicht ob das was weiter hilft?

_________________
irc.euirc.net _> #delphi-hilfe


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 12, 2004 23:27 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Welchen Datentyp haben denn pX,pY und pZ? Kanns sein das du da nur einfache Präzision verwendest? Da muss nämlichen auf jedenfall Double genommen werden, da gluUnproject drei Double-Werte als Ergebnis liefert, und wenn du da einfach nur drei Singles übergibst, dann wird das nicht funktionieren.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 12, 2004 23:28 
Offline
DGL Member

Registriert: Fr Mär 05, 2004 19:15
Beiträge: 118
Wohnort: Lemgo
Ja, die haben Double. Bzw. TGLDouble. Ich habe mal Float genommen. Da funktioniert es schon besser aber immer noch nicht so ganz. aber das ist glaube einstellbar.

_________________
irc.euirc.net _> #delphi-hilfe


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 12, 2004 23:33 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Wie sieht denn deine Projektionsmatrix aus?

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 12, 2004 23:35 
Offline
DGL Member

Registriert: Fr Mär 05, 2004 19:15
Beiträge: 118
Wohnort: Lemgo
JUHU es Geht! Danke für deine Hilfe Son of Satan!
Ich musste einfach nur TGLFloat nehmen. Und x um 30 senken.

_________________
irc.euirc.net _> #delphi-hilfe


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Apr 13, 2004 02:27 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Son of Satan hat geschrieben:
Mauskoordinaten hast du doch in 2D. Und das 2D-Koordinatensystem hat in Windows seinen Ursprung oben/links, unter OpenGL unten/links. Das hat aber nix mit deiner 3D-Szene zu tun.

Jetzt hab ich mal ne Frage:
In OpenGL ist der Koordinaten Ursprung für 2D unten Links? Im Orthomodus is er doch oben links! :!: :?: :?
@SoS: Kannste da mal kurz eine globale, klärende Zusammenfassung geben!?

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Apr 13, 2004 09:15 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Im Orthomodus ist der Ursprung dort wo du ihn haben willst, da du bei glOrtho ja doch alle Parameter angibst. Aber wenn du z.B. Pixel ausliest, dann ist Pixel 0/0 unten links und nicht wie bei Windows oben links.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 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.017s | 16 Queries | GZIP : On ]