Ich will in einer 3D Szene Objekte mit der Maus auswählen und zwar so, dass ich eine Liste aller Objekte bekomme,
die (wenigsten teilweise) in einem kleinen Bereich um die Maus herum liegen. Es sollen alle Objekte gesammelt werden,
egal ob sie gerade vereckt sind oder wirklich sichtbar. Farbcodierung und glreadpixels scheidet also aus.
Auch will ich nicht die OpenGL-Befehle zur Selection oder Feedback verwenden,
weil die auf den verschiedensten Rechner nicht richtig laufen und mit Opengl 3.0 ja evtl aussterben.
Ich habe so in die Richtung Frustum Culling gedacht, so wie es z.b. im Tutorial http://www.lighthouse3d.com/opengl/viewfrustum/ beschrieben ist. Scheint mir auch ein ganz guter Ansatz. Schwierigkeiten macht dieser Ansatz besonders bei länglichen Objekten,
deren Vertices zwar alle ausserhalb des Frustums liegen, aber dennoch das Frustum schneiden.
Hat jemand so ein Problem schon mal gelöst ?
Weiss jemand ein Tutorial dazu ?
Hat jemand andere Ansätze schon mal erfolgreich ausprobiert ?
Registriert: Di Okt 03, 2006 14:07 Beiträge: 1277 Wohnort: Wien
Ich habe mir dieses Tutorial angesehen. Er testet dort hauptsächlich, ob Punkte und Kugeln sich im Frustum befinden. Wenn nur eine Fläche das Frustum schneidet, geht das natürlich nicht.
Was hältst Du von folgender Idee: man legt eine Diagonale durch das Frustum (einfach eine Gerade durch zwei schräg gegenüberligende Eckpunkte des Frustums) und schneidet sie mit der fraglichen Fläche. Wenn der ermittelte Schnittpunkt zwischen den beiden Eckpunkten des Frustums liegt, dann muss diese Fläche das Frustum schneiden.
Mitglieder in diesem Forum: 0 Mitglieder und 8 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.