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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
3 * SceneGraphIterator.cpp : add file
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
4 SceneGraph を走査する用。
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
5 基本、Java の Iterator を参考にしてます。
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
6 追加機能としては
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
7
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
8 - hasNext(const char* name);
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
9 名前が name の SceneGraph があるかどうか
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
10
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
11 - next(const char* name);
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
12 名前が name の SceneGraph まで進ませる
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
13
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
14 * SceneGraphIterator.cpp : TODO
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
15 hasNext とかは名前じゃなくて ID が良いかなーとも思うけどね。
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
16 てかその方がいいな。あとで直します
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
17
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
18 * ieshoot.cpp (ieboss_move): add
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
19 (ieboss_collision): add
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
20 BOSSの動きを追加。
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
21 IETAMA が数回衝突したら BOSS を消すって処理。
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
22
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
23 * SceneGraphIterator.cpp (SceneGraphIterator::next): fix
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
24 break してなかった。そりゃ取れないわ
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
25
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
26 * SceneGraph.cpp (SceneGraph::realRemoveFromTree): fix
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
27
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
28 < p1 = p1->next;
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
29 < p = p->next;
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
30 =====
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
31 > p1 = p1->brother;
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
32 > p = p->brother;
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
33
b257e27d995c add SceneGraphIterator
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 200
diff changeset
34
200
10ad99550ee8 fix run_draw
gongo@localhost.localdomain
parents: 199
diff changeset
35 * viewer.cpp (Viewer::run_draw): fix
10ad99550ee8 fix run_draw
gongo@localhost.localdomain
parents: 199
diff changeset
36 Spanの無い部分を塗りつぶす処理はタスクを走らせず、
10ad99550ee8 fix run_draw
gongo@localhost.localdomain
parents: 199
diff changeset
37 そのまま memset とかの方が早い。
10ad99550ee8 fix run_draw
gongo@localhost.localdomain
parents: 199
diff changeset
38 まとめてするタスクを立ち上げるってのもいいかもしれない。
10ad99550ee8 fix run_draw
gongo@localhost.localdomain
parents: 199
diff changeset
39 あと、memsetで指定する値が、0xFF と 0x00 とで速度が違う。
10ad99550ee8 fix run_draw
gongo@localhost.localdomain
parents: 199
diff changeset
40 universe だと、
10ad99550ee8 fix run_draw
gongo@localhost.localdomain
parents: 199
diff changeset
41
10ad99550ee8 fix run_draw
gongo@localhost.localdomain
parents: 199
diff changeset
42 0xFF 24fps
10ad99550ee8 fix run_draw
gongo@localhost.localdomain
parents: 199
diff changeset
43 0x00 30fps
10ad99550ee8 fix run_draw
gongo@localhost.localdomain
parents: 199
diff changeset
44
10ad99550ee8 fix run_draw
gongo@localhost.localdomain
parents: 199
diff changeset
45 なんだろう。0x00 だと、ただのクリアになるから速いってことかな。
10ad99550ee8 fix run_draw
gongo@localhost.localdomain
parents: 199
diff changeset
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
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
61 2009-01-25 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp>
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
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
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
68 * SceneGraph.cpp (SceneGraph::remove): add
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
69 User API。ここで削除するのではなく、まずはフラグを立てるだけ
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
70 ここですぐに消すと、allExecute() の走査で何気に困る
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
71
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
72 (SceneGraph::isRemoved): add
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
73 この SceneGraph 削除フラグが立っているかどうか
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
74
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
75 (SceneGraph::realRemove): TODO
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
76 子を持つ SceneGraph が消された場合、
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
77 その子孫を全て削除するかどうか。まあ削除するのかな。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
78
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
79 (SceneGraph::realRemove): add
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
80 Cerium System で呼ばれる。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
81 remove flag の立った SceneGraph を削除する。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
82 parentやbrother、next は繋ぎ直す。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
83
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
84 * SceneGraphRoot.cpp (SceneGraphRoot::addNext): add
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
85 sg_available_list に追加していく
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
86 木の操作が要らないアクセスの際にはこっちの方がいい。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
87
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
88 (SceneGraphRoot::setSceneData): add
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
89 Cerium に SceneGraph の tree を渡す。Cerium はこの tree を辿って
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
90 処理を行う
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
91
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
92 (SceneGraphRoot::createFromXMLfile): add
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
93 xml file を指定して、そこから SceneGraph を生成し、
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
94 sg_src に格納する。ユーザはこの SceneGraph を直接は扱えない。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
95 以下に示す createSceneGraph の、読み込み元データとして保存しておく。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
96
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
97 (SceneGraphRoot::createSceneGraph): add
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
98 オリジナルの SceneGraph を clone してユーザに返す。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
99 この SceneGraph をユーザが操作する。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
100
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
101 * SceneGraphRoot.h (class SceneGraphRoot): new variables
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
102 sg_src, sg_exec_list, sg_draw_list, sg_available_list
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
103
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
104 * addfile (SceneGraphRoot.cpp)
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
105 SceneGraph を管理するクラス、ってところか。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
106 Root ってのは SceneGraph という名前からすると
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
107 一番親と思われそうで微妙です。変えるかも。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 191
diff changeset
108
191
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
109 2009-01-12 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp>
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
110
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
111 * Joystick.cpp: TODO
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
112 使用している Joystick が
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
113
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
114 1. PS3 コントローラ
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
115 2. PS2 コントローラにUSB変換をかましたやつ
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
116
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
117 によってボタンの番号配置が違うので
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
118 そこを自動的に取得して割り振りたい
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
119
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
120 SDL_JoystickName() で名前取れるんだけど
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
121 全部共通なのかなー。「PS3って文字列があるか否か」でわけてもいいけど
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
122
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
123 * Joystick.cpp: fix
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
124 コントローラボタンの番号を PS3 コントローラに合わせました。
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
125
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
126 - 参考
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
127 PS3 Linux SDLでプログラミング -コントローラを使う-
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
128 http://yun.cup.com/ps3sdl007.html
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
129
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
130 アナログスティックの方はまだです
5e3b0405a44b fix Joystick Button
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 188
diff changeset
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
gongo@localhost.localdomain
parents: 175
diff changeset
189 2008-12-16 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp>
gongo@localhost.localdomain
parents: 175
diff changeset
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
e742053c4c87 zRow の生成、初期化の変更
gongo@localhost.localdomain
parents: 176
diff changeset
195 * viewer.cpp (Viewer::run_init, Viewer::run_draw): fix
e742053c4c87 zRow の生成、初期化の変更
gongo@localhost.localdomain
parents: 176
diff changeset
196 * spe/DrawSpan.cpp (DrawSpan::zRow_init): delete
e742053c4c87 zRow の生成、初期化の変更
gongo@localhost.localdomain
parents: 176
diff changeset
197
e742053c4c87 zRow の生成、初期化の変更
gongo@localhost.localdomain
parents: 176
diff changeset
198 Z Buffering に使う zRow は DrawSpan で毎回生成、初期化するのではなく、
e742053c4c87 zRow の生成、初期化の変更
gongo@localhost.localdomain
parents: 176
diff changeset
199 PPE で生成、初期化を行っておき、DrawSpan に add_inData で
e742053c4c87 zRow の生成、初期化の変更
gongo@localhost.localdomain
parents: 176
diff changeset
200 DMA で渡すという方法に変更。速度的にはほんのちょっとしか(ry
e742053c4c87 zRow の生成、初期化の変更
gongo@localhost.localdomain
parents: 176
diff changeset
201
176
gongo@localhost.localdomain
parents: 175
diff changeset
202 * spe/CreateSpan.cpp (CreateSpan::half_triangle): fix
gongo@localhost.localdomain
parents: 175
diff changeset
203 getScale に渡す tex_width,tex_height を修正。
gongo@localhost.localdomain
parents: 175
diff changeset
204 比較にそのまま tex_width, tex_height を使うと、
gongo@localhost.localdomain
parents: 175
diff changeset
205 Span が持つテクスチャが全体の一部分だったとしても
gongo@localhost.localdomain
parents: 175
diff changeset
206 比較結果で縮小が行われてしまうため。
gongo@localhost.localdomain
parents: 175
diff changeset
207
gongo@localhost.localdomain
parents: 175
diff changeset
208 - 例
gongo@localhost.localdomain
parents: 175
diff changeset
209 span->length_x = 32;
gongo@localhost.localdomain
parents: 175
diff changeset
210 tex_width = 128;
gongo@localhost.localdomain
parents: 175
diff changeset
211 tex_x_len = (span->tex_x2 - span->tex_x1) = (0.5 - 0.3) = 0.2;
gongo@localhost.localdomain
parents: 175
diff changeset
212
gongo@localhost.localdomain
parents: 175
diff changeset
213 今までの処理だと、span->length_x < tex_width の結果により
gongo@localhost.localdomain
parents: 175
diff changeset
214 縮小されたテクスチャを使うことになる。
gongo@localhost.localdomain
parents: 175
diff changeset
215 しかし、実際に Span が使う Texture の長さは
gongo@localhost.localdomain
parents: 175
diff changeset
216
gongo@localhost.localdomain
parents: 175
diff changeset
217 tex_width*tex_x_len = 24
gongo@localhost.localdomain
parents: 175
diff changeset
218
gongo@localhost.localdomain
parents: 175
diff changeset
219 なので、縮小を行う必要は無い
gongo@localhost.localdomain
parents: 175
diff changeset
220
gongo@localhost.localdomain
parents: 175
diff changeset
221
175
3cc5f0000e29 add file "ChangeLog"
gongo@localhost.localdomain
parents:
diff changeset
222 2008-12-12 Wataru MIYAGUNI <gongo@cr.ie.u-ryukyu.ac.jp>
3cc5f0000e29 add file "ChangeLog"
gongo@localhost.localdomain
parents:
diff changeset
223
176
gongo@localhost.localdomain
parents: 175
diff changeset
224 * SceneGraph.cpp (SceneGraph::get_data): Todo
gongo@localhost.localdomain
parents: 175
diff changeset
225 テクスチャの縦横が 8 の倍数でなければ弾く処理を入れる。
gongo@localhost.localdomain
parents: 175
diff changeset
226
175
3cc5f0000e29 add file "ChangeLog"
gongo@localhost.localdomain
parents:
diff changeset
227 * spe/DrawSpan.cpp (DrawSpan::run): Todo
3cc5f0000e29 add file "ChangeLog"
gongo@localhost.localdomain
parents:
diff changeset
228 テクスチャの座標計算と、そこから取得できる Tile の DMA を
3cc5f0000e29 add file "ChangeLog"
gongo@localhost.localdomain
parents:
diff changeset
229 一スレッドで処理しているのでそれを分けないといけない
3cc5f0000e29 add file "ChangeLog"
gongo@localhost.localdomain
parents:
diff changeset
230
3cc5f0000e29 add file "ChangeLog"
gongo@localhost.localdomain
parents:
diff changeset
231 * spe/CreateSpan.cpp (getTapestry): Add
3cc5f0000e29 add file "ChangeLog"
gongo@localhost.localdomain
parents:
diff changeset
232 (getScale): Add
3cc5f0000e29 add file "ChangeLog"
gongo@localhost.localdomain
parents:
diff changeset
233
3cc5f0000e29 add file "ChangeLog"
gongo@localhost.localdomain
parents:
diff changeset
234 * memo: 雑記
3cc5f0000e29 add file "ChangeLog"
gongo@localhost.localdomain
parents:
diff changeset
235 ようやくこいつに ChangeLog を加えました。
3cc5f0000e29 add file "ChangeLog"
gongo@localhost.localdomain
parents:
diff changeset
236 なんか emacs で「C-x 4 a」とかすると、ChangeLog の entry が
3cc5f0000e29 add file "ChangeLog"
gongo@localhost.localdomain
parents:
diff changeset
237 加えれられるんだけど、上の階層のを探しにいくので、TaskManager/ のに
3cc5f0000e29 add file "ChangeLog"
gongo@localhost.localdomain
parents:
diff changeset
238 加えようとしてたわけさ。まあそういう仕様なんだけど。
3cc5f0000e29 add file "ChangeLog"
gongo@localhost.localdomain
parents:
diff changeset
239 で、だからといって不可能ってわけじゃないから書けばよかったんだが。
3cc5f0000e29 add file "ChangeLog"
gongo@localhost.localdomain
parents:
diff changeset
240
3cc5f0000e29 add file "ChangeLog"
gongo@localhost.localdomain
parents:
diff changeset
241 要するに、これからはちゃんと書いていこうと思います。