00001
00002
00003
00004
00005 #ifndef MERCATOR_TILE_SHADER_H
00006 #define MERCATOR_TILE_SHADER_H
00007
00008 #include <Mercator/Shader.h>
00009
00010 #include <map>
00011
00012 namespace Mercator {
00013
00014 class TileShader : public Shader {
00015 public:
00017 typedef std::map<int, Shader *> Shaderstore;
00018 private:
00019 Shaderstore m_subShaders;
00020 public:
00021 explicit TileShader();
00022 virtual ~TileShader();
00023
00024 void addShader(Shader * t, int id) {
00025 m_subShaders[id] = t;
00026 }
00027
00028 virtual bool checkIntersect(const Segment &) const;
00029 virtual void shade(Surface &) const;
00030 };
00031
00032 }
00033
00034 #endif // MERCATOR_TILE_SHADER_H