56 const GLuint *culled_instance_buffer,
GLuint instance_data_buffer,
57 unsigned num_instances) = 0;
69 #define DEPTH_SIZE 256
70 #define DEPTH_SIZE_LOG2 8
83 const GLuint *culled_instance_buffer,
GLuint instance_data_buffer,
84 unsigned num_instances);
virtual ~CullingInterface()
virtual unsigned get_num_lods() const
virtual void test_bounding_boxes(GLuint counter_buffer, const unsigned *counter_offsets, unsigned num_offsets, const GLuint *culled_instance_buffer, GLuint instance_data_buffer, unsigned num_instances)=0
GLuint get_depth_texture() const
struct HiZCulling::@25 occluder
unsigned get_num_lods() const
GLuint depth_render_program
GLsizei GLenum const void * indices
void setup_occluder_geometry(const std::vector< vec4 > &positions, const std::vector< uint32_t > &indices)
virtual void setup_occluder_geometry(const std::vector< vec4 > &positions, const std::vector< uint32_t > &indices)=0
void set_view_projection(const mat4 &projection, const mat4 &view, const vec2 &zNearFar)
virtual GLuint get_depth_texture() const
void rasterize_occluders()
virtual void set_view_projection(const mat4 &projection, const mat4 &view, const vec2 &zNearFar)=0
std::vector< GLuint > framebuffers
void test_bounding_boxes(GLuint counter_buffer, const unsigned *counter_offsets, unsigned num_offsets, const GLuint *culled_instance_buffer, GLuint instance_data_buffer, unsigned num_instances)
virtual void rasterize_occluders()=0
void compute_frustum_from_view_projection(vec4 *planes, const mat4 &view_projection)
typedef GLuint(GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC)(GLuint count