X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;f=src%2Fshader.cc;h=b39401f2a8d77970c6fe410faa2f036c5ef05d3f;hb=05d269a194496bcef85da78652b947f5bf1c9bcf;hp=f8f1c15f406b40f73c7809f4a6484923f5971fb7;hpb=fcd6773bc770425ede4b47a84eef7cc78342542c;p=demo diff --git a/src/shader.cc b/src/shader.cc index f8f1c15..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() @@ -69,4 +66,4 @@ ShaderProgram::~ShaderProgram() for(int i=0; i