123456789101112131415161718192021222324252627282930313233343536 |
- #ifndef CORE_FRUSTUM_H
- #define CORE_FRUSTUM_H
- #include "core/Matrix.h"
- #include "core/Plane.h"
- typedef struct {
- CoreMatrix projection;
- CorePlane planes[6];
- float tan;
- float nearClip;
- float farClip;
- } CoreFrustum;
- void coreInitFrustum(CoreFrustum* f, float fieldOfView, float nearClip,
- float farClip);
- const CoreMatrix* coreUpdateProjection(CoreFrustum* f,
- const CoreIntVector2* size);
- void coreUpdateFrustumPlanes(CoreFrustum* f, const CoreVector3* pos,
- const CoreVector3* right, const CoreVector3* up,
- const CoreVector3* front,
- const CoreIntVector2* size);
- bool coreIsInsideFrustum(const CoreFrustum* f, const CoreVector3* pos);
- bool coreIsInsideFrustumRadius(const CoreFrustum* f, const CoreVector3* pos,
- float radius);
- #ifdef IMPORT_CORE
- #define Frustum CoreFrustum
- #define initFrustum coreInitFrustum
- #define updateProjection coreUpdateProjection
- #define updateFrustumPlanes coreUpdateFrustumPlanes
- #define isInsideFrustum coreIsInsideFrustum
- #define isInsideFrustumRadius coreIsInsideFrustumRadius
- #endif
- #endif
|