nuclear@12: /* dither matrices taken directly from: nuclear@12: * http://caca.zoy.org/wiki/libcaca/study/2 nuclear@12: */ nuclear@0: #ifndef DITHER_MATRIX_H_ nuclear@0: #define DITHER_MATRIX_H_ nuclear@0: nuclear@0: static const float dither_matrix2[2][2] = { nuclear@0: {0, 3}, {2, 1} nuclear@0: }; nuclear@0: nuclear@0: static const float dither_matrix4[4][4] = { nuclear@0: {0, 12, 3, 15}, nuclear@0: {8, 4, 11, 7}, nuclear@0: {2, 14, 1, 13}, nuclear@0: {10, 6, 9, 5} nuclear@0: }; nuclear@0: nuclear@0: static const float dither_matrix8[8][8] = { nuclear@0: {0, 48, 12, 60, 3, 51, 15, 63}, nuclear@0: {32, 16, 44, 28, 35, 19, 47, 31}, nuclear@0: {8, 56, 4, 52, 11, 59, 7, 55}, nuclear@0: {40, 24, 36, 20, 43, 27, 39, 23}, nuclear@0: {2, 50, 14, 62, 1, 49, 13, 61}, nuclear@0: {34, 18, 46, 30, 33, 17, 45, 29}, nuclear@0: {10, 58, 6, 54, 9, 57, 5, 53}, nuclear@0: {42, 26, 38, 22, 41, 25, 37, 21} nuclear@0: }; nuclear@0: nuclear@3: static const float halftone_matrix8[8][8] = { nuclear@3: {24, 10, 12, 26, 35, 47, 49, 37}, nuclear@3: {8, 0, 2, 14, 45, 59, 61, 51}, nuclear@3: {22, 6, 4, 16, 43, 57, 63, 53}, nuclear@3: {30, 20, 18, 28, 33, 41, 55, 39}, nuclear@3: {34, 46, 48, 36, 25, 11, 13, 27}, nuclear@3: {44, 58, 60, 50, 9, 1, 3, 15}, nuclear@3: {42, 56, 62, 52, 23, 7, 5, 17}, nuclear@3: {32, 40, 54, 38, 31, 21, 19, 29} nuclear@3: }; nuclear@3: nuclear@0: #endif /* DITHER_MATRIX_H_ */