changeset 1028:3191cae6f7a2

spe/CreatePolygonFromSceneGraph not done.
author tkaito@henri
date Mon, 08 Nov 2010 19:01:25 +0900
parents 11dee6cf7116
children 22d7263cec2d
files Renderer/Engine/spe/Makefile Renderer/Engine/viewer.cc
diffstat 2 files changed, 6 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/Renderer/Engine/spe/Makefile	Tue Nov 09 18:14:58 2010 +0900
+++ b/Renderer/Engine/spe/Makefile	Mon Nov 08 19:01:25 2010 +0900
@@ -6,6 +6,7 @@
 
 SRCS_TMP = $(wildcard *.cc)
 SRCS_EXCLUDE = CreatePolygonFromSceneGraph.cc #CreatePolygon.cc 
+#SRCS_EXCLUDE = CreatePolygon.cc 
 SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP))
 OBJS = $(SRCS:.cc=.o)
 
--- a/Renderer/Engine/viewer.cc	Tue Nov 09 18:14:58 2010 +0900
+++ b/Renderer/Engine/viewer.cc	Mon Nov 08 19:01:25 2010 +0900
@@ -662,7 +662,7 @@
 }
 
 void
-create_pp_task(SceneGraphPtr sg, TaskManager *manager, int spe_num, HTaskPtr task_next)
+create_pp_task(SceneGraphPtr sg, TaskManager *manager, int spe_num, HTaskPtr task_next, SceneGraphRootPtr sgroot)
 {
 
   /*
@@ -670,9 +670,6 @@
    * PolygonPack の TrianglePack (空) を送る。pp->info.size の計算もここで。
    * 
    */
-  //int spe_num = 6;
-
-  PolygonPackPtr pp = (PolygonPackPtr)manager->allocate(sizeof(PolygonPack));
 
   int sg_num = sg_drawable_num(sg);
   int sg_division = sg_num / spe_num;
@@ -690,12 +687,11 @@
 						   sg_division+residue,4,6,1);
   pptask[spe_num] = 0;
 
-  //int count= 0;
   int k = 0;
 
   while (sg) {
     if (sg->flag_drawable) {
-      if(count < spe_num * sg_division) {
+      if(k < spe_num * sg_division) {
 	k %= spe_num-1;
       } else {
 	k = spe_num;
@@ -713,7 +709,6 @@
       pptask[k]->set_param(2,(memaddr)sg->texture_info.t_h);
       pptask[k]->set_param(3,(memaddr)sg->texture_info.scale_max);
       
-      //pptask[k]->set_outData(0, &pp->tri[pp->info.size++], sizeof(TrianglePack));
     }
     if (sg->children != NULL) {
       sg = sg->children;
@@ -742,9 +737,9 @@
     task_array[k]->spawn();
     if (sgroot->gtask_array != NULL) {
       HTaskPtr game_task_array = sgroot->gtask_array->get_task_array();
-      task_create_pp->wait_for(game_task_array);
+      task_array[k]->wait_for(game_task_array);
     }
-    task_next->wait_for(task_create_pp);	
+    task_next->wait_for(task_array[k]);	
   }
 }
 
@@ -756,7 +751,7 @@
 
     SceneGraphPtr sg = sgroot->getDrawSceneGraph();
 
-    create_pp_task(sg, manager, spe_num, task_next);
+    create_pp_task(sg, manager, spe_num, task_next, sgroot);
 
 #if SPE_CREATE_POLYGON_CHECK
     check_matrix(matrix_info,sg);