comparison TaskManager/Test/test_render/task/DrawSpan.h @ 467:44c0bce54dcf

fix all examples. test_render is not working now.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 01 Oct 2009 19:25:25 +0900
parents 8611780d479f
children bd5b93d39597
comparison
equal deleted inserted replaced
466:4fa8760e18c2 467:44c0bce54dcf
6 #include "SpanPack.h" 6 #include "SpanPack.h"
7 #if !USE_MEMHASH 7 #if !USE_MEMHASH
8 #include "TileHash.h" 8 #include "TileHash.h"
9 #endif 9 #endif
10 10
11 class DrawSpan : public SchedTask { 11 struct g {
12 public:
13 SchedConstructor(DrawSpan);
14
15 int *linebuf; 12 int *linebuf;
16 float *zRow; 13 float *zRow;
17 TileListPtr tileList; 14 TileListPtr tileList;
18 int doneWrite; 15 int doneWrite;
16 } G, *Gptr;
19 17
20 ~DrawSpan(void);
21 18
22 int run(SchedTask *smanager, void *rbuf, void *wbuf);
23 19
24 int* linebuf_init(SchedTask *smanager, int width, int height, int rgb); 20 static int* linebuf_init(SchedTask *smanager, int width, int height, int rgb);
25 float* zRow_init(SchedTask *smanager, int width, int height); 21 static float* zRow_init(SchedTask *smanager, int width, int height);
26 TilePtr set_rgb(memaddr addr, int wait_tag); 22 static TilePtr set_rgb(memaddr addr, int wait_tag);
27 void set_rgbs(memaddr addr, uint32 *max_addr, int wait_tag); 23 static void set_rgbs(memaddr addr, uint32 *max_addr, int wait_tag);
28 uint32 get_rgb(int tx, int ty, TilePtr tile); 24 static uint32 get_rgb(int tx, int ty, TilePtr tile);
29 TilePtr isAvailableTile(memaddr addr); 25 static TilePtr isAvailableTile(memaddr addr);
30 memaddr getTile(int tx, int ty, int tw, memaddr tex_addr_top); 26 static memaddr getTile(int tx, int ty, int tw, memaddr tex_addr_top);
31 int getTexBlock(int tx, int ty, int twidth); 27 static int getTexBlock(int tx, int ty, int twidth);
32 void writebuffer(SchedTask *smanager, unsigned int display, 28 static void writebuffer(SchedTask *smanager, unsigned int display,
33 int width, int height, int screen_width); 29 int width, int height, int screen_width);
34 void updateBuffer(float zpos, int rangex, int x, int y, 30 static void updateBuffer(float zpos, int rangex, int x, int y,
35 int tex_x, int tex_y, float normal_x, float nomral_x, float normal_z, TilePtr tile); 31 int tex_x, int tex_y, float normal_x, float nomral_x, float normal_z, TilePtr tile);
36 32
37 33
38 void reboot(SpanPackPtr spack, int cur_span_x); 34 static void reboot(SpanPackPtr spack, int cur_span_x);
39 35
40 int drawDot1(SchedTask *smanager, SpanPtr span, int startx, int endx, int wait_tag); 36 static int drawDot1(SchedTask *smanager, SpanPtr span, int startx, int endx, int wait_tag);
41 void drawDot2(SchedTask *smanager, SpanPtr span, int startx, int endx, int js, int wait_tag); 37 static void drawDot2(SchedTask *smanager, SpanPtr span, int startx, int endx, int js, int wait_tag);
42 int drawLine1(SchedTask *smanager, SpanPtr span, int startx, int endx, int wait_tag); 38 static int drawLine1(SchedTask *smanager, SpanPtr span, int startx, int endx, int wait_tag);
43 void drawLine2(SchedTask *smanager, SpanPtr span, int startx, int endx, int js, int wait_tag); 39 static void drawLine2(SchedTask *smanager, SpanPtr span, int startx, int endx, int js, int wait_tag);
44 int infinity_light_calc(int color,float normal_x, float normal_y, float normal_z); 40 static int infinity_light_calc(int color,float normal_x, float normal_y, float normal_z);
45 }; 41 };
46 42
47 typedef struct { 43 typedef struct {
48 uint32 display; 44 uint32 display;
49 int screen_width; 45 int screen_width;