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