# HG changeset patch # User Shinji KONO # Date 1261200997 -32400 # Node ID 6d11ecef3b74bb8def5ee8072879f6f79c893b29 # Parent f4739a3c99389bfdd4dd2299af88aad69c602a31 Small clean up of Rendering Engine diff -r f4739a3c9938 -r 6d11ecef3b74 Renderer/Engine/Camera.cc --- a/Renderer/Engine/Camera.cc Sat Dec 19 13:15:19 2009 +0900 +++ b/Renderer/Engine/Camera.cc Sat Dec 19 14:36:37 2009 +0900 @@ -3,7 +3,6 @@ #include "Camera.h" #include "sys.h" #include "Scheduler.h" -#include "show_time.h" #include "TaskManager.h" //static SceneGraphRoot *sgroot; diff -r f4739a3c9938 -r 6d11ecef3b74 Renderer/Engine/ChangeLog --- a/Renderer/Engine/ChangeLog Sat Dec 19 13:15:19 2009 +0900 +++ b/Renderer/Engine/ChangeLog Sat Dec 19 14:36:37 2009 +0900 @@ -1,28 +1,40 @@ +2009-12-19 Shinji Kono + + SgChange/viewer は大域変数使いすぎ。禁止って言ったのに。 + linda api は、federated linda 対応でないものが使われている。 + 対応したものは、どこにあるんだろう? + + 他の例題いじるのは、自分の例題を動かしてからにして欲しい。 + + まぁねぇ。Pipeline execution するのに、sgpack とかも Pipeline buffer + にするのは気づかないものなんだろうな... なくても、動かないことは + ないのか。 + + viewer.cc の大域変数を落すところから始めるべきか? + 2009-11-15 Shinji Kono - DrawSpan は, - Start DrawSpan region (allocate Z buffer) - DrawSpan / for each SpanPack - add_inData - End DrawSpan region (Write frame buffer,free Z buffer) - add_outData - みたいにしたい. + DrawSpan は, + Start DrawSpan region (allocate Z buffer) + DrawSpan / for each SpanPack + add_inData + End DrawSpan region (Write frame buffer,free Z buffer) + add_outData + みたいにしたい. - CreateSpan は,SpanPack を入れ換えているようだが, - SpanPack は,ランダムに書きだし, - PPU 側で,それをsortする. - と言う方がよい? ほぼ毎回入れ換えているんじゃないの? + CreateSpan は,SpanPack を入れ換えているようだが, + SpanPack は,ランダムに書きだし, + PPU 側で,それをsortする. + と言う方がよい? ほぼ毎回入れ換えているんじゃないの? 2009-11-14 Shinji Kono -DrawSpan の dma_write を追放。なんでこんなになっていたかは謎。 - -これで、renew Task を落とせます。 + DrawSpan の dma_write を追放。なんでこんなになっていたかは謎。 + これで、renew Task を落とせます。 2009-08-06 Shinji Kono -DrawSpan の reboot/ TASK_DRAW_SPAN2 は、使ってないのね。 - + DrawSpan の reboot/ TASK_DRAW_SPAN2 は、使ってないのね。 2009-03-29 Wataru MIYAGUNI diff -r f4739a3c9938 -r 6d11ecef3b74 Renderer/Engine/Light.cc --- a/Renderer/Engine/Light.cc Sat Dec 19 13:15:19 2009 +0900 +++ b/Renderer/Engine/Light.cc Sat Dec 19 14:36:37 2009 +0900 @@ -3,7 +3,6 @@ #include "Light.h" #include "sys.h" #include "Scheduler.h" -#include "show_time.h" #include "TaskManager.h" static void diff -r f4739a3c9938 -r 6d11ecef3b74 Renderer/Engine/SceneGraph.cc --- a/Renderer/Engine/SceneGraph.cc Sat Dec 19 13:15:19 2009 +0900 +++ b/Renderer/Engine/SceneGraph.cc Sat Dec 19 14:36:37 2009 +0900 @@ -95,7 +95,7 @@ * 何の情報も持ってない SceneGraph の生成 * 今のところ、とりあえず木構造の繋がりに使うぐらい */ -SceneGraph::SceneGraph(void) +SceneGraph::SceneGraph() { init(); finalize = &SceneGraph::finalize_copy; @@ -150,7 +150,7 @@ } void -SceneGraph::init(void) +SceneGraph::init() { next = NULL; prev = NULL; @@ -186,7 +186,7 @@ frame = 0; } -SceneGraph::~SceneGraph(void) +SceneGraph::~SceneGraph() { (this->*finalize)(); } @@ -196,7 +196,7 @@ * polygon data を削除 */ void -SceneGraph::finalize_original(void) +SceneGraph::finalize_original() { //delete [] data; free(coord_xyz); @@ -209,7 +209,7 @@ * polygon data は削除しない。オリジナルの方で削除する。 */ void -SceneGraph::finalize_copy(void) +SceneGraph::finalize_copy() { } @@ -281,7 +281,7 @@ } void -SceneGraph::tree_check(void) +SceneGraph::tree_check() { SceneGraphPtr t = this; @@ -323,7 +323,7 @@ void -SceneGraph::print_member(void) +SceneGraph::print_member() { cout << "size = " << size << endl; cout << "name = " << name << endl; @@ -506,7 +506,7 @@ void -SceneGraph::delete_data(void) +SceneGraph::delete_data() { SceneGraphPtr n = this->next, m; @@ -535,53 +535,6 @@ (*collision)(this, this->sgroot, w, h, tree); } -void -SceneGraph::all_execute(int screen_w, int screen_h) -{ - SceneGraphPtr top = this; - SceneGraphPtr t = top; - - while (t) { - t->move_execute(screen_w, screen_h); - t->collision_check(screen_w, screen_h, top); - - t->frame++; - - if (t->parent != NULL) { - get_matrix(t->matrix, t->angle, t->xyz, t->parent->matrix); - } else { - get_matrix(t->matrix, t->angle, t->xyz, NULL); - } - - if (t->children != NULL) { - t = t->children; - } else if (t->brother != NULL) { - t = t->brother; - } else { - while (t) { - if (t->brother != NULL) { - t = t->brother; - break; - } else { - if (t->parent == NULL) { - t = NULL; - break; - } else { - t = t->parent; - } - } - } - } - } -} - -void -SceneGraph::set_move_collision(SceneGraphPtr node, move_func new_move, - collision_func new_collision) -{ - node->move = new_move; - node->collision = new_collision; -} void SceneGraph::set_move_collision(move_func new_move, @@ -621,7 +574,7 @@ * @return clone SceneGraph */ SceneGraphPtr -SceneGraph::clone(void) { +SceneGraph::clone() { SceneGraphPtr p = new SceneGraph(this); return p; } @@ -640,7 +593,7 @@ } void -SceneGraph::remove(void) +SceneGraph::remove() { this->flag_remove = 1; } @@ -724,7 +677,7 @@ } int -SceneGraph::isRemoved(void) +SceneGraph::isRemoved() { return flag_remove; } @@ -776,3 +729,5 @@ { this->xyz[2] = z; } + +/* end */ diff -r f4739a3c9938 -r 6d11ecef3b74 Renderer/Engine/SceneGraph.h --- a/Renderer/Engine/SceneGraph.h Sat Dec 19 13:15:19 2009 +0900 +++ b/Renderer/Engine/SceneGraph.h Sat Dec 19 14:36:37 2009 +0900 @@ -82,8 +82,6 @@ SceneGraphPtr clone(void); SceneGraphPtr clone(void *buf); SceneGraphPtr searchSceneGraph(const char *name); - void set_move_collision(SceneGraphPtr node, - move_func new_move, collision_func new_collision); void set_move_collision(move_func new_move, collision_func new_collision); void set_move_collision(move_func new_move, collision_func new_collision, void *sgroot); void remove(void); diff -r f4739a3c9938 -r 6d11ecef3b74 Renderer/Engine/SgChange.cc --- a/Renderer/Engine/SgChange.cc Sat Dec 19 13:15:19 2009 +0900 +++ b/Renderer/Engine/SgChange.cc Sat Dec 19 14:36:37 2009 +0900 @@ -20,18 +20,18 @@ static void post2rendering(SchedTask *s, void *viewer, void *s1); /* measure for FPS (Frame Per Second) */ -int start_time; -int this_time; -int frames; +extern int start_time; +extern int this_time; +extern int frames; /* Data Pack sent to Other CPUs (ex. SPE) */ -SceneGraphPack *sgpack; -PolygonPack *ppack; -SpanPackPtr spackList; -SpanPackPtr *spackList_ptr; +extern SceneGraphPack *sgpack; +extern PolygonPack *ppack; +extern SpanPackPtr spackList; +extern SpanPackPtr *spackList_ptr; -int spackList_length; -int spackList_length_align; +extern int spackList_length; +extern int spackList_length_align; SgChange::SgChange(int b, int w, int h, int _num) { diff -r f4739a3c9938 -r 6d11ecef3b74 Renderer/Engine/show_time.cc --- a/Renderer/Engine/show_time.cc Sat Dec 19 13:15:19 2009 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -#include -#include "TaskManager.h" -#include "Func.h" - -void -show_time() -{ - /* - HTaskPtr show; - HTaskPtr pre_show; - */ - /* - show = manager->create_task(ShowTime); - show->set_cpu(SPE_0); - show->spawn(); - printf("testですよ\n"); - */ - - /* - pre_show = manager->create_task(ShowTime); - pre_show->set_cpu((CPU_TYPE)((int)SPE_0)); - pre_show->spawn(); - - for (int i = 1; i < 6; i++) { - show = manager->create_task(ShowTime); - show->set_cpu((CPU_TYPE)((int)SPE_0 + i)); - show->wait_for(pre_show); - show->spawn(); - pre_show = show; - } - */ -} diff -r f4739a3c9938 -r 6d11ecef3b74 Renderer/Engine/show_time.h --- a/Renderer/Engine/show_time.h Sat Dec 19 13:15:19 2009 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ -#ifndef SHOW_TIME_H -#define SHOW_TIME_H - -void show_time(); - -#endif diff -r f4739a3c9938 -r 6d11ecef3b74 Renderer/Engine/viewer.cc --- a/Renderer/Engine/viewer.cc Sat Dec 19 13:15:19 2009 +0900 +++ b/Renderer/Engine/viewer.cc Sat Dec 19 14:36:37 2009 +0900 @@ -177,32 +177,6 @@ return task_next; } -/* Loop って言っても1回しか実行されない */ -void -Viewer::speLoop() -{ - HTaskPtr task_next = initLoop(); - // key の情報を格納する領域を確保する (global_alloc(KEY_STATUS)) - HTaskPtr init_key_task = manager->create_task(InitKey); - init_key_task->set_cpu(SPE_0); - init_key_task->spawn(); - - // SPE に送信する KEY_STATUS の領域確保 - key_stat *key = (key_stat*)manager->allocate(sizeof(key_stat)); - this->keyPtr = key; - - // post2runLoop は旧バージョン用なので post2speRunLoop の様なものを別につくるべき - //task_next->set_post(post2speRunLoop, (void*)this); // set_post(function(this->run_loop()), NULL) - //task_next->spawn(); - // TASK_INIT_TEXTURE が全て終わったら DUMMY_TASK が Viewer::run_loop() を呼ぶ - - /* test */ - - HTaskPtr task_switch = manager->create_task(Switch); - task_switch->wait_for(task_next); - task_switch->set_post(post2runMoveDrawLoop, (void*)this, 0); - task_switch->spawn(); -} void Viewer::getKey() diff -r f4739a3c9938 -r 6d11ecef3b74 Renderer/Engine/viewer.h --- a/Renderer/Engine/viewer.h Sat Dec 19 13:15:19 2009 +0900 +++ b/Renderer/Engine/viewer.h Sat Dec 19 14:36:37 2009 +0900 @@ -122,7 +122,6 @@ private: HTaskPtr initLoop(); - void speLoop(); }; diff -r f4739a3c9938 -r 6d11ecef3b74 Renderer/Test/Makefile --- a/Renderer/Test/Makefile Sat Dec 19 13:15:19 2009 +0900 +++ b/Renderer/Test/Makefile Sat Dec 19 14:36:37 2009 +0900 @@ -1,11 +1,10 @@ - all: - make -f Makefile.macosx + make -f Makefile.macosx $* linux: - make -f Makefile.linux + make -f Makefile.linux $* +cell: + make -f Makefile.cell $* -cell: - make -f Makefile.cell clean: make -f Makefile.macosx clean