diff Renderer/Engine/viewer.cc @ 969:9a53faae88d8

add new function for dandy.
author koba <koba@cr.ie.u-ryukyu.ac.jp>
date Thu, 26 Aug 2010 03:20:42 +0900
parents 1089f24bc86a
children a193a851b5e3
line wrap: on
line diff
--- a/Renderer/Engine/viewer.cc	Mon Aug 09 00:09:00 2010 +0900
+++ b/Renderer/Engine/viewer.cc	Thu Aug 26 03:20:42 2010 +0900
@@ -332,6 +332,8 @@
         spackList[i-1].reinit(i*split_screen_h);
     }
 
+    /* ここでGameTaskの終了を待つTaskを生成しておく */
+    sgroot->wait_game_task = manager->create_task(Dummy,0,0,0,0);
     sgroot->updateControllerState();
     sgroot->allExecute(width, height);
     light_xyz_stock = sgroot->getLightVector();
@@ -704,11 +706,13 @@
 #else
     
     HTaskPtr task_create_pp = manager->create_task(CreatePolygonFromSceneGraph);
-    
+    HTaskPtr game_task = sgroot->wait_game_task;
     // SceneGraph(木構造) -> PolygonPack
 
     task_create_pp->set_param(0,(memaddr)sgroot->getDrawSceneGraph());
     task_create_pp->set_param(1,(memaddr)ppack);
+    /* GameTaskの終了を待ってからポリゴンを作る */
+    task_create_pp->wait_for(game_task);
 
     task_next->wait_for(task_create_pp);
 
@@ -754,7 +758,7 @@
     }
 
     task_create_pp->spawn();
-
+    game_task->spawn();
 }
 
 HTaskPtr