Mercurial > hg > Game > Cerium
view Renderer/Engine/task/update_sgp.cc @ 603:57ec231bc8ac draft
long -> memaddr (64 or 32)
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 07 Nov 2009 14:13:29 +0900 |
parents | 3bc98f6d31ff |
children | 294bc9364bee |
line wrap: on
line source
#include <stdio.h> #include <string.h> #include <unistd.h> #include <math.h> #include "scene_graph_pack.h" #include "sys.h" #include "update_sgp.h" SchedDefineTask(Update_SGP); static int run(SchedTask *s,void *rbuf, void *wbuf) { SceneGraphNodePtr node; SceneGraphPack *sgp = (SceneGraphPack*)s->get_input(rbuf, 0); SceneGraphPack *_sgp = (SceneGraphPack*)s->get_output(wbuf, 0); //int screen_width = get_param(0); //int screen_height = get_param(1); // 本当はここでやるもんじゃないんだが。。。 for (int i = 0; i < sgp->info.size && i < 3; i++) { node = &sgp->node[i]; do { 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); } node = node->next; } while (node); } memcpy(_sgp, sgp, sizeof(SceneGraphPack)); return 0; }