GL-Picking & Shader => Fail?

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
joggel

GL-Picking & Shader => Fail?

Beitrag von joggel »

Hallo und Moin,

also, ich experimentiere gerade etwas mit Qt+Shader rum.
Läuft soweit ganz gut ein bequem.
Aber
Ich verwende in meinem Projekt Picking sieh hier.
Ohne Shader funktioniert das alles auch sehr gut, schalte ich nun einen Shader dazu, statt der FFP, klappt die Darstellung nicht mehr richtig. Zb: Szene wird nicht richtig gelöscht, "Pixel-Müll" auf dem Screen und im schlimmsten Fall kommt es zu einem Absturz, bei dieser Zeile:

Code: Alles auswählen

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
Ich habe es jetzt so gelöst, dass wenn ich in das Fenster klicke, wird die Picking-Funktion aufgerufen und die Szene ohne Shader gerendert. Das funktioniert auch alles gut.
Das kann ich aber nur machen, weil ich nix besonderes im Vertex-Shader anstelle! Was ist nun, wenn ich dort irgendwelche zusaetzlichen Transfomationen mache und so...?! Dann ist die Geometrie der Szene ja eine andere als wenn ich sie über die FFP rendere!

Mich würde mal interessieren, ob jemand weiß wieso sich OpenGL da so verhält?
Und gibt es eine andere Möglichkeit des Pickings als oben beschrieben?

es grüßt .... usw.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: GL-Picking & Shader => Fail?

Beitrag von kimmi »

Ich empfehle dir, Picking durch eine Kollisionsabsfrage zu implementieren. Dazu rechnest du zunächst die Fensterkoordinaten des Button-Down-Events in die Model-View-Koordinaten um und generierst dann aus diesen einen Strahl, der in Blickrichtung in die Szene zeigt. Gegen diesen amchst du nun eine Kollisionsabfrage und bist glücklich.
Der folgende FAQ-Eintrag bietet einen ganz guten ersten Einblick in das Thema: http://www.opengl.org/resources/faq/tec ... ection.htm

Gruß Kimmi
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: GL-Picking & Shader => Fail?

Beitrag von dot »

Jop, diesen Selection Buffer Kram sollte man lieber bleiben lassen...
Antworten