00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef _CELENGINE_MULTITEXTURE_H_
00011 #define _CELENGINE_MULTITEXTURE_H_
00012
00013 #include <string>
00014 #include "texture.h"
00015 #include <celutil/reshandle.h>
00016
00017 #define TEXTURE_RESOLUTION 3
00018
00019 enum {
00020 lores = 0,
00021 medres = 1,
00022 hires = 2
00023 };
00024
00025
00026 class MultiResTexture
00027 {
00028 public:
00029 MultiResTexture();
00030 MultiResTexture(ResourceHandle loTex,
00031 ResourceHandle medTex = InvalidResource,
00032 ResourceHandle hiTex = InvalidResource);
00033 MultiResTexture(const std::string& source, const std::string& path);
00034 ~MultiResTexture() {};
00035 void setTexture(const std::string& source,
00036 const std::string& path,
00037 unsigned int flags = 0);
00038 void setTexture(const std::string& source,
00039 const std::string& path,
00040 float bumpHeight,
00041 unsigned int flags);
00042 Texture* find(unsigned int resolution);
00043
00044 public:
00045 ResourceHandle tex[3];
00046 };
00047
00048 #endif // _CELENGINE_MULTITEXTURE_H_