annotate TaskManager/Test/test_render/scene_graph_pack.h @ 113:80d93fe0601d draft

Define New Texture Data Structure
author gongo@gendarme.cr.ie.u-ryukyu.ac.jp
date Thu, 13 Nov 2008 10:10:57 +0900
parents 028ffc9c0375
children e9e12e2088bd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
1 #ifndef INCLUDED_SCENE_GRAPH_PACK
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
2 #define INCLUDED_SCENE_GRAPH_PACK
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
3
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
4 #define MAX_NODE 16
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
5 #define MAX_POLYGON 36
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
6
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
7 typedef struct SceneGraphNode {
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
8 int size; // この Node で使ってるポリゴンの数、でいいのかな
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
9 float vertex[MAX_POLYGON*3];
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
10 float texture[MAX_POLYGON*2];
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
11 float obj_pos[4];
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
12 float angle[4];
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
13 float translation[16];
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
14 long *tex_addr, tex_width, tex_height;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
15 int id;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
16 int move, interaction;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
17 //void (*move)();
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
18 //int op[32]; // push pop shift => enum
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
19 int pn; // parent number?
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
20 SceneGraphNode *next;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
21 int pad[3];
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
22
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
23 void init(void) {
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
24 size = 0;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
25 next = 0;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
26 }
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
27 }SceneGraphNode, *SceneGraphNodePtr;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
28
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
29 typedef struct SceneGraphInfo {
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
30 int size;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
31 int pad[2];
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
32 }SceneGraphInfo;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
33
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
34 typedef struct SceneGraphPack {
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
35 SceneGraphInfo info;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
36 SceneGraphNode node[MAX_NODE];
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
37 SceneGraphPack *next;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
38
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
39 void init(void){
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
40 next = 0;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
41 info.size = 0;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
42
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
43 for (int i = 0; i < MAX_NODE; i++) {
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
44 node[i].size = 0;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
45 }
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
46 }
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
47 } SceneGraphPack, *SceneGraphPackPtr;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
48
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
49 #endif