.| Autor | Beitrag |
|---|---|
|
000 28.03.2002, 19:37 Diablo_bth |
also ich suche einen möglichst schnelle und einfache Methode um festzustellen ob eine Bounding-Box ( zwei Vekoren für die minimale und maximale Ausdehnung ) im Sichtfeld ( bestehend aus Position, Sichtwinkel als Vektor oder Winkel-Vektor und des "Field Of View"-> z.B. 90° ) einer Kamera ist. hätte da vielleicht jemand einen Vorschlag? -- |
|
Profil || Suche |
|
001 29.03.2002, 00:25 Prefect |
Einfach? Hmm... Ich habe dazu zunächst einmal ein Frustum (kA wie man das offiziell nennt) aus vier Ebenen aufgebaut. Diese vier Ebenen beschränken also das, was man sehen kann. Man erhält diese Ebenen aus den Bildschirmkanten und dem Viewpoint (ist im Endeffekt exakt dieselbe Berechnung, die auch glFrustum anstellt). Dann bestimme ich über einen simplen Vorzeichentest für jede dieser Ebenen den Eckpunkt des BBox-Quaders, der am nächsten an der Ebene dran ist. Wenn dieser Punkt hinter der Ebene liegt befindet sich der BBoxQuader komplett hinter der Ebene und damit außerhalb des Sichtfeldes. Diese Methode ergibt zwar keine Falschnegative, aber dafür Falschpositive, ist also vom Culling her nicht optimal. Dafür gibt's keine Darstellungsfehler :) cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
002 29.03.2002, 18:12 Diablo_bth |
jo eigentlich eine gute Idee, bloß ist da John Carmack wohl auch schon drauf gekommen *g*. |
|
Profil || Suche |
|
003 29.03.2002, 20:02 Prefect |
Und Carmack war wahrscheinlich nicht der erste... in Richtung 3D-Mathematik ist schon verdammt viel abgehandelt - wirklich Neues kann man da kaum noch erfinden - vor allem als Otto-Normal-Coder der nicht gerade bei NVidia oder id arbeitet... cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |

