Files
Michael Fabian 'Xaymar' Dirks 3afa84df85 runtime/blitz3d: Fixup C++ification
2019-01-18 21:26:42 +01:00

39 lines
679 B
C++

#pragma once
#include "geom.hpp"
class Frustum {
public:
enum {
VERT_TLNEAR = 0,
VERT_TRNEAR,
VERT_BRNEAR,
VERT_BLNEAR,
VERT_TLFAR,
VERT_TRFAR,
VERT_BRFAR,
VERT_BLFAR,
VERT_EYE
};
enum { PLANE_TOP = 0, PLANE_LEFT, PLANE_BOTTOM, PLANE_RIGHT, PLANE_NEAR, PLANE_FAR };
Frustum();
Frustum(float nr, float fr, float w, float h);
Frustum(const Frustum& f, const Transform& t);
bool cull(const Box& box) const;
bool cull(const Vector vecs[], int cnt) const;
const Plane& getPlane(int n) const
{
return planes[n];
}
const Vector& getVertex(int n) const
{
return verts[n];
}
private:
Plane planes[6];
Vector verts[9];
void makePlanes();
};