Problem mit OpenGl-Colorpicking

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
Frank Ranis
Beiträge: 201
Registriert: Do 24. Jan 2013, 21:22

Problem mit OpenGl-Colorpicking

Beitrag von Frank Ranis »

Hallo ,

das Colorpicking unter OpenGL an sich ist ja eine simple und wirklich schnelle Methode , um Objekte zu selektieren.
Dazu habe ich mir die Demo 'Picking' von Corpsman geladen .

http://www.corpsman.de/index.php?doc=opengl/picking

Auf einem Singel-Rechner funzt das prima .

Nun habe ich Probleme , wenn ich das Programm auf einer Virtual-Box oder unter Remote-Desktop laufen lasse .
Die zurückgelieferten Farben-Werte entsprechnen nicht denen , mit denen ich gezeichnet habe .
Und dann schlägt das Picking fehl .

Ich zeichne z.B. mit R=128 , G=0 , B=0 und bekomme dann beim Pick mal R 126 oder auch 132 zurückgeliefert .
Es ergeben sich Farbverfälschungen .
Einzig Werte wie R,G,B=0 oder R,G,B=255 werden von glReadPixels() richtig zurückgeliefert .

Hat jemand eine Idee , wie man das in den Griff bekommt ?

Gruß

Frank
www.flz-vortex.de

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Problem mit OpenGl-Colorpicking

Beitrag von Mathias »

Nun habe ich Probleme , wenn ich das Programm auf einer Virtual-Box oder unter Remote-Desktop laufen lasse .

VirtualBox und OpenGL, dies ist eine Sache, die noch nicht 100% funktioniert.

Aber ich denke, dies könnte in nächster Zeit besser werden, vor allem für Linux-User, da die neuen Kernel ab 4.10 besser mit VB zusammenarbeiten.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Frank Ranis
Beiträge: 201
Registriert: Do 24. Jan 2013, 21:22

Re: Problem mit OpenGl-Colorpicking

Beitrag von Frank Ranis »

Hallo Mathias ,

Mathias hat geschrieben:VirtualBox und OpenGL, dies ist eine Sache, die noch nicht 100% funktioniert.

Aber ich denke, dies könnte in nächster Zeit besser werden, vor allem für Linux-User, da die neuen Kernel ab 4.10 besser mit VB zusammenarbeiten.


danke für die Info.

Also ist das Colorpicking zwar schön und supereinfach aber wieder mal davon abhänging , welche Softwarebasis auf dem Rechner vorhanden ist.

Als Alternative habe ich vom Ray-Picking gelesen.
Gibt es dazu eine verständliche Demo , die man sich mal anschauen könnte ?

Gruß

Frank
www.flz-vortex.de

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Problem mit OpenGl-Colorpicking

Beitrag von Mathias »

aber wieder mal davon abhänging , welche Softwarebasis auf dem Rechner vorhanden ist.

Laufen bei dir andere OpenGL-Programme ohne Fehler in der VB ?

Eine VB ist eines sehr Komplexe Sache, immerhin müssen die OpenGL-Kommandos über 2 OS laufen (Gast/Wirt),
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Problem mit OpenGl-Colorpicking

Beitrag von Christian »

Ich denke es hat eher weniger was mit Virtualbox zu tun als mehr mit der Beleuchtung.
Die Farbe die dein Objekt hat wird ja von der Lichtquelle beeinflusst. Deshalb wird auf dem Bildschirm selten genau die selbe Farbe herauskommen wie du gesetzt hast.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Frank Ranis
Beiträge: 201
Registriert: Do 24. Jan 2013, 21:22

Re: Problem mit OpenGl-Colorpicking

Beitrag von Frank Ranis »

Hallo ,

@Mathias
Mathias hat geschrieben:Laufen bei dir andere OpenGL-Programme ohne Fehler in der VB ?

Die Programme an sich laufen in der Vitual-Box ohne Probleme , sieht alles ganz gut aus.
Allerdings habe ich in der V-Box auch ein älteres Windos laufen , wie es mit Linux oä. aussieht weis ich nicht.

Ich habe bis dato ja immer das alte Selection-Verfahren benutzt , wie es z.B. im Tutorial von DelphiGl beschrieben ist.
https://wiki.delphigl.com/index.php/Tutorial_Selection
Funzt zwar auf jedem Rechner und auch in der V-Box , aber bei sehr vielen Objekten (so >20.000 Dreiecke) und je nach Grafikkarten-Opengl-Treiber dauert das manchmal etliche Sekunden vom Pick bis zur Rückehr ins Haupt-Programm.

Darum die Suche nach schnelleren Picking-Routinen .

@Christian
Christian hat geschrieben:Ich denke es hat eher weniger was mit Virtualbox zu tun als mehr mit der Beleuchtung.
Die Farbe die dein Objekt hat wird ja von der Lichtquelle beeinflusst. Deshalb wird auf dem Bildschirm selten genau die selbe Farbe herauskommen wie du gesetzt hast.


Ne ne , die Beleuchtungsoptionen sind , während des Picking, alle ausgeschaltet .
Wie gesagt , das Colorpicking läuft ja auf einem Singel-Rechner , egal ob WinXP , WIN7 , WIN8 .....

Nur bei dem Flaschenhals (Umweg über die Virtual-Box oder der Remote-Desktop-Verbindung) zum Arbeitsrechner werden die Farben verfälscht.

Nimm doch einfach mal das Demo von Corpsman (http://www.corpsman.de/index.php?doc=opengl/picking) und laß einmal die EXE auf einem Singel-Rechner und einmal in der Virtual-Box laufen .
Auf den Singel-Rechner geht das Color-Picking und in der Virtual-Box leider nicht.

Gruß

Frank
www.flz-vortex.de

Antworten