Mercurial > hg > Members > kono > Cerium
annotate Renderer/Engine/viewer_types.h @ 918:49b3c753e209
add loadelf in tmp/old.
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 25 Jul 2010 10:46:45 +0900 |
parents | 735f76483bb2 |
children | 655e11f6e437 |
rev | line source |
---|---|
283 | 1 #ifndef INCLUDED_VIEWER_TYPES |
2 #define INCLUDED_VIEWER_TYPES | |
3 | |
298 | 4 // texture は 8x8 に分割 |
5 // この値は、SpanPack にも使う | |
283 | 6 const int TEXTURE_SPLIT_PIXEL = 8; |
7 const int TEXTURE_BLOCK_SIZE = TEXTURE_SPLIT_PIXEL*TEXTURE_SPLIT_PIXEL; | |
8 | |
298 | 9 // 一個の SPE が描画担当する width, height (pixel) |
283 | 10 const int split_screen_w = 256; |
11 const int split_screen_h = 8; | |
12 | |
13 enum video_type { | |
14 VTYPE_SDL, | |
15 VTYPE_FB, | |
16 }; | |
17 | |
18 #if defined(__LITTLE_ENDIAN__) | |
19 const int redMask = 0x0000ff00; | |
20 const int greenMask = 0x00ff0000; | |
21 const int blueMask = 0xff000000; | |
22 const int alphaMask = 0x000000ff; | |
23 #else | |
24 const int redMask = 0x00ff0000; | |
25 const int greenMask = 0x0000ff00; | |
26 const int blueMask = 0x000000ff; | |
27 const int alphaMask = 0xff000000; | |
28 #endif | |
29 | |
918
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
30 static inline int |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
31 getLocalPosition(int d, int offset) |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
32 { |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
33 /** |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
34 * offset が 2 の冪乗の時だけ使える。 |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
35 * 現在は offset は 2 の冪乗のみなので |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
36 * これで問題ないけどどうなの? |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
37 */ |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
38 return d & (offset-1); |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
39 |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
40 // offset が 2 の冪乗以外はこれにしないとだめ |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
41 //return d % offset; |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
42 } |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
43 |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
44 /** |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
45 * ワールド座標における x の値を |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
46 * split_screen_w で分割した領域(1 〜 split_screen_w)での座標に変換する |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
47 * (ex. split_screen_w が 256 の場合、 |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
48 * x = 1 -> 1 |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
49 * x = 256 -> 256 |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
50 * x = 257 -> 1 |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
51 */ |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
52 static inline int |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
53 getLocalX(int x) |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
54 { |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
55 return getLocalPosition(x, split_screen_w); |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
56 } |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
57 |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
58 /** |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
59 * getLocalX に同じ |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
60 */ |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
61 static inline int |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
62 getLocalY(int y) |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
63 { |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
64 return getLocalPosition(y, split_screen_h); |
49b3c753e209
add loadelf in tmp/old.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
65 } |
283 | 66 |
67 #endif |