comparison TaskManager/Test/test_render/task/DrawSpan.cpp @ 321:f64d75473f95

merge 317
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 10 Jun 2009 15:23:25 +0900
parents 7efc5ede2c03
children f79cacba09b1
comparison
equal deleted inserted replaced
320:776c125af0b2 321:f64d75473f95
264 */ 264 */
265 void 265 void
266 DrawSpan::updateBuffer(float zpos, int rangex, int x, int y, int tex_x, int tex_y, 266 DrawSpan::updateBuffer(float zpos, int rangex, int x, int y, int tex_x, int tex_y,
267 float normal_x, float normal_y, float normal_z, uint32 *tex_addr) 267 float normal_x, float normal_y, float normal_z, uint32 *tex_addr)
268 { 268 {
269 <<<<<<< local
270 int rgb = get_rgb(tex_x, tex_y, tex_addr);
271
272 zRow[x + (rangex*y)] = zpos;
273 linebuf[x + (rangex*y)] = rgb;
274 =======
275 269
276 int color = get_rgb(tex_x, tex_y, tex_addr); 270 int color = get_rgb(tex_x, tex_y, tex_addr);
277 /*下位4bitを抽出*/ 271 /*下位4bitを抽出*/
278 int alpha = color & 0x000F; 272 int alpha = color & 0x000F;
279 /*完全に透けているか判断*/ 273 /*完全に透けているか判断*/
282 color = infinity_light_calc(color,normal_x,normal_y,normal_z); 276 color = infinity_light_calc(color,normal_x,normal_y,normal_z);
283 277
284 zRow[x + (rangex*y)] = zpos*flag + zRow[x + (rangex*y)]*(1-flag); 278 zRow[x + (rangex*y)] = zpos*flag + zRow[x + (rangex*y)]*(1-flag);
285 linebuf[x + (rangex*y)] = color*flag + linebuf[x + (rangex*y)]*(1-flag); 279 linebuf[x + (rangex*y)] = color*flag + linebuf[x + (rangex*y)]*(1-flag);
286 280
287 >>>>>>> other
288 } 281 }
289 282
290 /** 283 /**
291 * 長さが 1 の Span の描画 (要するに 1 pixel) 284 * 長さが 1 の Span の描画 (要するに 1 pixel)
292 * 285 *