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?
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)
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.
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)
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
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?
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.