# HG changeset patch # User John Tsiombikas # Date 1361155286 -7200 # Node ID 57ea4988a9f2322330436b46ef6d8c098b8b9b66 # Parent e09cbb2e9d4f8c46bb488bca00838d9c54c804c8 added code to dump the ditherblock image diff -r e09cbb2e9d4f -r 57ea4988a9f2 src/udg.cc --- a/src/udg.cc Mon Feb 18 03:46:52 2013 +0200 +++ b/src/udg.cc Mon Feb 18 04:41:26 2013 +0200 @@ -70,8 +70,13 @@ bool init() { - float *img = new float[DITHER_SZ * DITHER_SZ * DITHER_LEVELS]; - float *ptr = img; + FILE *fp = fopen("udg.ppm", "wb"); + if(fp) { + fprintf(fp, "P6\n%d %d\n255\n", DITHER_SZ, DITHER_SZ * DITHER_LEVELS); + } + + unsigned char *img = new unsigned char[DITHER_SZ * DITHER_SZ * DITHER_LEVELS]; + unsigned char *ptr = img; for(int i=0; i= thres ? 1.0 : 0.0; + *ptr++ = val >= thres ? 255 : 0; + + if(fp) { + int r = ptr[-1] ? 246 : 10; + int g = ptr[-1] ? 198 : 72; + int b = ptr[-1] ? 141 : 85; + fputc(r, fp); + fputc(g, fp); + fputc(b, fp); + } } } } + if(fp) { + fclose(fp); + } + if(!(prog = create_program_load("sdr/dither.v.glsl", "sdr/dither.p.glsl"))) { return false; } @@ -94,7 +112,7 @@ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, DITHER_SZ, DITHER_SZ * DITHER_LEVELS, 0, GL_LUMINANCE, GL_FLOAT, img); + glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, DITHER_SZ, DITHER_SZ * DITHER_LEVELS, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, img); if(!init_scroller()) { return false;