Mercurial > hg > Game > Cerium
diff Renderer/Engine/viewer.cc @ 909:e9a64c42e5d0 draft
fix..
author | Yutaka_Kinjyo |
---|---|
date | Tue, 20 Jul 2010 04:45:36 +0900 (2010-07-19) |
parents | a4ed11e66fbf |
children | 564096e53d8a |
line wrap: on
line diff
--- a/Renderer/Engine/viewer.cc Tue Jul 20 04:05:07 2010 +0900 +++ b/Renderer/Engine/viewer.cc Tue Jul 20 04:45:36 2010 +0900 @@ -441,42 +441,6 @@ frames++; } -#if SPE_CREATE_POLYGON - -void -Viewer::create_pp_task(SceneGraphPtr sg, PolygonPackPtr pp_cur, HTaskPtr create_pp_wait, - int &pp_index, int &sg_index, int tri_num) -{ - - HTaskPtr create_pp = manager->create_task(CreatePolygon); - create_pp->set_inData(0, &sg->tri_pack[sg_index], sizeof(TrianglePack)*tri_num); - create_pp->set_inData(1, sg->texture_info, sizeof(texture_list)); - create_pp->set_inData(2, sg->sg_matrix, sizeof(float)*32); //わーい、マジックナンバー - create_pp->set_outData(0, &pp_cur->tri[pp_index], sizeof(TrianglePack)*tri_num); - create_pp->set_param(0, (memaddr)tri_num); - //create_pp->set_cpu(SPE_ANY); - create_pp_wait->wait_for(create_pp); - create_pp->spawn(); - - pp_index += tri_num; - sg_index += tri_num; -} - -#endif - -struct MatrixList { - - float *matrix; - MatrixList *next; - -}; - -struct MatrixListInfo { - int id; - MatrixList *first; - MatrixList *last; - MatrixListInfo *next; -}; // 完全にMac仕様。。sg_matrix を allocate してやらないといけないよ。 void @@ -610,7 +574,7 @@ } void -check_matrix(MatrixListInfo *matrix_info,SceneGraphPtr sg) { +Viewer::check_matrix(MatrixListInfo *matrix_info,SceneGraphPtr sg) { for (MatrixListInfo* t = matrix_info; t != NULL; t = t->next) { for (MatrixList* u = t->first; u != NULL; u = u->next) { @@ -620,9 +584,8 @@ } -//HTaskPtr void -create_pp_task(SceneGraphPtr sg, TaskManager *manager, int spe_num, HTaskPtr task_next, +Viewer::create_pp_task(SceneGraphPtr sg, TaskManager *manager, int spe_num, HTaskPtr task_next, MatrixListInfo *matrix_info) { @@ -656,8 +619,6 @@ { #if SPE_CREATE_POLYGON - -#else SceneGraphPtr sg = sgroot->getDrawSceneGraph(); @@ -669,6 +630,8 @@ #endif + +#else HTaskPtr task_create_pp = manager->create_task(CreatePolygonFromSceneGraph); @@ -679,6 +642,8 @@ task_next->wait_for(task_create_pp); +#endif + int range_base = spe_num; // 切り上げのつもり @@ -720,8 +685,6 @@ task_create_pp->spawn(); -#endif - } HTaskPtr