Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   OpenGL trotz DoubleBuffer direkt... (https://www.delphipraxis.net/182751-opengl-trotz-doublebuffer-direkt.html)

Jens01 15. Nov 2014 19:46

AW: OpenGL trotz DoubleBuffer direkt...
 
gluPickMatrix -> width, height

BigAl 15. Nov 2014 20:13

AW: OpenGL trotz DoubleBuffer direkt...
 
Danke Jens! Da werde ich mal mit rumspielen...

Alex

BigAl 16. Nov 2014 21:54

AW: OpenGL trotz DoubleBuffer direkt...
 
So, habe mal etwas mit den Funktionen zur Selektion rumgespielt. Allerdings muss ich sagen, dass meine selbstgeschriebene Funktion da wesentlich effektiver (und schneller) ist. Damit die vorgestellten Funktionen funktionieren muss ich jeder einzelnen Linie einen Namen geben. Dann muss ich für die Selektion die ganze Szene neu renderen...

Beim meiner Methode rechne ich einfach jede Linie mit gluProject in Bildschirmkoordinaten um. Dann prüfe ich, wie weit mein Punkt (X, Y) im 2D-Raum von der Linie entfernt ist. Alles was größer als meine erlaubte MaxDistance ist wird verworfen. Befindet sich mein Punkt außerhalb eines Rechtecks um die Linie (ebenfalls um max. Distance vergrößert) dann rechne ich schon gar nicht und verwerfe die Linie sofort. Der einzige Haken dabei ist, dass ich momentan auch verdeckte Linien selektieren kann...

Über mein eigentliches Problem - das Zeichnen eines Selektionsrahmens bzw. das hervorheben von Elementen - habe ich auch nochmal nachgedacht. Das Ganze wäre recht einfach, wenn man Zugriff auf die Hintergrundpuffer hätte und diese kombiniert in den Vordergrund stellen könnte. In einem Puffer befindet sich dann die bereits gerenderte Ansicht. In einem zweiten Puffer könnte man dann irgendwas zeichnen. Das ganze kombiniert sollte man dann in den Vordergrundpuffer übertragen können. Leider gibt es ja immer nur SwapBuffer und nicht irgendwie DrawBuffer oder so... Verflixt. Das Ganze macht mich noch kirre... :-)

Alex

Jens01 16. Nov 2014 22:35

AW: OpenGL trotz DoubleBuffer direkt...
 
Ich glaub, dass Dein Weg nicht der richtige ist. Weiss aber auch nicht genau, weil ich Dein Projekt nicht kenne.
Du kannst in solche FBOs reinrendern.

Zusatz:
Wenn Du solche VBOs benutzt, kann Du zB nur die Farbparameter wechseln und das ganze nur im Grafikspeicher aktualisieren. Damit kannst Du vielleicht durch die Farbe das selektierte Objekt hervorheben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:06 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz