#include <Math.hpp>
Metody publiczne | |
| FRUSTUM_POINTS () | |
| Tworzy niezainicjalizowany. | |
| FRUSTUM_POINTS (const FRUSTUM_PLANES &FrustumPlanes) | |
| Inicjalizuje na podstawie płaszczyzn. | |
| FRUSTUM_POINTS (const MATRIX &WorldViewProjInv) | |
| Inicjalizuje na podstawie ODWROTNOŚCI macierzy View*Projection. | |
| void | Set (const FRUSTUM_PLANES &FrustumPlanes) |
| Wypełnia. | |
| void | Set (const MATRIX &WorldViewProjInv) |
| VEC3 & | operator[] (size_t Index) |
| const VEC3 & | operator[] (size_t Index) const |
| void | CalcCenter (VEC3 *Out) const |
| Wylicza i zwraca środek frustuma. | |
| void | CalcBoundingBox (BOX *Box) const |
| Oblicza najmniejszy AABB otaczający frustum dany tymi punktami. | |
| void | CalcBoundingSphere (VEC3 *SphereCenter, float *SphereRadius) const |
| Oblicza sferę otaczającą frustum. | |
Atrybuty publiczne | |
| VEC3 | Points [8] |
Statyczne atrybuty publiczne | |
indeksy do tablicy punktów | |
Kolejno na przecięciu płaszczyzn. | |
| static const size_t | NEAR_LEFT_BOTTOM = 0 |
| static const size_t | NEAR_RIGHT_BOTTOM = 1 |
| static const size_t | NEAR_LEFT_TOP = 2 |
| static const size_t | NEAR_RIGHT_TOP = 3 |
| static const size_t | FAR_LEFT_BOTTOM = 4 |
| static const size_t | FAR_RIGHT_BOTTOM = 5 |
| static const size_t | FAR_LEFT_TOP = 6 |
| static const size_t | FAR_RIGHT_TOP = 7 |
Uzyskiwanie przez konwersję macierzy ViewProj do FRUSTUM_PLANES i z niego do FRUSTUM_POINTS jest dużo szybsze niż budowanie FRUSTUM_POINTS z macierzy ViewProjInv - 2 (Release) - 8 (Debug) razy szybsze!
| common::FRUSTUM_POINTS::FRUSTUM_POINTS | ( | ) | [inline] |
Tworzy niezainicjalizowany.
| common::FRUSTUM_POINTS::FRUSTUM_POINTS | ( | const FRUSTUM_PLANES & | FrustumPlanes | ) | [inline] |
Inicjalizuje na podstawie płaszczyzn.
| common::FRUSTUM_POINTS::FRUSTUM_POINTS | ( | const MATRIX & | WorldViewProjInv | ) | [inline] |
Inicjalizuje na podstawie ODWROTNOŚCI macierzy View*Projection.
| void common::FRUSTUM_POINTS::Set | ( | const FRUSTUM_PLANES & | FrustumPlanes | ) |
Wypełnia.
| void common::FRUSTUM_POINTS::Set | ( | const MATRIX & | WorldViewProjInv | ) |
| VEC3& common::FRUSTUM_POINTS::operator[] | ( | size_t | Index | ) | [inline] |
| const VEC3& common::FRUSTUM_POINTS::operator[] | ( | size_t | Index | ) | const [inline] |
| void common::FRUSTUM_POINTS::CalcCenter | ( | VEC3 * | Out | ) | const |
Wylicza i zwraca środek frustuma.
| void common::FRUSTUM_POINTS::CalcBoundingBox | ( | BOX * | Box | ) | const |
Oblicza najmniejszy AABB otaczający frustum dany tymi punktami.
| void common::FRUSTUM_POINTS::CalcBoundingSphere | ( | VEC3 * | SphereCenter, | |
| float * | SphereRadius | |||
| ) | const |
Oblicza sferę otaczającą frustum.
Może nie najlepszą, ale jakąśtam... (a może to jest najlepsza? nie wiem :P)
const size_t common::FRUSTUM_POINTS::NEAR_LEFT_BOTTOM = 0 [static] |
const size_t common::FRUSTUM_POINTS::NEAR_RIGHT_BOTTOM = 1 [static] |
const size_t common::FRUSTUM_POINTS::NEAR_LEFT_TOP = 2 [static] |
const size_t common::FRUSTUM_POINTS::NEAR_RIGHT_TOP = 3 [static] |
const size_t common::FRUSTUM_POINTS::FAR_LEFT_BOTTOM = 4 [static] |
const size_t common::FRUSTUM_POINTS::FAR_RIGHT_BOTTOM = 5 [static] |
const size_t common::FRUSTUM_POINTS::FAR_LEFT_TOP = 6 [static] |
const size_t common::FRUSTUM_POINTS::FAR_RIGHT_TOP = 7 [static] |
1.5.5