117
|
1 #ifndef INCLUDED_TAPESTRY
|
|
2 #define INCLUDED_TAPESTRY
|
|
3
|
|
4 /**
|
|
5 * image file name と tapestry DB の binary tree
|
|
6 *
|
|
7 * // PPE
|
|
8 * main memory の tapestry DB (Array)
|
|
9 * tapestry DB への accessor
|
|
10 *
|
|
11 * TapestryPtr getTapestry(int TapestryID);
|
|
12 * TilePtr getTile(TapestryPtr tapsetry, int tx, int ty, int scale);
|
|
13 *
|
|
14 * SPE が生成する tapestry List (in CreateSpan)
|
|
15 * (no texture image)
|
|
16 * @in TapestryDBPtr, Tapestry ID, x, y, tx, ty, px, py
|
|
17 * x, y : polygon の中の平面座標
|
|
18 * tx, ty : texture の座標
|
|
19 * px, py : texture の分割数
|
|
20 *
|
|
21 * @out (TilePtr, tix1, tiy1, tix2, tiy2)*
|
|
22 *
|
|
23 *
|
|
24 * SPE に渡す tapestry List
|
|
25 * @in Tile
|
|
26 *
|
|
27 * // SPE
|
|
28 * SPE 内部での tapestry DB (Hash)
|
|
29 * TapestryID, scale, TilePtr, Tile
|
|
30 *
|
|
31 *
|
|
32 * SPE 内部での tapestry DB への accessor
|
|
33 * TileEntryPtr getTile(int TapestryID, int tx, int ty, int scale);
|
|
34 *
|
|
35 * if (TileEntry == NULL) {
|
|
36 * DMA read
|
|
37 * }
|
|
38 *
|
|
39 *
|
|
40 * Rendering
|
|
41 * 1pass Zbuffer と Texture の有無の判定
|
|
42 * if (zbuffer ok) {
|
|
43 * if (texture ある) {
|
|
44 * zbuffer 、linebunf に書き込む
|
|
45 * } else {
|
|
46 * texture の load list に加える
|
|
47 * zbuffer だけ更新しておく
|
|
48 * }
|
|
49 * } else {
|
|
50 * 無視
|
|
51 * }
|
|
52 *
|
|
53 * 1pass で texture が一杯になったら、中断して
|
|
54 * ここまでのを書き込んどけ
|
|
55 *
|
|
56 *
|
|
57 * 2pass rgb の書き込み
|
|
58 *
|
|
59 * if (zbuffer の値が自分と一緒) {
|
|
60 * read した texture みて
|
|
61 * 書き込め!
|
|
62 * }
|
|
63 *
|
|
64 */
|
|
65 struct texture_block {
|
|
66
|
|
67 };
|
118
|
68 #if 0
|
117
|
69 struct TileList {
|
|
70 TilePtr tile;
|
|
71 int tix1, tiy1, tix2, tiy2;
|
|
72 };
|
|
73 #endif
|
118
|
74 #endif
|