no clue :) just to push it
[demo] / src / shader_manager.cc
index 7ebbce6..b49f686 100644 (file)
@@ -13,7 +13,7 @@ void ShaderManager::add_shader(Shader *sdr, const char *name)
        shaders[name] = sdr;
 }
 
-Shader *ShaderManager::load_shader(const char *name, SType type)
+Shader *ShaderManager::load_shader(const char *name, ShaderType type)
 {
        std::map<std::string, Shader *>::const_iterator it;
        it = shaders.find(name);
@@ -27,7 +27,6 @@ Shader *ShaderManager::load_shader(const char *name, SType type)
        std::string fname = path.empty() ? std::string(name) : path + "/" + std::string(name);
 
        if(!sdr->load(fname.c_str(), type)) {
-               fprintf(stderr, "Failed to load shader: %s.\n", fname.c_str());
                delete sdr;
                return 0;
        }
@@ -48,6 +47,9 @@ ShaderProgram *ShaderManager::create_shader_program(const char *vname, const cha
 {
        path = std::string(gfx_get_shader_path());
 
+       if(!vname || !fname)
+               return 0;
+
        Shader *vsdr = load_shader(vname, SDR_VERTEX);
        if(!vsdr)
                return 0;
@@ -79,4 +81,4 @@ void ShaderManager::set_path(const char *path)
                this->path.clear();
        else
                this->path = std::string(path);
-}
\ No newline at end of file
+}