Mercurial > hg > Members > kono > Cerium
changeset 350:dd3888980738
add tasts.xml renderer.xml
author | admin@mcbk.cr.ie.u-ryukyu.ac.jp |
---|---|
date | Fri, 10 Jul 2009 16:41:20 +0900 |
parents | 51ffd144f62c |
children | 852d7ba57be2 |
files | Renderer/test_render/renderer.xml example/scenegraph/xml/task/collision.cpp example/scenegraph/xml/task/collision.h example/scenegraph/xml/task/move.cpp example/scenegraph/xml/task/move.h example/scenegraph/xml/tasks.xml example/scenegraph/xml/xml.cpp |
diffstat | 7 files changed, 841 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Renderer/test_render/renderer.xml Fri Jul 10 16:41:20 2009 +0900 @@ -0,0 +1,363 @@ +<!-- Cerium Task Configuration + CPU_PPE = 0, // default + CPU_SPE = 1, + SPE_ANY = CPU_SPE, + SPE_0 = 2, + SPE_1 = 3, + SPE_2 = 4, + SPE_3 = 5, + SPE_4 = 6, + SPE_5 = 7, + --> + +<directory> + <path> ${CERIUM}/Renderer/Task </path> + <task name="Renderer"> + <target name="cell"> + <path> spe </path> + <cpu> SPE_ANY </cpu> + <cc cc:compiler="spu-g++"/> + </target> + + <target name="cell"> + <path> ppe </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="ppu-g++"/> + </target> + + <target name="macosx"> + <path> macosx </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="mac-g++"/> + </target> + + <target name="linux"> + <path> linux </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="linux-g++"/> + </target> + + <source> Renderer.cc </source> + + </task> +</directory> + +<directory> + <path> ${CERIUM}/Renderer/test_render </path> + <task name="CreatePolygon"> + <target name="cell"> + <path> spe </path> + <cpu> SPE_ANY </cpu> + <cc cc:compiler="spu-g++"/> + </target> + + <target name="cell"> + <path> ppe </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="ppu-g++"/> + </target> + + <target name="macosx"> + <path> macosx </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="mac-g++"/> + </target> + + <target name="linux"> + <path> linux </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="linux-g++"/> + </target> + + <source> CreatePolygon.cc </source> + + </task> +</directory> + +<directory> + <path> ${CERIUM}/Renderer/test_render </path> + <task name="CreateSpan"> + <target name="cell"> + <path> spe </path> + <cpu> SPE_ANY </cpu> + <cc cc:compiler="spu-g++"/> + </target> + + <target name="cell"> + <path> ppe </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="ppu-g++"/> + </target> + + <target name="macosx"> + <path> macosx </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="mac-g++"/> + </target> + + <target name="linux"> + <path> linux </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="linux-g++"/> + </target> + + <source> CreateSpan.cc </source> + + </task> +</directory> + +<directory> + <path> ${CERIUM}/Renderer/test_render </path> + <task name="DrawBack"> + <target name="cell"> + <path> spe </path> + <cpu> SPE_ANY </cpu> + <cc cc:compiler="spu-g++"/> + </target> + + <target name="cell"> + <path> ppe </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="ppu-g++"/> + </target> + + <target name="macosx"> + <path> macosx </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="mac-g++"/> + </target> + + <target name="linux"> + <path> linux </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="linux-g++"/> + </target> + + <source> DrawBack.cc </source> + + </task> +</directory> + +<directory> + <path> ${CERIUM}/Renderer/test_render </path> + <task name="DrawSpan"> + <target name="cell"> + <path> spe </path> + <cpu> SPE_ANY </cpu> + <cc cc:compiler="spu-g++"/> + </target> + + <target name="cell"> + <path> ppe </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="ppu-g++"/> + </target> + + <target name="macosx"> + <path> macosx </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="mac-g++"/> + </target> + + <target name="linux"> + <path> linux </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="linux-g++"/> + </target> + + <source> DrawSpan.cc </source> + + </task> +</directory> + +<directory> + <path> ${CERIUM}/Renderer/test_render </path> + <task name="DrawSpanRenew"> + <target name="cell"> + <path> spe </path> + <cpu> SPE_ANY </cpu> + <cc cc:compiler="spu-g++"/> + </target> + + <target name="cell"> + <path> ppe </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="ppu-g++"/> + </target> + + <target name="macosx"> + <path> macosx </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="mac-g++"/> + </target> + + <target name="linux"> + <path> linux </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="linux-g++"/> + </target> + + <source> DrawSpanRenew.cc </source> + + </task> +</directory> + +<directory> + <path> ${CERIUM}/Renderer/test_render </path> + <task name="Load_Texture"> + <target name="cell"> + <path> spe </path> + <cpu> SPE_ANY </cpu> + <cc cc:compiler="spu-g++"/> + </target> + + <target name="cell"> + <path> ppe </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="ppu-g++"/> + </target> + + <target name="macosx"> + <path> macosx </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="mac-g++"/> + </target> + + <target name="linux"> + <path> linux </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="linux-g++"/> + </target> + + <source> Load_Texture.cc </source> + + </task> +</directory> + +<directory> + <path> ${CERIUM}/Renderer/test_render </path> + <task name="Set_Texture"> + <target name="cell"> + <path> spe </path> + <cpu> SPE_ANY </cpu> + <cc cc:compiler="spu-g++"/> + </target> + + <target name="cell"> + <path> ppe </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="ppu-g++"/> + </target> + + <target name="macosx"> + <path> macosx </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="mac-g++"/> + </target> + + <target name="linux"> + <path> linux </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="linux-g++"/> + </target> + + <source> Set_Texture.cc </source> + + </task> +</directory> + +<directory> + <path> ${CERIUM}/Renderer/test_render </path> + <task name="TileHash"> + <target name="cell"> + <path> spe </path> + <cpu> SPE_ANY </cpu> + <cc cc:compiler="spu-g++"/> + </target> + + <target name="cell"> + <path> ppe </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="ppu-g++"/> + </target> + + <target name="macosx"> + <path> macosx </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="mac-g++"/> + </target> + + <target name="linux"> + <path> linux </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="linux-g++"/> + </target> + + <source> TileHash.cc </source> + + </task> +</directory> + +<directory> + <path> ${CERIUM}/Renderer/test_render </path> + <task name="viewer_types"> + <target name="cell"> + <path> spe </path> + <cpu> SPE_ANY </cpu> + <cc cc:compiler="spu-g++"/> + </target> + + <target name="cell"> + <path> ppe </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="ppu-g++"/> + </target> + + <target name="macosx"> + <path> macosx </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="mac-g++"/> + </target> + + <target name="linux"> + <path> linux </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="linux-g++"/> + </target> + + <source> viewer_types.cc </source> + + </task> +</directory> + +<directory> + <path> ${CERIUM}/Renderer/test_render </path> + <task name="Set_Texture"> + <target name="cell"> + <path> spe </path> + <cpu> SPE_ANY </cpu> + <cc cc:compiler="spu-g++"/> + </target> + + <target name="cell"> + <path> ppe </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="ppu-g++"/> + </target> + + <target name="macosx"> + <path> macosx </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="mac-g++"/> + </target> + + <target name="linux"> + <path> linux </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="linux-g++"/> + </target> + + <source> Set_Texture.cc </source> + + </task> +</directory>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/example/scenegraph/xml/task/collision.cpp Fri Jul 10 16:41:20 2009 +0900 @@ -0,0 +1,196 @@ +/** + * SceneGraph が増えてくると動かなくなるかもしれない。 + * 一応 mainMem とかで動くようになるとは思うけど。 + * だめだったら、そこら辺が怪しいと思うべき + */ + +// #define DEBUG +#include "error.h" + +#include "CreatePolygon.h" +#include "polygon_pack.h" +#include "scene_graph_pack.h" + +SchedDefineTask(CreatePolygon); + +#define SG_PACK_LOAD 10 +#define SG_NODE_LOAD 11 +#define PP_LOAD 12 +#define PP_STORE 13 + +/** + * あとで直す + */ +static void +rotate(float *xyz, float *matrix) +{ + float abc[4]; + + abc[0] = xyz[0]; + abc[1] = xyz[1]; + abc[2] = xyz[2]; + abc[3] = xyz[3]; + + for(int i=0; i<4; i++) + { + xyz[i] = abc[0]*matrix[i] + abc[1]*matrix[i+4] + abc[2]*matrix[i+8] + abc[3]*matrix[i+12]; + } +} + +int +CreatePolygon::run(void *rbuf, void *wbuf) +{ + __debug_spe("CreatePolygon\n"); + + float xyz1[4],xyz2[4],xyz3[4]; + + SceneGraphPackPtr sgp = (SceneGraphPack*)smanager->get_input(0); + SceneGraphPackPtr next_sgp = + (SceneGraphPackPtr)smanager->allocate(sizeof(SceneGraphPack)); + SceneGraphPackPtr free_sgp = next_sgp; + SceneGraphPackPtr tmp_sgp; + + SceneGraphNodePtr node; + SceneGraphNodePtr next_node + = (SceneGraphNodePtr)smanager->allocate(sizeof(SceneGraphNode)); + SceneGraphNodePtr free_node = next_node; + SceneGraphNodePtr tmp_node; + + PolygonPackPtr pp + = (PolygonPackPtr)smanager->allocate(sizeof(PolygonPack)); + PolygonPackPtr send_pp + = (PolygonPackPtr)smanager->allocate(sizeof(PolygonPack)); + PolygonPackPtr pp_addr = (PolygonPackPtr)smanager->get_param(0); + PolygonPackPtr tmp_pp; + + pp->init(); + send_pp->init(); + + do { + if (sgp->next != NULL) { + smanager->dma_load(next_sgp, (uint32)sgp->next, + sizeof(SceneGraphPack), SG_PACK_LOAD); + } else { + next_sgp = NULL; + } + + for (int i = 0; i < sgp->info.size; i++) { + node = &sgp->node[i]; + + do { + if (node->next != NULL) { + smanager->dma_load(next_node, (uint32)node->next, + sizeof(SceneGraphNode), SG_NODE_LOAD); + } else { + next_node = NULL; + } + + for (int n = 0, nt = 0; n < node->size*3; n+=9, nt+=6) { + + if (pp->info.size >= MAX_SIZE_TRIANGLE) { + PolygonPackPtr next; + + // smanager から Task を作る、0 ではなく PolygonPack->task_id が良い + smanager->mainMem_alloc(0, sizeof(PolygonPack)); + smanager->mainMem_wait(); + next = (PolygonPackPtr)smanager->mainMem_get(0); + + pp->next = next; // この部分は TaskManager 側でやるべき + + tmp_pp = pp; + pp = send_pp; + send_pp = tmp_pp; + + smanager->dma_wait(PP_STORE); + smanager->dma_store(send_pp, (uint32)pp_addr, + sizeof(PolygonPack), PP_STORE); + + pp_addr = next; + + smanager->dma_wait(PP_LOAD); // 多分不要 + smanager->dma_load(pp, (uint32)pp_addr, + sizeof(PolygonPack), PP_LOAD); + // 次の dma_wait のコストが高いのでパイプラインで隠す必要がある + + smanager->dma_wait(PP_LOAD); + pp->init(); + + } + + TrianglePack *triangle = &pp->tri[pp->info.size++]; + + xyz1[0] = node->vertex[n]; + xyz1[1] = node->vertex[n+1]; + xyz1[2] = node->vertex[n+2]*-1; + xyz1[3] = 1; + xyz2[0] = node->vertex[n+3]; + xyz2[1] = node->vertex[n+3+1]; + xyz2[2] = node->vertex[n+3+2]*-1; + xyz2[3] = 1; + xyz3[0] = node->vertex[n+6]; + xyz3[1] = node->vertex[n+6+1]; + xyz3[2] = node->vertex[n+6+2]*-1; + xyz3[3] = 1; + + rotate(xyz1, node->translation); + rotate(xyz2, node->translation); + rotate(xyz3, node->translation); + + triangle->ver1.x = xyz1[0]; + triangle->ver1.y = xyz1[1]; + triangle->ver1.z = xyz1[2]; + triangle->ver1.tex_x = node->texture[nt]; + triangle->ver1.tex_y = node->texture[nt+1]; + + triangle->ver2.x = xyz2[0]; + triangle->ver2.y = xyz2[1]; + triangle->ver2.z = xyz2[2]; + triangle->ver2.tex_x = node->texture[nt+2]; + triangle->ver2.tex_y = node->texture[nt+2+1]; + + triangle->ver3.x = xyz3[0]; + triangle->ver3.y = xyz3[1]; + triangle->ver3.z = xyz3[2]; + triangle->ver3.tex_x = node->texture[nt+4]; + triangle->ver3.tex_y = node->texture[nt+4+1]; + +#if 1 + triangle->tex_info.addr = node->tex_addr; + triangle->tex_info.width = node->tex_width; + triangle->tex_info.height = node->tex_height; +#else + triangle->tex_info.addr = node->texture_info.pixels; + triangle->tex_info.width = node->texture_info.t_w; + triangle->tex_info.height = node->texture_info.t_h; +#endif + } + + smanager->dma_wait(SG_NODE_LOAD); + + tmp_node = node; + node = next_node; + next_node = tmp_node; + } while (node); + + next_node = free_node; + } + + smanager->dma_wait(SG_PACK_LOAD); + + tmp_sgp = sgp; + sgp = next_sgp; + next_sgp = tmp_sgp; + } while (sgp); + + smanager->dma_wait(PP_STORE); + smanager->dma_store(pp, (uint32)pp_addr, + sizeof(PolygonPack), PP_STORE); + smanager->dma_wait(PP_STORE); + + free(pp); + free(send_pp); + free(free_node); + free(free_sgp); + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/example/scenegraph/xml/task/collision.h Fri Jul 10 16:41:20 2009 +0900 @@ -0,0 +1,15 @@ +#ifndef INCLUDED_CREATE_POLYGON +#define INCLUDED_CREATE_POLYGON + +#ifndef INCLUDED_SCHED_TASK +# include "SchedTask.h" +#endif + +class CreatePolygon : public SchedTask { +public: + SchedConstructor(CreatePolygon); + + int run(void *rbuf, void *wbuf); +}; + +#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/example/scenegraph/xml/task/move.cpp Fri Jul 10 16:41:20 2009 +0900 @@ -0,0 +1,196 @@ +/** + * SceneGraph が増えてくると動かなくなるかもしれない。 + * 一応 mainMem とかで動くようになるとは思うけど。 + * だめだったら、そこら辺が怪しいと思うべき + */ + +// #define DEBUG +#include "error.h" + +#include "CreatePolygon.h" +#include "polygon_pack.h" +#include "scene_graph_pack.h" + +SchedDefineTask(CreatePolygon); + +#define SG_PACK_LOAD 10 +#define SG_NODE_LOAD 11 +#define PP_LOAD 12 +#define PP_STORE 13 + +/** + * あとで直す + */ +static void +rotate(float *xyz, float *matrix) +{ + float abc[4]; + + abc[0] = xyz[0]; + abc[1] = xyz[1]; + abc[2] = xyz[2]; + abc[3] = xyz[3]; + + for(int i=0; i<4; i++) + { + xyz[i] = abc[0]*matrix[i] + abc[1]*matrix[i+4] + abc[2]*matrix[i+8] + abc[3]*matrix[i+12]; + } +} + +int +CreatePolygon::run(void *rbuf, void *wbuf) +{ + __debug_spe("CreatePolygon\n"); + + float xyz1[4],xyz2[4],xyz3[4]; + + SceneGraphPackPtr sgp = (SceneGraphPack*)smanager->get_input(0); + SceneGraphPackPtr next_sgp = + (SceneGraphPackPtr)smanager->allocate(sizeof(SceneGraphPack)); + SceneGraphPackPtr free_sgp = next_sgp; + SceneGraphPackPtr tmp_sgp; + + SceneGraphNodePtr node; + SceneGraphNodePtr next_node + = (SceneGraphNodePtr)smanager->allocate(sizeof(SceneGraphNode)); + SceneGraphNodePtr free_node = next_node; + SceneGraphNodePtr tmp_node; + + PolygonPackPtr pp + = (PolygonPackPtr)smanager->allocate(sizeof(PolygonPack)); + PolygonPackPtr send_pp + = (PolygonPackPtr)smanager->allocate(sizeof(PolygonPack)); + PolygonPackPtr pp_addr = (PolygonPackPtr)smanager->get_param(0); + PolygonPackPtr tmp_pp; + + pp->init(); + send_pp->init(); + + do { + if (sgp->next != NULL) { + smanager->dma_load(next_sgp, (uint32)sgp->next, + sizeof(SceneGraphPack), SG_PACK_LOAD); + } else { + next_sgp = NULL; + } + + for (int i = 0; i < sgp->info.size; i++) { + node = &sgp->node[i]; + + do { + if (node->next != NULL) { + smanager->dma_load(next_node, (uint32)node->next, + sizeof(SceneGraphNode), SG_NODE_LOAD); + } else { + next_node = NULL; + } + + for (int n = 0, nt = 0; n < node->size*3; n+=9, nt+=6) { + + if (pp->info.size >= MAX_SIZE_TRIANGLE) { + PolygonPackPtr next; + + // smanager から Task を作る、0 ではなく PolygonPack->task_id が良い + smanager->mainMem_alloc(0, sizeof(PolygonPack)); + smanager->mainMem_wait(); + next = (PolygonPackPtr)smanager->mainMem_get(0); + + pp->next = next; // この部分は TaskManager 側でやるべき + + tmp_pp = pp; + pp = send_pp; + send_pp = tmp_pp; + + smanager->dma_wait(PP_STORE); + smanager->dma_store(send_pp, (uint32)pp_addr, + sizeof(PolygonPack), PP_STORE); + + pp_addr = next; + + smanager->dma_wait(PP_LOAD); // 多分不要 + smanager->dma_load(pp, (uint32)pp_addr, + sizeof(PolygonPack), PP_LOAD); + // 次の dma_wait のコストが高いのでパイプラインで隠す必要がある + + smanager->dma_wait(PP_LOAD); + pp->init(); + + } + + TrianglePack *triangle = &pp->tri[pp->info.size++]; + + xyz1[0] = node->vertex[n]; + xyz1[1] = node->vertex[n+1]; + xyz1[2] = node->vertex[n+2]*-1; + xyz1[3] = 1; + xyz2[0] = node->vertex[n+3]; + xyz2[1] = node->vertex[n+3+1]; + xyz2[2] = node->vertex[n+3+2]*-1; + xyz2[3] = 1; + xyz3[0] = node->vertex[n+6]; + xyz3[1] = node->vertex[n+6+1]; + xyz3[2] = node->vertex[n+6+2]*-1; + xyz3[3] = 1; + + rotate(xyz1, node->translation); + rotate(xyz2, node->translation); + rotate(xyz3, node->translation); + + triangle->ver1.x = xyz1[0]; + triangle->ver1.y = xyz1[1]; + triangle->ver1.z = xyz1[2]; + triangle->ver1.tex_x = node->texture[nt]; + triangle->ver1.tex_y = node->texture[nt+1]; + + triangle->ver2.x = xyz2[0]; + triangle->ver2.y = xyz2[1]; + triangle->ver2.z = xyz2[2]; + triangle->ver2.tex_x = node->texture[nt+2]; + triangle->ver2.tex_y = node->texture[nt+2+1]; + + triangle->ver3.x = xyz3[0]; + triangle->ver3.y = xyz3[1]; + triangle->ver3.z = xyz3[2]; + triangle->ver3.tex_x = node->texture[nt+4]; + triangle->ver3.tex_y = node->texture[nt+4+1]; + +#if 1 + triangle->tex_info.addr = node->tex_addr; + triangle->tex_info.width = node->tex_width; + triangle->tex_info.height = node->tex_height; +#else + triangle->tex_info.addr = node->texture_info.pixels; + triangle->tex_info.width = node->texture_info.t_w; + triangle->tex_info.height = node->texture_info.t_h; +#endif + } + + smanager->dma_wait(SG_NODE_LOAD); + + tmp_node = node; + node = next_node; + next_node = tmp_node; + } while (node); + + next_node = free_node; + } + + smanager->dma_wait(SG_PACK_LOAD); + + tmp_sgp = sgp; + sgp = next_sgp; + next_sgp = tmp_sgp; + } while (sgp); + + smanager->dma_wait(PP_STORE); + smanager->dma_store(pp, (uint32)pp_addr, + sizeof(PolygonPack), PP_STORE); + smanager->dma_wait(PP_STORE); + + free(pp); + free(send_pp); + free(free_node); + free(free_sgp); + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/example/scenegraph/xml/task/move.h Fri Jul 10 16:41:20 2009 +0900 @@ -0,0 +1,15 @@ +#ifndef INCLUDED_CREATE_POLYGON +#define INCLUDED_CREATE_POLYGON + +#ifndef INCLUDED_SCHED_TASK +# include "SchedTask.h" +#endif + +class CreatePolygon : public SchedTask { +public: + SchedConstructor(CreatePolygon); + + int run(void *rbuf, void *wbuf); +}; + +#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/example/scenegraph/xml/tasks.xml Fri Jul 10 16:41:20 2009 +0900 @@ -0,0 +1,55 @@ +<!-- Cerium Task Configuration + CPU_PPE = 0, // default + CPU_SPE = 1, + SPE_ANY = CPU_SPE, + SPE_0 = 2, + SPE_1 = 3, + SPE_2 = 4, + SPE_3 = 5, + SPE_4 = 6, + SPE_5 = 7, + --> + +<directory> + <path> task </path> + + <target> + <path> spe </path> + <cpu> SPE_ANY </cpu> + <cc cc:compiler="spu-g++"/> + </target> + + <target> + <path> ppe </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="ppu-g++"/> + </target> + + <target> + <path> macosx </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="mac-g++"/> + </target> + + <target name="linux"> + <path> linux </path> + <cpu> CPU_PPE </cpu> + <cc cc:compiler="linux-g++"/> + </target> + <task name="move"> + <source> move.cpp </source> + + </task> + + <task name="collision"> + <source> collision.cpp </source> + </task> + +</directory> + +<directory> + <path> ${CERIUM}/Renderer/test_render </path> + <task name="Renderer"> + <config> renderer.xml </config> + </task> +</directory>
--- a/example/scenegraph/xml/xml.cpp Fri Jul 10 16:06:15 2009 +0900 +++ b/example/scenegraph/xml/xml.cpp Fri Jul 10 16:41:20 2009 +0900 @@ -14,15 +14,7 @@ void TMend(void); -static double -getTime(void) -{ - struct timeval tv; - gettimeofday(&tv, NULL); - return tv.tv_sec + (double)tv.tv_usec*1e-6; -} - -const char *usr_help_str = "Usage: ./sort [option]\n \ +const char *usr_help_str = "Usage: ./test_xml [option]\n \ options\n\ -cpu Number of SPE used (default 1)\n\ -l, --length Sorted number of data (default 1200)\n\ @@ -52,7 +44,6 @@ sgroot->createFromXMLfile("sg/sg-test.xml"); sgroot->createFromXMLfile("sg/sg-test2.xml"); - st_time = getTime(); manager->set_TMend(TMend); } @@ -60,10 +51,6 @@ void TMend(void) { - ed_time = getTime(); - //show_data(); - printf("Time: %0.6f\n",ed_time-st_time); - } void