AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia OpenGL trotz DoubleBuffer direkt...

OpenGL trotz DoubleBuffer direkt...

Ein Thema von BigAl · begonnen am 15. Nov 2014 · letzter Beitrag vom 16. Nov 2014
 
BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
504 Beiträge
 
Delphi 12 Athens
 
#1

OpenGL trotz DoubleBuffer direkt...

  Alt 15. Nov 2014, 01:08
Hallo zusammen,

ich weiß nicht wie es anders ausdrücken soll, daher der verwirrende Titel.

Also: Ich habe hier ein Objekt geschrieben, welches mir via OpenGL Grafik ausgibt. Ich nutze dazu die dglOpenGL-Unit. Bei dem Programm handelt es sich um eine Art CAD-System, welches 3D-Grafiken darstellt. Wenn ich nun mit der Maus über die Grafik fahre, dann möchte ich die Objekte in der Nähe des Mauszeigers markieren, wenn der Mauszeiger sich wieder entfernt die Markierung wieder entfernen. Das Funktioniert alles sehr gut, allerdings zeichne ich Momentan immer alles neu. Das ist bei mehreren hunderttausend Linien recht aufwändig. Auch möchte ich z.B. einen temporären Markierungsrahmen mit der Maus zeichnen können. Wenn ich nun an den Standard-Canvas von Delphi zurückdenke, dann habe ich solche Sachen eigentlich immer mit XOR gemacht (erstes Zeichnen darstellen, zweites Zeichnen wieder löschen). Dazu müsste ich aber direkt den Ausgabepuffer beschreiben. Normalerweise rendere ich ja in den Hintergrundpuffer und tausche dann mit "SwapBuffers" den Anzeige- und den Hintergrundpuffer aus. Mir fehlt da Momentan noch ein guter Ansatz wie man das Ganze in OpenGL lösen könnte. Am liebsten hätte ich gerne ein ähnliches Verhalten wie z.B. in Sketchup. Mit klicken ein Teil markieren. Mit der Maus einen Rahmen ziehen und mehrere Teile markieren usw...

Hat irgendwer eine Idee? Ich nehme auch gerne irgendwelche Hinweise auf Litertur etc. entgegen. Leider sind 99.9% der OpenGL-Beschreibungen auf Spieleprogrammierung und deren Eigenheiten ausgelegt.

Für alle Tipps schon mal Danke!

Alex
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz