00001
00002
00003 #ifndef TEXTUREFACTORY_H
00004 #define TEXTUREFACTORY_H
00005
00006
00007 #include "Image.h"
00008
00009 #include <string>
00010
00011
00012 namespace pge {
00013
00014
00015 class Texture;
00016
00017
00018 class TextureFactory {
00019
00020 public:
00021
00022
00023
00024
00025
00026
00027 static Texture* createTexture2D(const std::string &filename, const std::string &name, bool mipmap);
00028
00029 static Texture* createTexture2D(const std::string &filename, const std::string &name,
00030 bool mipmap, bool alpha, int ar, int ag, int ab, unsigned int minFilter,
00031 unsigned int magFilter, unsigned int wrapS, unsigned int wrapT);
00032
00033
00034 static Texture* createTexture2D(unsigned char *image, const std::string &name,
00035 int width, int height, int bits, Image::ImageType type, bool mipmap,
00036 bool alpha, unsigned int minFilter, unsigned int magFilter, unsigned int wrapS,
00037 unsigned int wrapT);
00038
00039 static unsigned int createCubemapTexture(const std::string &base);
00040
00041 };
00042 };
00043
00044 #endif