ShadingManager.h

00001 
00007 #ifndef SHADING_MANAGER_H
00008 #define SHADING_MANAGER_H
00009 
00010 
00011 /*
00012 ** ---------------------------------------------------------------
00013 ** Includes:
00014 */
00015 
00016 /*
00017 ** ---------------------------------------------------------------
00018 ** Definitions:
00019 */
00020 
00021 
00023 
00032 typedef enum {FLAT,GOURAUD,PHONG} ShaderChoice;
00033 typedef enum {WITH,WITHOUT} TextureChoice;
00034 typedef enum {SUBDIV,SCAN} RasterizationChoice;
00035 
00036 typedef struct ShadingManagerProfile {
00037 
00038         ShaderChoice shader_choice = GOURAUD;
00039         TextureChoice texture_choice = WITHOUT;
00040         RasterizationChoice rasta_choice = SCAN;
00041 
00042 } ShadingManagerProfile;
00043 
00044 
00045 class ShadingManager {
00046 
00047 public :
00048 
00050         static void init(const ShadingManagerProfile &profile);
00052         static void init(const ShadingManagerProfile &profile,const TextureData &td);
00053 
00055         static Scene &rasterize(Scene &scene);
00056 
00057 private :
00058 
00060         static AffineTransform &mdpy;
00062         static TextureData *td;
00063 
00064 };
00065 
00066 
00067 #endif //SHADING_MANAGER_H

Generated on Thu Jul 5 13:30:03 2007 for S3D by  doxygen 1.4.6