Mercurial > hg > Members > kono > Cerium
comparison Renderer/Engine/viewer.cc @ 1026:55f3c5976959
create_pp_task fix.
author | tkaito |
---|---|
date | Tue, 09 Nov 2010 18:14:28 +0900 |
parents | 360f8eba78f1 |
children | 3191cae6f7a2 |
comparison
equal
deleted
inserted
replaced
1020:360f8eba78f1 | 1026:55f3c5976959 |
---|---|
688 | 688 |
689 task_array[spe_num] = manager->create_task_array(CreatePolygonFromSceneGraph, | 689 task_array[spe_num] = manager->create_task_array(CreatePolygonFromSceneGraph, |
690 sg_division+residue,4,6,1); | 690 sg_division+residue,4,6,1); |
691 pptask[spe_num] = 0; | 691 pptask[spe_num] = 0; |
692 | 692 |
693 int count= 0; | 693 //int count= 0; |
694 int k = 0; | 694 int k = 0; |
695 | 695 |
696 while (sg) { | 696 while (sg) { |
697 if (sg->flag_drawable) { | 697 if (sg->flag_drawable) { |
698 if(count < spe_num * sg_division) { | 698 if(count < spe_num * sg_division) { |
711 pptask[k]->set_param(0,(memaddr)sg->size); | 711 pptask[k]->set_param(0,(memaddr)sg->size); |
712 pptask[k]->set_param(1,(memaddr)sg->texture_info.t_w); | 712 pptask[k]->set_param(1,(memaddr)sg->texture_info.t_w); |
713 pptask[k]->set_param(2,(memaddr)sg->texture_info.t_h); | 713 pptask[k]->set_param(2,(memaddr)sg->texture_info.t_h); |
714 pptask[k]->set_param(3,(memaddr)sg->texture_info.scale_max); | 714 pptask[k]->set_param(3,(memaddr)sg->texture_info.scale_max); |
715 | 715 |
716 pptask[k]->set_outData(0, &pp->tri[pp->info.size++], sizeof(TrianglePack)); | 716 //pptask[k]->set_outData(0, &pp->tri[pp->info.size++], sizeof(TrianglePack)); |
717 } | 717 } |
718 if (sg->children != NULL) { | 718 if (sg->children != NULL) { |
719 sg = sg->children; | 719 sg = sg->children; |
720 } else if (sg->brother != NULL) { | 720 } else if (sg->brother != NULL) { |
721 sg = sg->brother; | 721 sg = sg->brother; |
732 sg = sg->parent; | 732 sg = sg->parent; |
733 } | 733 } |
734 } | 734 } |
735 } | 735 } |
736 } | 736 } |
737 count++; | 737 k++; |
738 } | 738 } |
739 | 739 for (int k = 0; k < spe_num; k++) { |
740 task_array[k]->spawn_task_array(pptask[k]->next()); | |
741 task_array[k]->set_cpu(SPE_ANY); | |
742 task_array[k]->spawn(); | |
743 if (sgroot->gtask_array != NULL) { | |
744 HTaskPtr game_task_array = sgroot->gtask_array->get_task_array(); | |
745 task_create_pp->wait_for(game_task_array); | |
746 } | |
747 task_next->wait_for(task_create_pp); | |
748 } | |
740 } | 749 } |
741 | 750 |
742 void | 751 void |
743 Viewer::common_rendering(HTaskPtr task_next, SceneGraphRoot *sgroot) | 752 Viewer::common_rendering(HTaskPtr task_next, SceneGraphRoot *sgroot) |
744 { | 753 { |