view 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
line wrap: on
line source

#ifndef INCLUDED_SCENE_GRAPH_PACK
#define INCLUDED_SCENE_GRAPH_PACK

#define MAX_NODE 16
#define MAX_POLYGON 36

typedef struct SceneGraphNode {
    int size; // この Node で使ってるポリゴンの数、でいいのかな
    float vertex[MAX_POLYGON*3];
    float texture[MAX_POLYGON*2];
    float obj_pos[4];
    float angle[4];
    float translation[16];
    long *tex_addr, tex_width, tex_height;
    int id;
    int move, interaction;
    //void (*move)();
    //int op[32]; // push pop shift   =>   enum
    int pn; // parent number?
    SceneGraphNode *next;
    int pad[3];

    void init(void) {
	size = 0;
	next = 0;
    }
}SceneGraphNode, *SceneGraphNodePtr;

typedef struct SceneGraphInfo {
    int size;
    int pad[2];
}SceneGraphInfo;

typedef struct SceneGraphPack {
    SceneGraphInfo info;
    SceneGraphNode node[MAX_NODE];
    SceneGraphPack *next;

    void init(void){
	next = 0;
	info.size = 0;

	for (int i = 0; i < MAX_NODE; i++) {
	    node[i].size = 0;
	}
    }
} SceneGraphPack, *SceneGraphPackPtr;

#endif