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

Aktuelle Zeit: Do Jul 17, 2025 13:34

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Selection mit VertexArray
BeitragVerfasst: Mi Dez 11, 2002 18:18 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

kann man irgendwie einen SelectionModus mit VertexArrays benutzen???
ich zeichne mit meinem VertexArray lauter GL_QUADS und möchte dann später rausbekommen welches QUAD angeklickt wurde...

anfangs hatte ich für jedes QUAD eine DisplayList gemacht, und der jeweils mit glLoadName einen Namen zugewiesen.. wie mach ich das bei einem VA???

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Dez 11, 2002 18:19 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
ach ja, und wie kann ich in einem VA mehrere verschiedene Texturen verwenden..?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Dez 11, 2002 18:29 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 02, 2002 18:06
Beiträge: 299
Wohnort: Dresden
Also, wenn das nur 2D sein soll, und du die Teile senkrecht von oben siehst einfach aus der MousePos und der Breite der Quads berechnen. Wenn's so ist und du nicht weißt wie das genau gehen soll, weißt du ja, wo du hin musst: richtig DGL :D

_________________
"Ich würde ja gern die Welt verändern, aber Gott gibt mir den Quelltext nicht"


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Dez 11, 2002 22:35 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
huhu,

ist leider 3D... :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Selection mit VertexArray
BeitragVerfasst: Do Dez 12, 2002 05:40 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Zitat:
Hi,

kann man irgendwie einen SelectionModus mit VertexArrays benutzen???
ich zeichne mit meinem VertexArray lauter GL_QUADS und möchte dann später rausbekommen welches QUAD angeklickt wurde...

anfangs hatte ich für jedes QUAD eine DisplayList gemacht, und der jeweils mit glLoadName einen Namen zugewiesen.. wie mach ich das bei einem VA???


Wenn du die Quads alle in einem VA renderst, dann gibts keine Möglichkeit die Quads einzelnim Selectionsmodus auszuwählen, dann man in einem VA keine Namen auf den Stack legen kann.

Wenn du deine Quads also auswählbar machen willst, kommst du nicht herum sie einzeln zu rendern (ob roh oder als DL...wenn du aber jedes Quad als DL machst, bringt das keinen Geschwindigkeitsvorteil, eher im Gegenteil) damit du vor jedem Quad seinen "Namen" auf den Namestack legen kannst.

An deiner Stelle würde ich ganz einfach zwei unterschiedliche Renderpfade, je nach Modus nutzen...z.B. so :
Code:
  1.  
  2.  
  3. GLGetIntegerv(GL_RENDER_MODE, @RM);
  4.  
  5. if RM = GL_SELECT then
  6.  
  7.  ZeichneQuadsEinzeln und pushe Namen auf den Stack
  8.  
  9. else
  10.  
  11.  Zeichne VA
  12.  
  13.  

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Dez 12, 2002 05:44 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

bin ja dochnet die einzige die so spät noch wach is :wink:

Aber die idee, einfach 2 zeichenmethoden zu nehmen ist gut, wäre ich nicht drauf gekommen... danke~ :)

Au'revoir,
Aya


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Dez 12, 2002 05:48 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
ach ja, und... kann ich in einem VertexArray verschiedene Texturen benutzen???


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Dez 12, 2002 11:10 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Zitat:
bin ja dochnet die einzige die so spät noch wach is :wink:

Du meinst wohl eher "so früh schon wach"...meine Arbeit beginnt morgens um 6:00...deshalb steh ich im Normalfall auch schon um 5 auf...

Zitat:
Aber die idee, einfach 2 zeichenmethoden zu nehmen ist gut, wäre ich nicht drauf gekommen... danke~ :)

Das mach ich in meinem neuen Projekt auch so, treibe das ganze aber noch ein wenig weiter.Im Rendermodus zeichne ich (logischerweise) alle Objekte, während ich im Selectionsmodus nur das nötigste zeichne, so senke ich die Berechnungszeit für das Selektionsrendern und spare mir nötigen Ärger mit Objekten, die nicht auswählbar sein sollen.

Zitat:
ach ja, und... kann ich in einem VertexArray verschiedene Texturen benutzen???

Nein.Mit den Texturen in einem VA verhält es sich genauso wie mit den Texturen bei DLs.Ein VA, eine Textur.
Sehr gute Möglichkeit das zu umgehen (aufgrund der DL leider nur für statische Geometrie) :
Code:
  1.  
  2.  
  3. ...
  4.  
  5. glNewList(DL, GL_COMPILE);
  6.  
  7.  Textur1 binden
  8.  
  9.  VA1 aufrufen
  10.  
  11.  
  12.  
  13.  Textur2 binden
  14.  
  15.  VA2 aufrufen
  16.  
  17. glEndList;
  18.  
  19. ...
  20.  
  21. glCallList(DL);
  22.  
  23.  


bei dynamischer Geometrie gehts halt nur so :
Code:
  1.  
  2.  
  3. procedure T3DObject.Draw;
  4.  
  5. begin
  6.  
  7. Textur1 binden (z.B. Kopftextur)
  8.  
  9. VA1 aufrufen (Vertexdaten des Kopfes)
  10.  
  11.  
  12.  
  13. Textur2 binden (z.B. Körpertextur)
  14.  
  15. VA2 aufrufen (Vertexdaten des Körpers)
  16.  
  17. ...
  18.  
  19. end;
  20.  
  21.  

_________________
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  [ 8 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

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