Mercurial > hg > Members > kono > Cerium
annotate TaskManager/Test/test_render/task/DrawSpan.h @ 360:716b87bce32a
add vacuum "-sg 16"
author | aaa |
---|---|
date | Fri, 17 Jul 2009 22:50:06 +0900 |
parents | a7ff29110474 |
children | eab18aa0c7f6 |
rev | line source |
---|---|
109 | 1 #ifndef INCLUDED_TASK_DRAW_SPAN |
2 #define INCLUDED_TASK_DRAW_SPAN | |
3 | |
4 #ifndef INCLUDED_SCHED_TASK | |
5 # include "SchedTask.h" | |
6 #endif | |
7 | |
167
c8b868871dce
DrawSpan で使う Tile の Hash の扱いは class TileHash を生成する事に。
gongo@localhost.localdomain
parents:
166
diff
changeset
|
8 #ifndef INCLUDED_TAPESTRY |
c8b868871dce
DrawSpan で使う Tile の Hash の扱いは class TileHash を生成する事に。
gongo@localhost.localdomain
parents:
166
diff
changeset
|
9 # include "Tapestry.h" |
c8b868871dce
DrawSpan で使う Tile の Hash の扱いは class TileHash を生成する事に。
gongo@localhost.localdomain
parents:
166
diff
changeset
|
10 #endif |
c8b868871dce
DrawSpan で使う Tile の Hash の扱いは class TileHash を生成する事に。
gongo@localhost.localdomain
parents:
166
diff
changeset
|
11 |
184 | 12 #ifndef INCLUDED_SPAN_PACK |
13 # include "SpanPack.h" | |
14 #endif | |
15 | |
16 #ifndef INCLUDED_TEXTURE_HASH | |
17 # include "TileHash.h" | |
18 #endif | |
19 | |
109 | 20 class DrawSpan : public SchedTask { |
21 public: | |
22 SchedConstructor(DrawSpan); | |
23 | |
193 | 24 int *linebuf; |
25 float *zRow; | |
184 | 26 TileHashPtr hash; |
27 TileListPtr tileList; | |
193 | 28 int doneWrite; |
29 | |
30 ~DrawSpan(void); | |
184 | 31 |
109 | 32 int run(void *rbuf, void *wbuf); |
33 | |
193 | 34 int* linebuf_init(int width, int height, int rgb); |
35 float* zRow_init(int width, int height); | |
360 | 36 TilePtr set_rgb(uint32 *addr, int wait_tag); |
210 | 37 void set_rgbs(uint32 *addr, uint32 *max_addr, int wait_tag); |
360 | 38 uint32 get_rgb(int tx, int ty, TilePtr tile); |
184 | 39 TilePtr isAvailableTile(uint32 *addr); |
40 uint32* getTile(int tx, int ty, int tw, uint32 *tex_addr_top); | |
41 int getTexBlock(int tx, int ty, int twidth); | |
210 | 42 void writebuffer(unsigned int display, int width, int height, |
43 int screen_width); | |
44 void updateBuffer(float zpos, int rangex, int x, int y, | |
360 | 45 int tex_x, int tex_y, float normal_x, float nomral_x, float normal_z, TilePtr tile); |
210 | 46 |
184 | 47 |
48 void reboot(SpanPackPtr spack, int cur_span_x); | |
210 | 49 |
50 int drawDot1(SpanPtr span, int startx, int endx, int wait_tag); | |
51 void drawDot2(SpanPtr span, int startx, int endx, int js, int wait_tag); | |
52 int drawLine1(SpanPtr span, int startx, int endx, int wait_tag); | |
53 void drawLine2(SpanPtr span, int startx, int endx, int js, int wait_tag); | |
315 | 54 int infinity_light_calc(int color,float normal_x, float normal_y, float normal_z); |
109 | 55 }; |
56 | |
193 | 57 typedef struct { |
58 uint32 display; | |
59 int screen_width; | |
60 int rangex_start; | |
61 int rangex_end; | |
62 int rangey; | |
63 } DrawSpanArg, *DrawSpanArgPtr; | |
64 | |
109 | 65 #endif |