annotate TaskManager/Test/simple_render/task/create_pp.cpp @ 61:6bc72fde6615

*** empty log message ***
author gongo
date Sat, 16 Feb 2008 20:19:31 +0900
parents 64ef030deb22
children 9b96b190cb73
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
1 #include <iostream>
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
2 #include "polygon_pack.h"
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
3 #include "scene_graph_pack.h"
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
4 #include "sys.h"
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
5 using namespace std;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
6
49
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
7 #include "error.h"
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
8
49
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
9 int
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
10 create_pp(SceneGraphPack *sgp, PolygonPack *pp)
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
11 {
49
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
12 float xyz1[4],xyz2[4],xyz3[4];
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
13
49
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
14 __debug("[%s] sgp = 0x%x, pp = 0x%x\n", __FUNCTION__,
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
15 (unsigned int)sgp,(unsigned int)pp);
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
16
49
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
17 for (int i = 0; i < sgp->info.size; i++) {
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
18 SceneGraphNodePtr node = &sgp->node[i];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
19
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
20 int n,nt,pt;
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
21 for(n=0,nt=0,pt=0; n<node->size*3; n+=9,nt+=6,pt++) {
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
22 xyz1[0] = node->vertex[n];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
23 xyz1[1] = node->vertex[n+1];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
24 xyz1[2] = node->vertex[n+2]*-1;
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
25 xyz1[3] = 1;
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
26 xyz2[0] = node->vertex[n+3];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
27 xyz2[1] = node->vertex[n+3+1];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
28 xyz2[2] = node->vertex[n+3+2]*-1;
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
29 xyz2[3] = 1;
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
30 xyz3[0] = node->vertex[n+6];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
31 xyz3[1] = node->vertex[n+6+1];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
32 xyz3[2] = node->vertex[n+6+2]*-1;
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
33 xyz3[3] = 1;
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
34
49
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
35 rotate(xyz1, node->translation);
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
36 rotate(xyz2, node->translation);
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
37 rotate(xyz3, node->translation);
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
38
49
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
39 pp->tri[pt].x1 = xyz1[0];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
40 pp->tri[pt].y1 = xyz1[1];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
41 pp->tri[pt].z1 = xyz1[2];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
42 pp->tri[pt].tex_x1 = node->texture[nt];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
43 pp->tri[pt].tex_y1 = node->texture[nt+1];
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
44
49
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
45 pp->tri[pt].x2 = xyz2[0];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
46 pp->tri[pt].y2 = xyz2[1];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
47 pp->tri[pt].z2 = xyz2[2];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
48 pp->tri[pt].tex_x2 = node->texture[nt+2];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
49 pp->tri[pt].tex_y2 = node->texture[nt+2+1];
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
50
49
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
51 pp->tri[pt].x3 = xyz3[0];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
52 pp->tri[pt].y3 = xyz3[1];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
53 pp->tri[pt].z3 = xyz3[2];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
54 pp->tri[pt].tex_x3 = node->texture[nt+4];
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
55 pp->tri[pt].tex_y3 = node->texture[nt+4+1];
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
56
49
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
57 }
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
58 pp->info.size = pt;
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
59 }
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
60
49
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
61 return sizeof(PolygonPack);
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
62 }