nuclear@72: #include nuclear@74: #include nuclear@72: #include "opengl.h" nuclear@72: #include "colgrade.h" nuclear@74: #include "imago2.h" nuclear@72: nuclear@72: GradePalette::GradePalette() nuclear@72: { nuclear@72: tex = 0; nuclear@74: palette = 0; nuclear@72: } nuclear@72: nuclear@72: GradePalette::~GradePalette() nuclear@72: { nuclear@72: destroy(); nuclear@72: } nuclear@72: nuclear@72: bool GradePalette::create(int sz) nuclear@72: { nuclear@72: unsigned int clamp = GLEW_ARB_texture_border_clamp ? GL_CLAMP_TO_EDGE : GL_CLAMP; nuclear@72: nuclear@72: destroy(); nuclear@72: nuclear@74: this->size = sz; nuclear@72: nuclear@74: int nbytes = sz * sz * sz * 3; nuclear@74: printf("allocating %d bytes for a color grading palette\n", nbytes); nuclear@74: palette = new unsigned char[nbytes]; nuclear@72: nuclear@74: unsigned char *scanline = palette; nuclear@74: nuclear@72: for(int i=0; i