#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(int subHistoGram[][4]); extern void copySubHistogram(Color *colors, int *histogram, int begin, int end, int subHistoGram[][4]); extern void printHistogram(int histoGram[][4]); extern void plotHistogram(int histoGram[][4]); extern int **initHistogram(int numTriangles, int numCameras); extern void deleteHistogram(int **histogram, int numCameras); extern void printFullHistogram(int **histogram, int numCameras, int numTriangles); extern void getSWHistogram(int *histogram, GLubyte *pixels); extern void getSWHistogramWin(int *histogram, GLubyte *pixels, GLfloat min[3], GLfloat max[3], Change *c); extern void getSWHistoByOcclusionQuery(Mesh *mesh, Color *colors, int *histogram); extern void resetSWHistogram(int *histogram, int numTriangles); extern void getBoundingBox(Change *c, GLfloat min[3], GLfloat max[3]); extern void getWindow(GLfloat min[3], GLfloat max[3], int minw[2], int maxw[2]); } #endif