Initial commit.
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
|
||||
#ifndef FRUSTUM_H
|
||||
#define FRUSTUM_H
|
||||
|
||||
#include "geom.h"
|
||||
|
||||
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();
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user