X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;f=src%2Fshader.cc;h=b39401f2a8d77970c6fe410faa2f036c5ef05d3f;hb=e04bbfa8eb50d10fc87c3cbd6667de5de767eaa7;hp=8fa50ae0080463f312931a629bb3f13f336c3d5d;hpb=4081e0e8f0f391aa25d67b73c45e73ccacff0f00;p=demo diff --git a/src/shader.cc b/src/shader.cc index 8fa50ae..b39401f 100644 --- a/src/shader.cc +++ b/src/shader.cc @@ -24,24 +24,17 @@ bool Shader::load(const char *fname, SType type) unsigned int fsz; if(!(fp = fopen(fname, "rb"))) { - fprintf(stderr, "Failed to open shader: %s.\n", fname); - + fprintf(stderr, "Failed to open shader: %s\n", fname); return false; } fseek(fp, 0, SEEK_END); fsz = ftell(fp); rewind(fp); - char *buf; - if(!(buf = new char[fsz + 1])) { - fprintf(stderr, "Failed to allocate %u buffers.\n", fsz + 1); - fclose(fp); - - return false; - } + char *buf = new char[fsz + 1]; if(fread(buf, 1, fsz, fp) < fsz) { - fprintf(stderr, "Failed to read shader: %s.\n", fname); + fprintf(stderr, "Failed to read shader: %s\n", fname); delete buf; fclose(fp); @@ -50,8 +43,12 @@ bool Shader::load(const char *fname, SType type) buf[fsz] = '\0'; fclose(fp); - create(buf, fsz, fname); - return true; + return create(buf, fsz, fname); +} + +SType Shader::get_type() +{ + return type; } ShaderProgram::ShaderProgram() @@ -70,9 +67,3 @@ ShaderProgram::~ShaderProgram() delete shaders[i]; } } - -void ShaderProgram::add_shader(Shader *sdr) -{ - assert(sdr->type < sizeof shaders / sizeof *shaders); - shaders[sdr->type] = sdr; -} \ No newline at end of file