annotate old/simple_render/task/create_sgp.cpp @ 985:e40dd2384357

fix light data update
author root@henri.cr.ie.u-ryukyu.ac.jp
date Fri, 01 Oct 2010 02:49:38 +0900
parents 735f76483bb2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
92
663bc2a213f5 *** empty log message ***
gongo
parents: 61
diff changeset
1 #include <iostream>
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
2 #include "scene_graph_pack.h"
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
3 #include "polygon.h"
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
4 using namespace std;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
5
48
70a0ac46133e *** empty log message ***
gongo
parents: 35
diff changeset
6 int create_sgp(Polygon *sg, SceneGraphPack *sgp)
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
7 {
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
8 int i = 0;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
9 int nnpn = -1;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
10 SceneGraphNodePtr node;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
11
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
12 Polygon *t;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
13 t = sg;
102
62679f4cae18 tag:first_render_with_spe fix
gongo
parents: 92
diff changeset
14
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
15 while(t)
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
16 {
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
17 node = &sgp->node[i];
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
18
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
19 node->size = t->size;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
20 int d,tex;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
21 for(d=0,tex=0; d<t->size*3; d+=3,tex+=2)
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
22 {
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
23 node->vertex[d] = t->data[d];
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
24 node->vertex[d+1] = t->data[d+1];
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
25 node->vertex[d+2] = t->data[d+2];
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
26 node->texture[tex] = t->data[d+t->size*6];
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
27 node->texture[tex+1] = t->data[d+t->size*6+1];
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
28 }
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
29
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
30 node->obj_pos[0] = 0;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
31 node->obj_pos[1] = 0;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
32 node->obj_pos[2] = 0;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
33 node->obj_pos[3] = 1;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
34 node->angle[0] = 0;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
35 node->angle[1] = 0;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
36 node->angle[2] = 0;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
37 node->angle[3] = 1;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
38
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
39 for(int tm=0; tm<16; tm++)
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
40 {
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
41 node->translation[tm] = 0;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
42 }
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
43 node->id = 0;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
44 node->move = 0;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
45 node->interaction = 0;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
46 node->pn = nnpn;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
47
92
663bc2a213f5 *** empty log message ***
gongo
parents: 61
diff changeset
48 //node->tex_addr = t->texture_image->pixels;
663bc2a213f5 *** empty log message ***
gongo
parents: 61
diff changeset
49 node->tex_width = t->texture_image->w;
663bc2a213f5 *** empty log message ***
gongo
parents: 61
diff changeset
50 node->tex_height = t->texture_image->h;
663bc2a213f5 *** empty log message ***
gongo
parents: 61
diff changeset
51
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
52 if(t->child != NULL)
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
53 {
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
54 nnpn = i;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
55 t = t->child;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
56 }
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
57 else if(t->brother != NULL)
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
58 {
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
59 nnpn = node->pn;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
60 t = t->brother;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
61 }
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
62 else
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
63 {
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
64 while(t)
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
65 {
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
66 if(t->brother != NULL)
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
67 {
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
68 t = t->brother;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
69 break;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
70 }
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
71 else
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
72 {
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
73 if(t->parent == NULL)
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
74 {
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
75 t = NULL;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
76 break;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
77 }
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
78 nnpn = sgp->node[nnpn].pn;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
79 t = t->parent;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
80 }
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
81 }
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
82 }
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
83 i++;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
84 }
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
85 sgp->info.size = i;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
86
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
87 return sizeof(SceneGraphPack);
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
88 }