#ifndef VIEW_H #define VIEW_H #include #include using namespace std; #include "util.h" struct view { sector orig; point p; vec3 d, u; float fov; int w, h; void draw (draw_context &ctx); }; struct visibility_state { unsigned int generation; enum { OCCLUDED, VISIBLE } visibility; visibility_state () : generation(0), visibility(OCCLUDED) { }; }; struct draw_context { gl_matrix projection; view &v; enum { DEPTH, LIGHTED } mode; light *l; set drawn; unsigned int generation; map vismap; bool may_draw (entity_base *e); draw_context (view &v); ~draw_context (); }; #endif