shadetree.h

Go to the documentation of this file.
00001 #ifndef __ANTI_SHADETREE_H__
00002 #define __ANTI_SHADETREE_H_
00003 
00004 #include "antistd.h"
00005 
00006 #include "liballoy/alloy.h"
00007 #include "libhemi/mesh.h"
00008 
00009 typedef struct aeShaderNode_s aeShaderNode;
00010 typedef struct aeLightpropsNode_s aeLightpropsNode;
00011 typedef struct aeMultitextureNode_s aeMultitextureNode;
00012 typedef struct aePrimaryTextureNode_s aePrimaryTextureNode;
00013 
00014 typedef struct
00015 {
00016         aeShaderNode* children;
00017         int num_children;
00018 } aeRootNode;
00019 
00020 struct aeShaderNode_s
00021 {
00022         alloy_shader_t* shader;
00023         aeLightpropsNode* children;
00024         int num_children;
00025 };
00026 
00027 struct aeLightpropsNode_s
00028 {
00029         alloy_lightprops_t* lightprops;
00030         aeMultitextureNode* children;
00031         int num_children;
00032 };
00033 
00034 struct aeMultitextureNode_s
00035 {
00036         alloy_blend_t* blends;
00037         alloy_texture_t* multitextures[7];
00038         aePrimaryTextureNode* children;
00039         int num_children;
00040 };
00041 
00042 struct aePrimaryTextureNode_s
00043 {
00044         alloy_texture_t* texture;
00045 
00046         hemi_part_t* parts;
00047         int num_parts;
00048 };
00049 
00050 void aeInsertObject(hemi_part_t*);
00051 void aeRemoveObject(hemi_part_t*);
00052 void aeTraverseTree(aeRootNode*);
00053 void __aeDoShaderNode(aeShaderNode*);
00054 void __aeDoLightpropsNode(aeLightpropsNode*);
00055 void __aeDoMultitextureNode(aeMultitextureNode*);
00056 void __aeDoPrimaryTextureNode(aePrimaryTextureNode*);
00057 
00058 #endif

Generated on Fri Jun 1 09:08:54 2007 for Antigone by  doxygen 1.4.7