Mercurial > hg > Members > kono > Cerium
diff Renderer/Engine/viewer.cc @ 779:4455e7b0caf3
merged
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 05 Mar 2010 13:12:31 +0900 |
parents | 8e6fa21b116c 10a8a80c2ea7 |
children | f2497e0ecd7c |
line wrap: on
line diff
--- a/Renderer/Engine/viewer.cc Fri Mar 05 12:51:36 2010 +0900 +++ b/Renderer/Engine/viewer.cc Fri Mar 05 13:12:31 2010 +0900 @@ -105,13 +105,15 @@ sgroot = new SceneGraphRoot(this->width, this->height); sgroot->tmanager = manager; - int size = sizeof(float)*4; + int size = sizeof(float)*4*4; //xyz+alfa(4) * light_num(4) + int light_size = size / sizeof(float); + light_xyz_stock = (float *)manager->allocate(size); light_xyz = (float *)manager->allocate(size); - light_xyz[0] = 0.0f; - light_xyz[1] = 0.0f; - light_xyz[2] = 0.0f; - light_xyz[3] = 0.0f; + + for (int i = 0; i < light_size ; i++) { + light_xyz[i] = 0.0f; + } HTaskPtr data_load; data_load = manager->create_task(DataLoad); @@ -129,7 +131,6 @@ } MainLoop *mainloop = app->init(this, this->width, this->height); - mainloop->mainLoop(); } @@ -469,16 +470,16 @@ //task_next = manager->create_task(Dummy); //task_next->set_post(post2runLoop, (void*)this); - //Light info update + //Light info update HTaskPtr data_update; HTaskPtr data_update_wait; - int size = sizeof(float)*4; + int size = sizeof(float)*4*4; //xyz+alfa(4) * light_num(4) + int light_size = size / sizeof(float); - light_xyz[0] = light_xyz_stock[0]; - light_xyz[1] = light_xyz_stock[1]; - light_xyz[2] = light_xyz_stock[2]; - light_xyz[3] = light_xyz_stock[3]; + for (int i = 0; i < light_size; i++) { + light_xyz[i] = light_xyz_stock[i]; + } data_update_wait = manager->create_task(DataUpdate); data_update_wait->add_inData(light_xyz,size);