Mercurial > hg > Members > kono > Cerium
annotate TaskManager/Test/test_render/Span.h @ 164:38cbb7aecc70
TilePtr は SPE で計算した方がいいと判断して変更。
author | gongo@gendarme.cr.ie.u-ryukyu.ac.jp |
---|---|
date | Tue, 09 Dec 2008 10:48:49 +0900 |
parents | 1f4c3f3238e6 |
children | 5cde66c926b4 |
rev | line source |
---|---|
109 | 1 #ifndef INCLUDED_SPAN |
2 #define INCLUDED_SPAN | |
3 | |
113
6ba88fa28df6
Define New Texture Data Structure
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
109
diff
changeset
|
4 #ifndef INCLUDED_TAPESTRY |
6ba88fa28df6
Define New Texture Data Structure
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
109
diff
changeset
|
5 # include "Tapestry.h" |
6ba88fa28df6
Define New Texture Data Structure
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
109
diff
changeset
|
6 #endif |
6ba88fa28df6
Define New Texture Data Structure
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
109
diff
changeset
|
7 |
164
38cbb7aecc70
TilePtr は SPE で計算した方がいいと判断して変更。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
161
diff
changeset
|
8 #ifndef INCLUDED_TYPES |
38cbb7aecc70
TilePtr は SPE で計算した方がいいと判断して変更。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
161
diff
changeset
|
9 # include "types.h" |
38cbb7aecc70
TilePtr は SPE で計算した方がいいと判断して変更。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
161
diff
changeset
|
10 #endif |
38cbb7aecc70
TilePtr は SPE で計算した方がいいと判断して変更。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
161
diff
changeset
|
11 |
161
1f4c3f3238e6
texture の座標がマイナスになったあと、それを 0 にし忘れてた
gongo@localhost.localdomain
parents:
146
diff
changeset
|
12 #define MAX_TILE_LIST 64 |
141 | 13 |
14 typedef struct tile { | |
15 void *tile; | |
16 int tix, tiy; | |
161
1f4c3f3238e6
texture の座標がマイナスになったあと、それを 0 にし忘れてた
gongo@localhost.localdomain
parents:
146
diff
changeset
|
17 //int padding; // 16バイト倍数にする用 |
141 | 18 } TileInfo, *TileInfoPtr; |
19 | |
20 typedef struct tile_list { | |
21 int size; | |
22 struct tile_list *next; | |
23 int pad[2]; | |
24 TileInfo tileinfo[MAX_TILE_LIST]; | |
25 | |
26 void init(void) { | |
27 size = 0; | |
28 next = 0; | |
29 } | |
161
1f4c3f3238e6
texture の座標がマイナスになったあと、それを 0 にし忘れてた
gongo@localhost.localdomain
parents:
146
diff
changeset
|
30 } TileInfoList, *TileInfoListPtr; // 4*4+64*sizeof(Tile) = 16+768 |
141 | 31 |
109 | 32 class Span { |
33 public: | |
164
38cbb7aecc70
TilePtr は SPE で計算した方がいいと判断して変更。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
161
diff
changeset
|
34 uint32 *tex_addr; |
38cbb7aecc70
TilePtr は SPE で計算した方がいいと判断して変更。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
161
diff
changeset
|
35 int tex_width; |
38cbb7aecc70
TilePtr は SPE で計算した方がいいと判断して変更。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
161
diff
changeset
|
36 int tex_height; |
109 | 37 int x; |
38 int y; | |
39 int length_x; | |
40 float start_z; | |
41 float end_z; | |
42 float tex_x1; | |
43 float tex_x2; | |
44 float tex_y1; | |
45 float tex_y2; | |
113
6ba88fa28df6
Define New Texture Data Structure
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
109
diff
changeset
|
46 |
141 | 47 TileInfoListPtr tilelist; |
48 int pad[3]; | |
146 | 49 |
50 void init(void) { | |
51 tilelist = 0; | |
52 } | |
53 | |
54 void reinit(void) { | |
55 TileInfoListPtr tlist = this->tilelist; | |
56 TileInfoListPtr t; | |
57 | |
58 while (tlist) { | |
59 t = tlist->next; | |
60 free(tlist); | |
61 tlist = t; | |
62 } | |
63 | |
64 tilelist = 0; | |
65 } | |
109 | 66 }; |
67 | |
141 | 68 typedef Span* SpanPtr; |
69 | |
109 | 70 #endif |