|
From: <kin...@us...> - 2004-03-03 13:26:45
|
Update of /cvsroot/teem/teem/src/limn In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11155/limn Modified Files: env.c limn.h qn.c renderLimn.c Log Message: added even-bit quantization methods based on Emil's octahdron unfolding, and renamed the odd-bit methods from checker to octa Index: env.c =================================================================== RCS file: /cvsroot/teem/teem/src/limn/env.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** env.c 27 Feb 2004 18:16:50 -0000 1.7 --- env.c 3 Mar 2004 13:14:08 -0000 1.8 *************** *** 37,67 **** switch(qnMethod) { case limnQN16checker: sx = sy = 256; break; case limnQN14checker: sx = sy = 128; break; case limnQN12checker: sx = sy = 64; break; case limnQN10checker: sx = sy = 32; break; case limnQN8checker: sx = sy = 16; break; ! case limnQN15checker: sx = 128; sy = 256; break; ! case limnQN13checker: sx = 64; sy = 128; break; ! case limnQN11checker: sx = 32; sy = 64; break; ! case limnQN9checker: sx = 16; sy = 32; --- 37,72 ---- switch(qnMethod) { case limnQN16checker: + case limnQN16octa: sx = sy = 256; break; case limnQN14checker: + case limnQN14octa: sx = sy = 128; break; case limnQN12checker: + case limnQN12octa: sx = sy = 64; break; case limnQN10checker: + case limnQN10octa: sx = sy = 32; break; case limnQN8checker: + case limnQN8octa: sx = sy = 16; break; ! case limnQN15octa: sx = 128; sy = 256; break; ! case limnQN13octa: sx = 64; sy = 128; break; ! case limnQN11octa: sx = 32; sy = 64; break; ! case limnQN9octa: sx = 16; sy = 32; Index: limn.h =================================================================== RCS file: /cvsroot/teem/teem/src/limn/limn.h,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** limn.h 27 Feb 2004 16:42:53 -0000 1.50 --- limn.h 3 Mar 2004 13:14:08 -0000 1.51 *************** *** 274,288 **** limnQN16border1, /* 2 */ limnQN16checker, /* 3 */ ! limnQN15checker, /* 4 */ ! limnQN14checker, /* 5 */ ! limnQN13checker, /* 6 */ ! limnQN12checker, /* 7 */ ! limnQN11checker, /* 8 */ ! limnQN10checker, /* 9 */ ! limnQN9checker, /* 10 */ ! limnQN8checker, /* 11 */ limnQNLast }; ! #define LIMN_QN_MAX 11 enum { --- 274,293 ---- limnQN16border1, /* 2 */ limnQN16checker, /* 3 */ ! limnQN16octa, /* 4 */ ! limnQN15octa, /* 5 */ ! limnQN14checker, /* 6 */ ! limnQN14octa, /* 7 */ ! limnQN13octa, /* 8 */ ! limnQN12checker, /* 9 */ ! limnQN12octa, /* 10 */ ! limnQN11octa, /* 11 */ ! limnQN10checker, /* 12 */ ! limnQN10octa, /* 13 */ ! limnQN9octa, /* 14 */ ! limnQN8checker, /* 15 */ ! limnQN8octa, /* 16 */ limnQNLast }; ! #define LIMN_QN_MAX 16 enum { Index: qn.c =================================================================== RCS file: /cvsroot/teem/teem/src/limn/qn.c,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** qn.c 27 Feb 2004 18:16:50 -0000 1.19 --- qn.c 3 Mar 2004 13:14:08 -0000 1.20 *************** *** 163,167 **** the error due to quantization is unbiased */ ! #define _EVEN_QtoV(HNB, vec, qn) \ ui = (qn) & ((1<<HNB)-1); \ vi = ((qn) >> HNB) & ((1<<HNB)-1); \ --- 163,167 ---- the error due to quantization is unbiased */ ! #define _EVEN_CHECK_QtoV(HNB, vec, qn) \ ui = (qn) & ((1<<HNB)-1); \ vi = ((qn) >> HNB) & ((1<<HNB)-1); \ *************** *** 178,182 **** (vec)[2] = z*n ! #define _EVEN_VtoQ(HNB, vec) \ x = (vec)[0]; \ y = (vec)[1]; \ --- 178,182 ---- (vec)[2] = z*n ! #define _EVEN_CHECK_VtoQ(HNB, vec) \ x = (vec)[0]; \ y = (vec)[1]; \ *************** *** 204,208 **** return (vi << HNB) | ui ! #define _16_QtoV(vec, qn) \ ui = (qn) & 0xFF; \ vi = ((qn) >> 8) & 0xFF; \ --- 204,259 ---- return (vi << HNB) | ui ! #define _EVEN_OCTA_QtoV(HNB, vec, qn) \ ! xi = (qn) & ((1<<HNB)-1); \ ! yi = ((qn) >> HNB) & ((1<<HNB)-1); \ ! x = AIR_AFFINE(-0.5, xi, ((1<<HNB)-1)+0.5, -1, 1); \ ! y = AIR_AFFINE(-0.5, yi, ((1<<HNB)-1)+0.5, -1, 1); \ ! z = 1 - AIR_ABS(x) - AIR_ABS(y); \ ! if (z < 0) { \ ! if (x > 0) { \ ! x += z; \ ! } else { \ ! x -= z; \ ! } \ ! if (y > 0) { \ ! y += z; \ ! } else { \ ! y -= z; \ ! } \ ! } \ ! n = 1.0/sqrt(x*x + y*y + z*z); \ ! (vec)[0] = x*n; \ ! (vec)[1] = y*n; \ ! (vec)[2] = z*n ! ! #define _EVEN_OCTA_VtoQ(HNB, vec) \ ! x = (vec)[0]; \ ! y = (vec)[1]; \ ! z = (vec)[2]; \ ! L = AIR_ABS(x) + AIR_ABS(y) + AIR_ABS(z); \ ! if (!L) { \ ! return 0; \ ! } \ ! x /= L; \ ! y /= L; \ ! z /= L; \ ! if (z < 0) { \ ! if (x > 0) { \ ! x -= z; \ ! } else { \ ! x += z; \ ! } \ ! if (y > 0) { \ ! y -= z; \ ! } else { \ ! y += z; \ ! } \ ! } \ ! AIR_INDEX(-1, x, 1, (1<<HNB), xi); \ ! AIR_INDEX(-1, y, 1, (1<<HNB), yi); \ ! return (yi << HNB) | xi ! ! /* _16_CHECK_QtoV and _16_CHECK_VtoQ are not actually used */ ! #define _16_CHECK_QtoV(vec, qn) \ ui = (qn) & 0xFF; \ vi = ((qn) >> 8) & 0xFF; \ *************** *** 219,223 **** (vec)[2] = z*n ! #define _16_VtoQ(vec) \ x = (vec)[0]; \ y = (vec)[1]; \ --- 270,274 ---- (vec)[2] = z*n ! #define _16_CHECK_VtoQ(vec) \ x = (vec)[0]; \ y = (vec)[1]; \ *************** *** 247,251 **** double u, v, x, y, z, n; ! _EVEN_QtoV(8, vec, qn); } --- 298,302 ---- double u, v, x, y, z, n; ! _EVEN_CHECK_QtoV(8, vec, qn); } *************** *** 255,259 **** double u, v, x, y, z, n; ! _EVEN_QtoV(8, vec, qn); } --- 306,310 ---- double u, v, x, y, z, n; ! _EVEN_CHECK_QtoV(8, vec, qn); } *************** *** 263,267 **** int xi, yi, ui, vi; ! _EVEN_VtoQ(8, vec); } --- 314,318 ---- int xi, yi, ui, vi; ! _EVEN_CHECK_VtoQ(8, vec); } *************** *** 271,275 **** int xi, yi, ui, vi; ! _EVEN_VtoQ(8, vec); } --- 322,360 ---- int xi, yi, ui, vi; ! _EVEN_CHECK_VtoQ(8, vec); ! } ! ! /* ---------------------------------------------------------------- */ ! ! void ! _limnQN16octa_QNtoV_f(float *vec, int qn) { ! int xi, yi; ! double x, y, z, n; ! ! _EVEN_OCTA_QtoV(8, vec, qn); ! } ! ! void ! _limnQN16octa_QNtoV_d(double *vec, int qn) { ! int xi, yi; ! double x, y, z, n; ! ! _EVEN_OCTA_QtoV(8, vec, qn); ! } ! ! int ! _limnQN16octa_VtoQN_f(float *vec) { ! double L, x, y, z; ! int xi, yi; ! ! _EVEN_OCTA_VtoQ(8, vec); ! } ! ! int ! _limnQN16octa_VtoQN_d(double *vec) { ! double L, x, y, z; ! int xi, yi; ! ! _EVEN_OCTA_VtoQ(8, vec); } *************** *** 278,282 **** /* 15 bit --> HNB == 7 */ ! #define _ODD_QtoV(HNB, vec, qn) \ ui = qn & ((1<<HNB)-1); \ vi = (qn >> HNB) & ((1<<HNB)-1); \ --- 363,367 ---- /* 15 bit --> HNB == 7 */ ! #define _ODD_OCTA_QtoV(HNB, vec, qn) \ ui = qn & ((1<<HNB)-1); \ vi = (qn >> HNB) & ((1<<HNB)-1); \ *************** *** 293,297 **** vec[2] = z*n ! #define _ODD_VtoQ(HNB, vec) \ x = vec[0]; \ y = vec[1]; \ --- 378,382 ---- vec[2] = z*n ! #define _ODD_OCTA_VtoQ(HNB, vec) \ x = vec[0]; \ y = vec[1]; \ *************** *** 312,344 **** void ! _limnQN15checker_QNtoV_f(float *vec, int qn) { int ui, vi, zi; float u, v, x, y, z, n; ! _ODD_QtoV(7, vec, qn); } void ! _limnQN15checker_QNtoV_d(double *vec, int qn) { int ui, vi, zi; double u, v, x, y, z, n; ! _ODD_QtoV(7, vec, qn); } int ! _limnQN15checker_VtoQN_f(float *vec) { float L, u, v, x, y, z; int ui, vi, zi; ! _ODD_VtoQ(7, vec); } int ! _limnQN15checker_VtoQN_d(double *vec) { double L, u, v, x, y, z; int ui, vi, zi; ! _ODD_VtoQ(7, vec); } --- 397,429 ---- void ! _limnQN15octa_QNtoV_f(float *vec, int qn) { int ui, vi, zi; float u, v, x, y, z, n; ! _ODD_OCTA_QtoV(7, vec, qn); } void ! _limnQN15octa_QNtoV_d(double *vec, int qn) { int ui, vi, zi; double u, v, x, y, z, n; ! _ODD_OCTA_QtoV(7, vec, qn); } int ! _limnQN15octa_VtoQN_f(float *vec) { float L, u, v, x, y, z; int ui, vi, zi; ! _ODD_OCTA_VtoQ(7, vec); } int ! _limnQN15octa_VtoQN_d(double *vec) { double L, u, v, x, y, z; int ui, vi, zi; ! _ODD_OCTA_VtoQ(7, vec); } *************** *** 350,354 **** double u, v, x, y, z, n; ! _EVEN_QtoV(7, vec, qn); } --- 435,439 ---- double u, v, x, y, z, n; ! _EVEN_CHECK_QtoV(7, vec, qn); } *************** *** 358,362 **** double u, v, x, y, z, n; ! _EVEN_QtoV(7, vec, qn); } --- 443,447 ---- double u, v, x, y, z, n; ! _EVEN_CHECK_QtoV(7, vec, qn); } *************** *** 366,370 **** int xi, yi, ui, vi; ! _EVEN_VtoQ(7, vec); } --- 451,455 ---- int xi, yi, ui, vi; ! _EVEN_CHECK_VtoQ(7, vec); } *************** *** 374,378 **** int xi, yi, ui, vi; ! _EVEN_VtoQ(7, vec); } --- 459,497 ---- int xi, yi, ui, vi; ! _EVEN_CHECK_VtoQ(7, vec); ! } ! ! /* ---------------------------------------------------------------- */ ! ! void ! _limnQN14octa_QNtoV_f(float *vec, int qn) { ! int xi, yi; ! double x, y, z, n; ! ! _EVEN_OCTA_QtoV(7, vec, qn); ! } ! ! void ! _limnQN14octa_QNtoV_d(double *vec, int qn) { ! int xi, yi; ! double x, y, z, n; ! ! _EVEN_OCTA_QtoV(7, vec, qn); ! } ! ! int ! _limnQN14octa_VtoQN_f(float *vec) { ! double L, x, y, z; ! int xi, yi; ! ! _EVEN_OCTA_VtoQ(7, vec); ! } ! ! int ! _limnQN14octa_VtoQN_d(double *vec) { ! double L, x, y, z; ! int xi, yi; ! ! _EVEN_OCTA_VtoQ(7, vec); } *************** *** 380,412 **** void ! _limnQN13checker_QNtoV_f(float *vec, int qn) { int ui, vi, zi; float u, v, x, y, z, n; ! _ODD_QtoV(6, vec, qn); } void ! _limnQN13checker_QNtoV_d(double *vec, int qn) { int ui, vi, zi; double u, v, x, y, z, n; ! _ODD_QtoV(6, vec, qn); } int ! _limnQN13checker_VtoQN_f(float *vec) { float L, u, v, x, y, z; int ui, vi, zi; ! _ODD_VtoQ(6, vec); } int ! _limnQN13checker_VtoQN_d(double *vec) { double L, u, v, x, y, z; int ui, vi, zi; ! _ODD_VtoQ(6, vec); } --- 499,531 ---- void ! _limnQN13octa_QNtoV_f(float *vec, int qn) { int ui, vi, zi; float u, v, x, y, z, n; ! _ODD_OCTA_QtoV(6, vec, qn); } void ! _limnQN13octa_QNtoV_d(double *vec, int qn) { int ui, vi, zi; double u, v, x, y, z, n; ! _ODD_OCTA_QtoV(6, vec, qn); } int ! _limnQN13octa_VtoQN_f(float *vec) { float L, u, v, x, y, z; int ui, vi, zi; ! _ODD_OCTA_VtoQ(6, vec); } int ! _limnQN13octa_VtoQN_d(double *vec) { double L, u, v, x, y, z; int ui, vi, zi; ! _ODD_OCTA_VtoQ(6, vec); } *************** *** 418,422 **** double u, v, x, y, z, n; ! _EVEN_QtoV(6, vec, qn); } --- 537,541 ---- double u, v, x, y, z, n; ! _EVEN_CHECK_QtoV(6, vec, qn); } *************** *** 426,430 **** double u, v, x, y, z, n; ! _EVEN_QtoV(6, vec, qn); } --- 545,549 ---- double u, v, x, y, z, n; ! _EVEN_CHECK_QtoV(6, vec, qn); } *************** *** 434,438 **** int xi, yi, ui, vi; ! _EVEN_VtoQ(6, vec); } --- 553,557 ---- int xi, yi, ui, vi; ! _EVEN_CHECK_VtoQ(6, vec); } *************** *** 442,446 **** int xi, yi, ui, vi; ! _EVEN_VtoQ(6, vec); } --- 561,599 ---- int xi, yi, ui, vi; ! _EVEN_CHECK_VtoQ(6, vec); ! } ! ! /* ---------------------------------------------------------------- */ ! ! void ! _limnQN12octa_QNtoV_f(float *vec, int qn) { ! int xi, yi; ! double x, y, z, n; ! ! _EVEN_OCTA_QtoV(6, vec, qn); ! } ! ! void ! _limnQN12octa_QNtoV_d(double *vec, int qn) { ! int xi, yi; ! double x, y, z, n; ! ! _EVEN_OCTA_QtoV(6, vec, qn); ! } ! ! int ! _limnQN12octa_VtoQN_f(float *vec) { ! double L, x, y, z; ! int xi, yi; ! ! _EVEN_OCTA_VtoQ(6, vec); ! } ! ! int ! _limnQN12octa_VtoQN_d(double *vec) { ! double L, x, y, z; ! int xi, yi; ! ! _EVEN_OCTA_VtoQ(6, vec); } *************** *** 448,480 **** void ! _limnQN11checker_QNtoV_f(float *vec, int qn) { int ui, vi, zi; float u, v, x, y, z, n; ! _ODD_QtoV(5, vec, qn); } void ! _limnQN11checker_QNtoV_d(double *vec, int qn) { int ui, vi, zi; double u, v, x, y, z, n; ! _ODD_QtoV(5, vec, qn); } int ! _limnQN11checker_VtoQN_f(float *vec) { float L, u, v, x, y, z; int ui, vi, zi; ! _ODD_VtoQ(5, vec); } int ! _limnQN11checker_VtoQN_d(double *vec) { double L, u, v, x, y, z; int ui, vi, zi; ! _ODD_VtoQ(5, vec); } --- 601,633 ---- void ! _limnQN11octa_QNtoV_f(float *vec, int qn) { int ui, vi, zi; float u, v, x, y, z, n; ! _ODD_OCTA_QtoV(5, vec, qn); } void ! _limnQN11octa_QNtoV_d(double *vec, int qn) { int ui, vi, zi; double u, v, x, y, z, n; ! _ODD_OCTA_QtoV(5, vec, qn); } int ! _limnQN11octa_VtoQN_f(float *vec) { float L, u, v, x, y, z; int ui, vi, zi; ! _ODD_OCTA_VtoQ(5, vec); } int ! _limnQN11octa_VtoQN_d(double *vec) { double L, u, v, x, y, z; int ui, vi, zi; ! _ODD_OCTA_VtoQ(5, vec); } *************** *** 486,490 **** double u, v, x, y, z, n; ! _EVEN_QtoV(5, vec, qn); } --- 639,643 ---- double u, v, x, y, z, n; ! _EVEN_CHECK_QtoV(5, vec, qn); } *************** *** 494,498 **** double u, v, x, y, z, n; ! _EVEN_QtoV(5, vec, qn); } --- 647,651 ---- double u, v, x, y, z, n; ! _EVEN_CHECK_QtoV(5, vec, qn); } *************** *** 502,506 **** int xi, yi, ui, vi; ! _EVEN_VtoQ(5, vec); } --- 655,659 ---- int xi, yi, ui, vi; ! _EVEN_CHECK_VtoQ(5, vec); } *************** *** 510,547 **** int xi, yi, ui, vi; ! _EVEN_VtoQ(5, vec); } /* ----------------------------------------------------------- */ void ! _limnQN9checker_QNtoV_f(float *vec, int qn) { int ui, vi, zi; float u, v, x, y, z, n; ! _ODD_QtoV(4, vec, qn); } void ! _limnQN9checker_QNtoV_d(double *vec, int qn) { int ui, vi, zi; double u, v, x, y, z, n; ! _ODD_QtoV(4, vec, qn); } int ! _limnQN9checker_VtoQN_f(float *vec) { float L, u, v, x, y, z; int ui, vi, zi; ! _ODD_VtoQ(4, vec); } int ! _limnQN9checker_VtoQN_d(double *vec) { double L, u, v, x, y, z; int ui, vi, zi; ! _ODD_VtoQ(4, vec); } --- 663,734 ---- int xi, yi, ui, vi; ! _EVEN_CHECK_VtoQ(5, vec); ! } ! ! /* ---------------------------------------------------------------- */ ! ! void ! _limnQN10octa_QNtoV_f(float *vec, int qn) { ! int xi, yi; ! double x, y, z, n; ! ! _EVEN_OCTA_QtoV(5, vec, qn); ! } ! ! void ! _limnQN10octa_QNtoV_d(double *vec, int qn) { ! int xi, yi; ! double x, y, z, n; ! ! _EVEN_OCTA_QtoV(5, vec, qn); ! } ! ! int ! _limnQN10octa_VtoQN_f(float *vec) { ! double L, x, y, z; ! int xi, yi; ! ! _EVEN_OCTA_VtoQ(5, vec); ! } ! ! int ! _limnQN10octa_VtoQN_d(double *vec) { ! double L, x, y, z; ! int xi, yi; ! ! _EVEN_OCTA_VtoQ(5, vec); } /* ----------------------------------------------------------- */ void ! _limnQN9octa_QNtoV_f(float *vec, int qn) { int ui, vi, zi; float u, v, x, y, z, n; ! _ODD_OCTA_QtoV(4, vec, qn); } void ! _limnQN9octa_QNtoV_d(double *vec, int qn) { int ui, vi, zi; double u, v, x, y, z, n; ! _ODD_OCTA_QtoV(4, vec, qn); } int ! _limnQN9octa_VtoQN_f(float *vec) { float L, u, v, x, y, z; int ui, vi, zi; ! _ODD_OCTA_VtoQ(4, vec); } int ! _limnQN9octa_VtoQN_d(double *vec) { double L, u, v, x, y, z; int ui, vi, zi; ! _ODD_OCTA_VtoQ(4, vec); } *************** *** 553,557 **** double u, v, x, y, z, n; ! _EVEN_QtoV(4, vec, qn); } --- 740,744 ---- double u, v, x, y, z, n; ! _EVEN_CHECK_QtoV(4, vec, qn); } *************** *** 561,565 **** double u, v, x, y, z, n; ! _EVEN_QtoV(4, vec, qn); } --- 748,752 ---- double u, v, x, y, z, n; ! _EVEN_CHECK_QtoV(4, vec, qn); } *************** *** 569,573 **** int xi, yi, ui, vi; ! _EVEN_VtoQ(4, vec); } --- 756,760 ---- int xi, yi, ui, vi; ! _EVEN_CHECK_VtoQ(4, vec); } *************** *** 577,581 **** int xi, yi, ui, vi; ! _EVEN_VtoQ(4, vec); } --- 764,802 ---- int xi, yi, ui, vi; ! _EVEN_CHECK_VtoQ(4, vec); ! } ! ! /* ---------------------------------------------------------------- */ ! ! void ! _limnQN8octa_QNtoV_f(float *vec, int qn) { ! int xi, yi; ! double x, y, z, n; ! ! _EVEN_OCTA_QtoV(4, vec, qn); ! } ! ! void ! _limnQN8octa_QNtoV_d(double *vec, int qn) { ! int xi, yi; ! double x, y, z, n; ! ! _EVEN_OCTA_QtoV(4, vec, qn); ! } ! ! int ! _limnQN8octa_VtoQN_f(float *vec) { ! double L, x, y, z; ! int xi, yi; ! ! _EVEN_OCTA_VtoQ(4, vec); ! } ! ! int ! _limnQN8octa_VtoQN_d(double *vec) { ! double L, x, y, z; ! int xi, yi; ! ! _EVEN_OCTA_VtoQ(4, vec); } *************** *** 588,599 **** _limnQN16border1_QNtoV_f, _limnQN16checker_QNtoV_f, ! _limnQN15checker_QNtoV_f, _limnQN14checker_QNtoV_f, ! _limnQN13checker_QNtoV_f, _limnQN12checker_QNtoV_f, ! _limnQN11checker_QNtoV_f, _limnQN10checker_QNtoV_f, ! _limnQN9checker_QNtoV_f, ! _limnQN8checker_QNtoV_f }; --- 809,825 ---- _limnQN16border1_QNtoV_f, _limnQN16checker_QNtoV_f, ! _limnQN16octa_QNtoV_f, ! _limnQN15octa_QNtoV_f, _limnQN14checker_QNtoV_f, ! _limnQN14octa_QNtoV_f, ! _limnQN13octa_QNtoV_f, _limnQN12checker_QNtoV_f, ! _limnQN12octa_QNtoV_f, ! _limnQN11octa_QNtoV_f, _limnQN10checker_QNtoV_f, ! _limnQN10octa_QNtoV_f, ! _limnQN9octa_QNtoV_f, ! _limnQN8checker_QNtoV_f, ! _limnQN8octa_QNtoV_f }; *************** *** 604,615 **** NULL, _limnQN16checker_QNtoV_d, ! _limnQN15checker_QNtoV_d, _limnQN14checker_QNtoV_d, ! _limnQN13checker_QNtoV_d, _limnQN12checker_QNtoV_d, ! _limnQN11checker_QNtoV_d, _limnQN10checker_QNtoV_d, ! _limnQN9checker_QNtoV_d, ! _limnQN8checker_QNtoV_d }; --- 830,846 ---- NULL, _limnQN16checker_QNtoV_d, ! _limnQN16octa_QNtoV_d, ! _limnQN15octa_QNtoV_d, _limnQN14checker_QNtoV_d, ! _limnQN14octa_QNtoV_d, ! _limnQN13octa_QNtoV_d, _limnQN12checker_QNtoV_d, ! _limnQN12octa_QNtoV_d, ! _limnQN11octa_QNtoV_d, _limnQN10checker_QNtoV_d, ! _limnQN10octa_QNtoV_d, ! _limnQN9octa_QNtoV_d, ! _limnQN8checker_QNtoV_d, ! _limnQN8octa_QNtoV_d }; *************** *** 620,631 **** _limnQN16border1_VtoQN_f, _limnQN16checker_VtoQN_f, ! _limnQN15checker_VtoQN_f, _limnQN14checker_VtoQN_f, ! _limnQN13checker_VtoQN_f, _limnQN12checker_VtoQN_f, ! _limnQN11checker_VtoQN_f, _limnQN10checker_VtoQN_f, ! _limnQN9checker_VtoQN_f, ! _limnQN8checker_VtoQN_f }; --- 851,867 ---- _limnQN16border1_VtoQN_f, _limnQN16checker_VtoQN_f, ! _limnQN16octa_VtoQN_f, ! _limnQN15octa_VtoQN_f, _limnQN14checker_VtoQN_f, ! _limnQN14octa_VtoQN_f, ! _limnQN13octa_VtoQN_f, _limnQN12checker_VtoQN_f, ! _limnQN12octa_VtoQN_f, ! _limnQN11octa_VtoQN_f, _limnQN10checker_VtoQN_f, ! _limnQN10octa_VtoQN_f, ! _limnQN9octa_VtoQN_f, ! _limnQN8checker_VtoQN_f, ! _limnQN8octa_VtoQN_f }; *************** *** 636,647 **** NULL, _limnQN16checker_VtoQN_d, ! _limnQN15checker_VtoQN_d, _limnQN14checker_VtoQN_d, ! _limnQN13checker_VtoQN_d, _limnQN12checker_VtoQN_d, ! _limnQN11checker_VtoQN_d, _limnQN10checker_VtoQN_d, ! _limnQN9checker_VtoQN_d, ! _limnQN8checker_VtoQN_d }; --- 872,888 ---- NULL, _limnQN16checker_VtoQN_d, ! _limnQN16octa_VtoQN_d, ! _limnQN15octa_VtoQN_d, _limnQN14checker_VtoQN_d, ! _limnQN14octa_VtoQN_d, ! _limnQN13octa_VtoQN_d, _limnQN12checker_VtoQN_d, ! _limnQN12octa_VtoQN_d, ! _limnQN11octa_VtoQN_d, _limnQN10checker_VtoQN_d, ! _limnQN10octa_VtoQN_d, ! _limnQN9octa_VtoQN_d, ! _limnQN8checker_VtoQN_d, ! _limnQN8octa_VtoQN_d }; *************** *** 652,662 **** --- 893,908 ---- (1 << 16), (1 << 16), + (1 << 16), (1 << 15), (1 << 14), + (1 << 14), (1 << 13), (1 << 12), + (1 << 12), (1 << 11), (1 << 10), + (1 << 10), (1 << 9), + (1 << 8), (1 << 8) }; Index: renderLimn.c =================================================================== RCS file: /cvsroot/teem/teem/src/limn/renderLimn.c,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** renderLimn.c 19 Feb 2004 06:45:12 -0000 1.22 --- renderLimn.c 3 Mar 2004 13:14:08 -0000 1.23 *************** *** 118,122 **** B = look->kads[0]*look->rgba[2]; if (nmap) { ! qn = limnVtoQN_f[limnQN16checker](face->worldNormal); map = nmap->data; R += look->kads[1]*look->rgba[0]*map[0 + 3*qn]; --- 118,122 ---- B = look->kads[0]*look->rgba[2]; if (nmap) { ! qn = limnVtoQN_f[limnQN16octa](face->worldNormal); map = nmap->data; R += look->kads[1]*look->rgba[0]*map[0 + 3*qn]; |