X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=ld37_one_room;a=blobdiff_plain;f=src%2Fmaterial.cc;fp=src%2Fmaterial.cc;h=f34520496fae12ed8060a03d092ad4c567a16c17;hp=189b6ad77e2fd57bd216c6ec7b248182aa7c051a;hb=f8ad31b8b1856784aefdd3457b6b8f5cb5576892;hpb=cc8a355e7b709f3eb1132cd6b63cf4e482d58332 diff --git a/src/material.cc b/src/material.cc index 189b6ad..f345204 100644 --- a/src/material.cc +++ b/src/material.cc @@ -4,6 +4,7 @@ #include "material.h" #include "sdr.h" #include "app.h" +#include "ubersdr.h" Material::Material() : diffuse(1.0f, 1.0f, 1.0f) @@ -22,16 +23,29 @@ void Material::setup() const glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, ks); glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, shininess); - int ntex = std::min((int)textures.size(), 8); // TODO: use max texture units - for(int i=0; iget_type() == TEX_CUBE) { + uber_enable_cubemap(); + } else { + uber_disable_cubemap(); } - */ + if(stdtex[MTL_TEX_ENVMAP] && stdtex[MTL_TEX_ENVMAP]->get_type() == TEX_2D) { + uber_enable_sphmap(); + } else { + uber_disable_sphmap(); + } + /* TODO shadows */ + + unsigned int sdrprog = uber_program(); + bind_program(sdrprog); } void Material::add_texture(Texture *tex, int type)