comparison Renderer/DataPack/Test/SpanPack/polygonpack.cpp @ 318:a5ae1fbbafd6 draft

Document/Cerium_2009.mm
author aaa
date Tue, 09 Jun 2009 22:55:00 +0900
parents 3cb2530b4ca4
children f22280772f20
comparison
equal deleted inserted replaced
317:f08ba345acb6 318:a5ae1fbbafd6
82 int l = 1; 82 int l = 1;
83 int start_y = (int)vMid->y; 83 int start_y = (int)vMid->y;
84 int end_y = (int)vMin->y; 84 int end_y = (int)vMin->y;
85 85
86 if (start_y<end_y) { 86 if (start_y<end_y) {
87 int i; i=end_y; end_y=start_y; start_y = i; //yの入れ替え 87 int i; i=end_y; end_y=start_y; start_y = i; //y$B$NF~$lBX$((B
88 k = 1; 88 k = 1;
89 l = -1; 89 l = -1;
90 } 90 }
91 91
92 div_y = start_y - end_y; // > 0 92 div_y = start_y - end_y; // > 0
93 93
94 for(i = k; i < div_y+1; i++) { 94 for(i = k; i < div_y+1; i++) {
95 //ここでspanの左端と右端のx,zを求めてる 95 //$B$3$3$G(Bspan$B$N:8C<$H1&C<$N(Bx,z$B$r5a$a$F$k(B
96 tmp_xpos = calc(vMid1->x - vMin->x ,div_y, i, vMin->x); 96 tmp_xpos = calc(vMid1->x - vMin->x ,div_y, i, vMin->x);
97 tmp_end = calc(vMid->x - vMin->x ,div_y, i, vMin->x); 97 tmp_end = calc(vMid->x - vMin->x ,div_y, i, vMin->x);
98 tmp_z = calc(vMid1->z - vMin->z ,div_y, i, vMin->z); 98 tmp_z = calc(vMid1->z - vMin->z ,div_y, i, vMin->z);
99 tmp_zpos = calc(vMid->z - vMin->z ,div_y, i, vMin->z); 99 tmp_zpos = calc(vMid->z - vMin->z ,div_y, i, vMin->z);
100 //printf("x:%f end:%f z:%f zpos:%f\n",tmp_xpos,tmp_end,tmp_z,tmp_zpos); 100 //printf("x:%f end:%f z:%f zpos:%f\n",tmp_xpos,tmp_end,tmp_z,tmp_zpos);
101 //ここからspanの左端と右端に対応するテクスチャを計算する 101 //$B$3$3$+$i(Bspan$B$N:8C<$H1&C<$KBP1~$9$k%F%/%9%A%c$r7W;;$9$k(B
102 tmp_tex1 =((i/(div_y)) * vMid1->tex_x) + \ 102 tmp_tex1 =((i/(div_y)) * vMid1->tex_x) + \
103 ( ((div_y - i)/(div_y)) * vMin->tex_x); 103 ( ((div_y - i)/(div_y)) * vMin->tex_x);
104 tmp_tex2 =( (i/(div_y)) * vMid->tex_x) + \ 104 tmp_tex2 =( (i/(div_y)) * vMid->tex_x) + \
105 ( ((div_y - i)/(div_y)) * vMin->tex_x); 105 ( ((div_y - i)/(div_y)) * vMin->tex_x);
106 106