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

Aktuelle Zeit: Mo Jul 21, 2025 08:39

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



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Selektion / Collision
BeitragVerfasst: Do Nov 07, 2002 13:34 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Sep 13, 2002 18:26
Beiträge: 42
Wohnort: Stuttgart
ich suche im moment eine möglichkeit (z.b. ne library) für folgendes: ich habe mehrere Hundert objekte (z.b. Felder, Gebäude, usw...) und ich möchte wenn möglich pixel genau diese auswählen können bzw selektieren mit der maus. was für eine möglichkeit gibt es? Name stacks haben doch nur platz für 128 objekte oder sehe ich das falsch?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 07, 2002 16:07 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
normal sind es 64 Objekte. Um mehr auswaählen zu können, kannst du schon mal alle weglassen, die nicht im view frustum liegen. dann, wenn du mehr objekte hast, als wie auf den name stack passen(GL_NAME_STACK_DEPTH?) kanntst du mehrere objekte in eine gruppe fassen. jetzt findest du heraus, auf welche gruppe der user geklickt hast und dann machst du noch mal einen selection test, in dem du dann nur noch die einzelnen mitglieder dieser gruppe überprüfst und voila schon hast du das gewählt objekt(entspricht einem multipass prinzip)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 07, 2002 16:54 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 12, 2002 07:15
Beiträge: 916
Wohnort: Dietzhölztal / Hessen
Programmiersprache: C/C++, Obj-C
Hmmm, Geschwindigkeit ade :cry: ist das nicht ziemlich unperformant?!?

_________________
Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 07, 2002 17:23 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Geschwindigkeit? Du machst das ja nicht ständig, sondern nur 1x wenn du mit der maus irgendwo ein objekt auswählst - da ists für den user noch total flüssig, wenns eine 10tel sekunde dauert.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Nov 08, 2002 08:19 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 12, 2002 07:15
Beiträge: 916
Wohnort: Dietzhölztal / Hessen
Programmiersprache: C/C++, Obj-C
Ok, das ist ein Argument welches man gelten lassen kann... ;)

_________________
Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Nov 08, 2002 15:32 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Sep 13, 2002 18:26
Beiträge: 42
Wohnort: Stuttgart
das mit dem "nur die objekte wo ich seh..." is kein problem.. aber wie mach ich das mit dem zusammenfassen?
(btw: geforce1 und höher hat 128 namestack ;p)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Nov 08, 2002 15:37 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
meinetwegen du stellst fest, du hast jetzt leider 256 objekte auf dem schirm, dann sind das mehr als der namestack verträgt. also gibst du immer 2 dieser objekte den gleichen namen(merk dir welche objekte zu welcher gruppe gehören!). dann schaust du auf welche der 128 bestehenden gruppend er user gedrückt hast. jetzt kennst du die gruppe auf die geklickt wurde - der rest wird uninteressant und du machst einen neuen namestack test und zwar mit den objekten die in deiner gruppe sind.... gruppen könnte man beispielsweise mittels listen realisieren


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Nov 08, 2002 16:21 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 12, 2002 07:15
Beiträge: 916
Wohnort: Dietzhölztal / Hessen
Programmiersprache: C/C++, Obj-C
Eine andere Möglichkeit wäre so was ähnliches wie Bounding-Boxen vor. Außerdem weisst Du ja, was nun genau sichtbar ist und was nicht. Musst halt Frustum-Culling implementieren.

_________________
Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?


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 22 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 | 15 Queries | GZIP : On ]