X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;f=src%2Fshader_manager.cc;h=b49f68657564daea64ac5ff35ed1400ea77c9082;hb=HEAD;hp=7ebbce62dcb919c0d371172a7be9d7ce3fd99d14;hpb=3bf3536271e4afa8a8a93c75e2ab1256c0bf718a;p=demo diff --git a/src/shader_manager.cc b/src/shader_manager.cc index 7ebbce6..b49f686 100644 --- a/src/shader_manager.cc +++ b/src/shader_manager.cc @@ -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::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 +}