#ifndef __histogram_h_ #define __histogram_h_ #include "GL/glut.h" #include "color.h" #define HISTOGRAM_SIZE 256 // Must be a power of 2 namespace VMI { extern void getSubHistogram(GLuint subHistoGram[][4]); extern void copySubHistogram(Color *colors, GLuint *histogram, GLuint begin, GLuint end, GLuint subHistoGram[][4]); extern void printHistogram(GLuint histoGram[][4]); extern void plotHistogram(GLuint histoGram[][4]); extern GLuint **initHistogram(GLuint numTriangles, GLuint numCameras); extern void deleteHistogram(GLuint **histogram, GLuint numCameras); extern void printFullHistogram(GLuint **histogram, GLuint numCameras, GLuint numTriangles); extern void getSWHistogram(GLuint *histogram, GLubyte *pixels); extern void getSWHistoByOcclusionQuery(Mesh *mesh, Color *colors, GLuint *histogram); extern void resetSWHistogram(GLuint *histogram, GLuint numTriangles); } #endif