00001
00002
00003
00004
00005
00006 #ifndef TEXTURE_H
00007 #define TEXTURE_H
00008
00009 #include<Shade.h>
00010 #include<Image.h>
00011 #include<Matrix4.h>
00012
00013 #include<string>
00014
00017 class Texture : public Shade
00018 {
00019 DYNAMIC_OBJECT;
00020 public:
00021 typedef enum Type {
00022 Planar
00023 };
00024
00025 Texture();
00026 Texture(const string &name);
00027
00028 void open(const string &name);
00029
00030
00031 Color4 calculateColor(const SurfaceInfo &s, Scene &scene);
00032 void transform(Matrix4 &m);
00033
00034
00035 void parseSymbol(Token &t, ObjectFile &file);
00036 void writeParams(ostream &stream);
00037
00038 private:
00039
00040 void createSymbols();
00041
00042 bool once;
00043 Type type;
00044 Matrix4 M;
00045 string name;
00046 RefImage image;
00047
00048 private:
00049 typedef Shade super;
00050 };
00051 #endif