X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;f=src%2Fshader.cc;h=b39401f2a8d77970c6fe410faa2f036c5ef05d3f;hb=05d269a194496bcef85da78652b947f5bf1c9bcf;hp=3bd46e2edcefc88d0801b50cb24adecf554c3e62;hpb=369d75c73bf926a6dbcf4d740c8664bbb401602a;p=demo diff --git a/src/shader.cc b/src/shader.cc index 3bd46e2..b39401f 100644 --- a/src/shader.cc +++ b/src/shader.cc @@ -2,8 +2,6 @@ #include #include "shader.h" -ShaderProgram *current_program; - Shader::Shader() {} Shader::~Shader() { @@ -26,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); @@ -52,14 +43,16 @@ bool Shader::load(const char *fname, SType type) buf[fsz] = '\0'; fclose(fp); - create(buf, fsz, fname); - return true; + return create(buf, fsz, fname); } -ShaderProgram::ShaderProgram() +SType Shader::get_type() { - current_program = 0; + return type; +} +ShaderProgram::ShaderProgram() +{ int len = sizeof shaders / sizeof *shaders; for(int i=0; itype < sizeof shaders / sizeof *shaders); - shaders[sdr->type] = sdr; -} - -ShaderProgram *get_current_program() -{ - return current_program; -} \ No newline at end of file