Mercurial > hg > Members > kono > Cerium
annotate TaskManager/Test/test_render/ChangeLog @ 201:b257e27d995c
add SceneGraphIterator
author | gongo@gendarme.cr.ie.u-ryukyu.ac.jp |
---|---|
date | Mon, 26 Jan 2009 16:46:59 +0900 |
parents | 10ad99550ee8 |
children | 3f4c6a75d7e0 |
rev | line source |
---|---|
199
eb20274baa7c
add SceneGraph(ieshoot), add SystemSceneGraph(Camera)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
196
diff
changeset
|
1 2009-01-26 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp> |
eb20274baa7c
add SceneGraph(ieshoot), add SystemSceneGraph(Camera)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
196
diff
changeset
|
2 |
201 | 3 * SceneGraphIterator.cpp : add file |
4 SceneGraph を走査する用。 | |
5 基本、Java の Iterator を参考にしてます。 | |
6 追加機能としては | |
7 | |
8 - hasNext(const char* name); | |
9 名前が name の SceneGraph があるかどうか | |
10 | |
11 - next(const char* name); | |
12 名前が name の SceneGraph まで進ませる | |
13 | |
14 * SceneGraphIterator.cpp : TODO | |
15 hasNext とかは名前じゃなくて ID が良いかなーとも思うけどね。 | |
16 てかその方がいいな。あとで直します | |
17 | |
18 * ieshoot.cpp (ieboss_move): add | |
19 (ieboss_collision): add | |
20 BOSSの動きを追加。 | |
21 IETAMA が数回衝突したら BOSS を消すって処理。 | |
22 | |
23 * SceneGraphIterator.cpp (SceneGraphIterator::next): fix | |
24 break してなかった。そりゃ取れないわ | |
25 | |
26 * SceneGraph.cpp (SceneGraph::realRemoveFromTree): fix | |
27 | |
28 < p1 = p1->next; | |
29 < p = p->next; | |
30 ===== | |
31 > p1 = p1->brother; | |
32 > p = p->brother; | |
33 | |
34 | |
200 | 35 * viewer.cpp (Viewer::run_draw): fix |
36 Spanの無い部分を塗りつぶす処理はタスクを走らせず、 | |
37 そのまま memset とかの方が早い。 | |
38 まとめてするタスクを立ち上げるってのもいいかもしれない。 | |
39 あと、memsetで指定する値が、0xFF と 0x00 とで速度が違う。 | |
40 universe だと、 | |
41 | |
42 0xFF 24fps | |
43 0x00 30fps | |
44 | |
45 なんだろう。0x00 だと、ただのクリアになるから速いってことかな。 | |
46 | |
199
eb20274baa7c
add SceneGraph(ieshoot), add SystemSceneGraph(Camera)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
196
diff
changeset
|
47 * Camera.h (class Camera): add |
eb20274baa7c
add SceneGraph(ieshoot), add SystemSceneGraph(Camera)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
196
diff
changeset
|
48 とりあえず Camera を作って、これを SceneGraph の Top にした。 |
eb20274baa7c
add SceneGraph(ieshoot), add SystemSceneGraph(Camera)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
196
diff
changeset
|
49 |
eb20274baa7c
add SceneGraph(ieshoot), add SystemSceneGraph(Camera)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
196
diff
changeset
|
50 * SceneGraph.cpp (SceneGraph::realRemoveFromTree): add |
eb20274baa7c
add SceneGraph(ieshoot), add SystemSceneGraph(Camera)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
196
diff
changeset
|
51 realRemove() の Tree構造用。削除後の tree top を返す様にしている。 |
eb20274baa7c
add SceneGraph(ieshoot), add SystemSceneGraph(Camera)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
196
diff
changeset
|
52 まあ top が消えなければ返す必要も無いし、top が消えるってことは |
eb20274baa7c
add SceneGraph(ieshoot), add SystemSceneGraph(Camera)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
196
diff
changeset
|
53 SceneGraph そのものが消えるってことでそうは無い・・はずだけどね。 |
eb20274baa7c
add SceneGraph(ieshoot), add SystemSceneGraph(Camera)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
196
diff
changeset
|
54 (SceneGraph::realRemoveFromList): add |
eb20274baa7c
add SceneGraph(ieshoot), add SystemSceneGraph(Camera)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
196
diff
changeset
|
55 realRemove() の list用。削除後の list top を返す様にしている。 |
eb20274baa7c
add SceneGraph(ieshoot), add SystemSceneGraph(Camera)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
196
diff
changeset
|
56 (SceneGraph::realRemoveFromTree): fix |
eb20274baa7c
add SceneGraph(ieshoot), add SystemSceneGraph(Camera)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
196
diff
changeset
|
57 < p->next = p1->next; |
eb20274baa7c
add SceneGraph(ieshoot), add SystemSceneGraph(Camera)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
196
diff
changeset
|
58 === |
eb20274baa7c
add SceneGraph(ieshoot), add SystemSceneGraph(Camera)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
196
diff
changeset
|
59 > p->brother = p1->brother; |
eb20274baa7c
add SceneGraph(ieshoot), add SystemSceneGraph(Camera)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
196
diff
changeset
|
60 |
195 | 61 2009-01-25 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp> |
62 | |
196
932a05a7a1db
add SceneGraphRoot, tools/create_sglist.pl
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
195
diff
changeset
|
63 * add (tools/create_sglist): new |
932a05a7a1db
add SceneGraphRoot, tools/create_sglist.pl
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
195
diff
changeset
|
64 必要な SceneGraph xml file から SceneGraph を抽出し、 |
932a05a7a1db
add SceneGraphRoot, tools/create_sglist.pl
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
195
diff
changeset
|
65 名前と対応する ID を SGList.h に出力する。 |
932a05a7a1db
add SceneGraphRoot, tools/create_sglist.pl
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
195
diff
changeset
|
66 また、名前から ID を求める sglist_table を SGList.cpp に出力する。 |
932a05a7a1db
add SceneGraphRoot, tools/create_sglist.pl
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
195
diff
changeset
|
67 |
195 | 68 * SceneGraph.cpp (SceneGraph::remove): add |
69 User API。ここで削除するのではなく、まずはフラグを立てるだけ | |
70 ここですぐに消すと、allExecute() の走査で何気に困る | |
71 | |
72 (SceneGraph::isRemoved): add | |
73 この SceneGraph 削除フラグが立っているかどうか | |
74 | |
75 (SceneGraph::realRemove): TODO | |
76 子を持つ SceneGraph が消された場合、 | |
77 その子孫を全て削除するかどうか。まあ削除するのかな。 | |
78 | |
79 (SceneGraph::realRemove): add | |
80 Cerium System で呼ばれる。 | |
81 remove flag の立った SceneGraph を削除する。 | |
82 parentやbrother、next は繋ぎ直す。 | |
83 | |
84 * SceneGraphRoot.cpp (SceneGraphRoot::addNext): add | |
85 sg_available_list に追加していく | |
86 木の操作が要らないアクセスの際にはこっちの方がいい。 | |
87 | |
88 (SceneGraphRoot::setSceneData): add | |
89 Cerium に SceneGraph の tree を渡す。Cerium はこの tree を辿って | |
90 処理を行う | |
91 | |
92 (SceneGraphRoot::createFromXMLfile): add | |
93 xml file を指定して、そこから SceneGraph を生成し、 | |
94 sg_src に格納する。ユーザはこの SceneGraph を直接は扱えない。 | |
95 以下に示す createSceneGraph の、読み込み元データとして保存しておく。 | |
96 | |
97 (SceneGraphRoot::createSceneGraph): add | |
98 オリジナルの SceneGraph を clone してユーザに返す。 | |
99 この SceneGraph をユーザが操作する。 | |
100 | |
101 * SceneGraphRoot.h (class SceneGraphRoot): new variables | |
102 sg_src, sg_exec_list, sg_draw_list, sg_available_list | |
103 | |
104 * addfile (SceneGraphRoot.cpp) | |
105 SceneGraph を管理するクラス、ってところか。 | |
106 Root ってのは SceneGraph という名前からすると | |
107 一番親と思われそうで微妙です。変えるかも。 | |
108 | |
191 | 109 2009-01-12 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp> |
110 | |
111 * Joystick.cpp: TODO | |
112 使用している Joystick が | |
113 | |
114 1. PS3 コントローラ | |
115 2. PS2 コントローラにUSB変換をかましたやつ | |
116 | |
117 によってボタンの番号配置が違うので | |
118 そこを自動的に取得して割り振りたい | |
119 | |
120 SDL_JoystickName() で名前取れるんだけど | |
121 全部共通なのかなー。「PS3って文字列があるか否か」でわけてもいいけど | |
122 | |
123 * Joystick.cpp: fix | |
124 コントローラボタンの番号を PS3 コントローラに合わせました。 | |
125 | |
126 - 参考 | |
127 PS3 Linux SDLでプログラミング -コントローラを使う- | |
128 http://yun.cup.com/ps3sdl007.html | |
129 | |
130 アナログスティックの方はまだです | |
131 | |
188
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
132 2009-01-08 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp> |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
133 |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
134 * spe/DrawSpanRenew.cpp (DrawSpanRenew::run): fix |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
135 next_spack を free() していたが、do-while の最初で |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
136 next_spack = NULL とかやっている。 |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
137 DrawSpan だと、free するのは free_spack ってやつなので |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
138 問題なかったが、なぜここは free(next_spack) とかやってるのか。 |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
139 というわけで、next_spack,spack 両方用の |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
140 free_spack1, free_spack2 を生成して、これを free させることに。 |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
141 これで、ようやくまともに動くようになった。けど微妙です。 |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
142 遅いですね。 |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
143 |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
144 * addFile : DrawSpanRenew.cpp |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
145 DrawSpan の再起動 ver。 |
06f39635a9b0
メモりリーク箇所発見:TaskManager/Test/test_render/ChangeLog参照
gongo@localhost.localdomain
parents:
180
diff
changeset
|
146 |
180
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
147 2008-12-22 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp> |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
148 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
149 * fix |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
150 charles を Fedora 10 に上げて、コンパイラが新しくなったせいか、 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
151 以下のような warning が出始めた |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
152 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
153 warning: deprecated conversion from string constant to 'char *' |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
154 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
155 まあよくわからんが、例えば |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
156 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
157 char *str = "hoge"; |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
158 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
159 みたいな所だとこの warning が出る。これを |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
160 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
161 const char *str = "hoge"; |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
162 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
163 にすると消えた。 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
164 以後こういう形に統一しろよ的なやつなのかな。 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
165 |
179
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
166 2008-12-19 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp> |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
167 |
180
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
168 * viewer.cpp (Viewer::run_draw): fix |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
169 startx, endx に対して、start_y, end_y って名前は統一されてなくて |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
170 わかりづらいので、starty, endy に変更 |
5cde66c926b4
いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
gongo@localhost.localdomain
parents:
179
diff
changeset
|
171 |
179
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
172 * main.cpp (init): fix |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
173 bpp (BitsPerPixel) の値がデフォルトで 0 になっていた。 |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
174 今のレンダリング方式では 32 がデフォルトなので、間違ってた。 |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
175 今まで気づかなかったのは |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
176 |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
177 1. SDL_SetVideoMode に bpp = 0 で渡される |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
178 2. SDL が開発・実行環境に合わせて bpp を設定 |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
179 3. 今までそれが 32 になってた |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
180 |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
181 しかし、ゲーム班の環境では bpp = 16 になってしまったため、 |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
182 その次の bitmap の allocate の時に |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
183 screen->pitch*height = 16*width*height となり、 |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
184 DrawSpan では 32 のつもりで書き込んでいたため領域外への |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
185 メモリ書き込み->エラー |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
186 |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
187 ゲーム班ありがとう |
434846aef389
SDL_SetVideoMode に渡す bpp が 0 になってた (環境依存になってしまう)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
178
diff
changeset
|
188 |
176 | 189 2008-12-16 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp> |
190 | |
178
5d1b82945b0d
add makeTapestry in SceneGraph.cpp
gongo@localhost.localdomain
parents:
177
diff
changeset
|
191 * SceneGraph.cpp (makeTapestry): add |
5d1b82945b0d
add makeTapestry in SceneGraph.cpp
gongo@localhost.localdomain
parents:
177
diff
changeset
|
192 SceneGraph::get_data にあったけど、ごちゃごちゃしてたので |
5d1b82945b0d
add makeTapestry in SceneGraph.cpp
gongo@localhost.localdomain
parents:
177
diff
changeset
|
193 関数として生成 |
5d1b82945b0d
add makeTapestry in SceneGraph.cpp
gongo@localhost.localdomain
parents:
177
diff
changeset
|
194 |
177 | 195 * viewer.cpp (Viewer::run_init, Viewer::run_draw): fix |
196 * spe/DrawSpan.cpp (DrawSpan::zRow_init): delete | |
197 | |
198 Z Buffering に使う zRow は DrawSpan で毎回生成、初期化するのではなく、 | |
199 PPE で生成、初期化を行っておき、DrawSpan に add_inData で | |
200 DMA で渡すという方法に変更。速度的にはほんのちょっとしか(ry | |
201 | |
176 | 202 * spe/CreateSpan.cpp (CreateSpan::half_triangle): fix |
203 getScale に渡す tex_width,tex_height を修正。 | |
204 比較にそのまま tex_width, tex_height を使うと、 | |
205 Span が持つテクスチャが全体の一部分だったとしても | |
206 比較結果で縮小が行われてしまうため。 | |
207 | |
208 - 例 | |
209 span->length_x = 32; | |
210 tex_width = 128; | |
211 tex_x_len = (span->tex_x2 - span->tex_x1) = (0.5 - 0.3) = 0.2; | |
212 | |
213 今までの処理だと、span->length_x < tex_width の結果により | |
214 縮小されたテクスチャを使うことになる。 | |
215 しかし、実際に Span が使う Texture の長さは | |
216 | |
217 tex_width*tex_x_len = 24 | |
218 | |
219 なので、縮小を行う必要は無い | |
220 | |
221 | |
175 | 222 2008-12-12 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp> |
223 | |
176 | 224 * SceneGraph.cpp (SceneGraph::get_data): Todo |
225 テクスチャの縦横が 8 の倍数でなければ弾く処理を入れる。 | |
226 | |
175 | 227 * spe/DrawSpan.cpp (DrawSpan::run): Todo |
228 テクスチャの座標計算と、そこから取得できる Tile の DMA を | |
229 一スレッドで処理しているのでそれを分けないといけない | |
230 | |
231 * spe/CreateSpan.cpp (getTapestry): Add | |
232 (getScale): Add | |
233 | |
234 * memo: 雑記 | |
235 ようやくこいつに ChangeLog を加えました。 | |
236 なんか emacs で「C-x 4 a」とかすると、ChangeLog の entry が | |
237 加えれられるんだけど、上の階層のを探しにいくので、TaskManager/ のに | |
238 加えようとしてたわけさ。まあそういう仕様なんだけど。 | |
239 で、だからといって不可能ってわけじゃないから書けばよかったんだが。 | |
240 | |
241 要するに、これからはちゃんと書いていこうと思います。 |