#ifndef SHADERSOURCE_H #define SHADERSOURCE_H #include #include class Shader; class ShaderSource { public: enum SourceType { VERTEX, GEOMETRY, FRAGMENT, NB_TYPES }; ShaderSource(); ~ShaderSource(); void setSource(const char *source, SourceType type); Shader* compile(unsigned int geomFlags, unsigned int lightFlags); Shader* compile(const std::vector &defines); private: std::string* sources[NB_TYPES]; static std::string m_utilsSource; }; #endif // SHADERSOURCE_H