00001
00002 #ifndef RC_CUBEMAP_H
00003 #define RC_CUBEMAP_H
00004
00012 class CubeMap : public Resource {
00013
00014 friend class SceneGraph;
00015 friend class Texture;
00016
00017 friend class Renderer;
00018 #ifdef RC_OPENGL
00019 friend class RendererGL;
00020 #endif
00021
00022 friend class Uniform;
00023
00024
00025
00026 private:
00027 CubeMap(
00028 const char *nidentifier,
00029
00030
00031 const char *nleft,
00032 const char *nright,
00033 const char *nup,
00034 const char *ndown,
00035 const char *nfront,
00036 const char *nback
00037 );
00038
00039 ~CubeMap();
00040
00041 public:
00042
00043
00044
00045 static void setCubeMap(
00046 CubeMap **target_map,
00047 CubeMap *new_map,
00048 bool instantiate_resource = true
00049 );
00050
00051 protected:
00052
00053 void *getHandle();
00054
00055 void setHandle(
00056 void *nhandle
00057 );
00058
00059 #ifdef DEBUG
00060 protected:
00061 void print(
00062 FILE *f
00063 );
00064 #endif
00065
00066
00067
00068 private:
00069 void *handle;
00070
00071 };
00072
00073 #endif
00074