move shaders into .glsl files and add #include feature
This commit is contained in:
@@ -40,6 +40,7 @@ enum class kShaderUniform : uint16_t
|
||||
PatternScale = const_hash("pattern_scale"),
|
||||
PatternBright = const_hash("pattern_bright"),
|
||||
PatternContrast = const_hash("pattern_contr"),
|
||||
PatternDepth = const_hash("pattern_depth"),
|
||||
Colorize = const_hash("colorize"),
|
||||
DualAlpha = const_hash("dual_alpha"),
|
||||
};
|
||||
@@ -73,10 +74,14 @@ enum class kShader : uint16_t
|
||||
|
||||
class Shader
|
||||
{
|
||||
std::string m_path;
|
||||
std::map<kShaderUniform, GLuint> m_umap;
|
||||
GLuint prog;
|
||||
std::string read(const std::string& path);
|
||||
public:
|
||||
kShader name;
|
||||
void parse_error(const char* msg, const char* code);
|
||||
bool load(const std::string& path);
|
||||
bool create(const char* vertex, const char* fragment);
|
||||
void use();
|
||||
void u_vec4(kShaderUniform id, const glm::vec4& v);
|
||||
@@ -94,6 +99,7 @@ class ShaderManager
|
||||
static Shader* m_current;
|
||||
public:
|
||||
static bool ext_framebuffer_fetch;
|
||||
static bool load(kShader id, const std::string& path);
|
||||
static bool create(kShader id, const char* vertex, const char* fragment);
|
||||
static void use(kShader id);
|
||||
static void use(const char* name);
|
||||
|
||||
Reference in New Issue
Block a user