Mercurial > hg > Members > kono > Cerium
view Renderer/Engine/spe/DrawSpan.h @ 594:20166ecb1a78
add light
author | yutaka@henri.cr.ie.u-ryukyu.ac.jp |
---|---|
date | Wed, 04 Nov 2009 15:57:23 +0900 |
parents | 735f76483bb2 |
children | 360032cc500e |
line wrap: on
line source
#ifndef INCLUDED_TASK_DRAW_SPAN #define INCLUDED_TASK_DRAW_SPAN #include "SchedTask.h" #include "Tapestry.h" #include "SpanPack.h" typedef struct { int *linebuf; float *zRow; TileListPtr tileList; int doneWrite; } G, *Gptr; static int* linebuf_init(SchedTask *smanager, int width, int height, int rgb); static float* zRow_init(SchedTask *smanager, int width, int height); // static TilePtr set_rgb(memaddr addr, int wait_tag); // static void set_rgbs(memaddr addr, uint32 *max_addr, int wait_tag); static uint32 get_rgb(int tx, int ty, TilePtr tile); // static TilePtr isAvailableTile(memaddr addr); static memaddr getTile(int tx, int ty, int tw, memaddr tex_addr_top); static int getTexBlock(int tx, int ty, int twidth); static void writebuffer(SchedTask *smanager, Gptr g, unsigned int display, int width, int height, int screen_width); static void updateBuffer(Gptr g, float zpos, int rangex, int x, int y, int tex_x, int tex_y, float normal_x, float nomral_x, float normal_z, TilePtr tile); // static void reboot(SpanPackPtr spack, int cur_span_x); static int drawDot1(SchedTask *smanager, Gptr g, SpanPtr span, int startx, int endx, int wait_tag); //static void drawDot2(SchedTask *smanager, SpanPtr span, int startx, int endx, int js, int wait_tag); static int drawLine1(SchedTask *smanager, Gptr g, SpanPtr span, int startx, int endx, int wait_tag); // static void drawLine2(SchedTask *smanager, SpanPtr span, int startx, int endx, int js, int wait_tag); static int infinity_light_calc(int color,float normal_x, float normal_y, float normal_z); typedef struct { uint32 display; int screen_width; int rangex_start; int rangex_end; int rangey; } DrawSpanArg, *DrawSpanArgPtr; #endif