Mercurial > hg > Members > kono > Cerium
view TaskManager/Test/simple_render/task/update_sgp.cpp @ 89:a309cf4eafc5
*** empty log message ***
author | gongo |
---|---|
date | Wed, 27 Feb 2008 17:26:40 +0900 |
parents | 61bacd3b4405 |
children | 663bc2a213f5 |
line wrap: on
line source
#include <string.h> #include <math.h> #include "scene_graph_pack.h" #include "sys.h" using namespace std; #include "error.h" int update_sgp(SceneGraphPack *sgp, SceneGraphPack *_sgp) { SceneGraphNodePtr node; float y_angle; __debug("[%s]\n", __FUNCTION__); for (int i = 0; i < sgp->info.size; i++) { //(*my_func[node->move])(node); //(*my_func[node->interaction])(node, sgp); node = &sgp->node[i]; // 本当は、ここは上の my_func で行う y_angle = node->angle[1]; y_angle += 1.0f; if (y_angle > 360.0f) y_angle = 0.0f; node->angle[1] = y_angle; //node->obj_pos[0] += 0.5f; //node->obj_pos[1] += 0.5f; //node->obj_pos[2] += 0.5f; if (node->pn != -1) { get_matrix(node->translation, node->angle, node->obj_pos, sgp->node[node->pn].translation); } else { get_matrix(node->translation, node->angle, node->obj_pos, NULL); } } // まあこれは多分駄目なんだけど。 // in/out と update は分ける必要ある? // それはユーザ側で in/out になるように書かせるもの? memcpy(_sgp, sgp, sizeof(SceneGraphPack)); //return sizeof(SceneGraphPack); return 0; }