X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=laserbrain_demo;a=blobdiff_plain;f=src%2Fmaterial.cc;h=26ab63d40a01eec083d18dd1e1da68bb85c96720;hp=962b10c892464e49f7a292fd77763bc5cd45c2d5;hb=d47a663825bd358d2165c1a4b040cc828aeb4991;hpb=b7c92831285013b2a0783bccaf3d900545ebb5ba diff --git a/src/material.cc b/src/material.cc index 962b10c..26ab63d 100644 --- a/src/material.cc +++ b/src/material.cc @@ -1,11 +1,19 @@ +#include +#include #include "opengl.h" #include "material.h" +#include "sdr.h" +#include "app.h" Material::Material() : diffuse(1.0f, 1.0f, 1.0f) { shininess = 0.0f; alpha = 1.0f; + memset(stdtex, 0, sizeof stdtex); + + reflect = 0.0f; + flat_mirror = false; } void Material::setup() const @@ -16,4 +24,80 @@ void Material::setup() const glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, kd); 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; i::iterator it = std::find(textures.begin(), textures.end(), tex); + if(it != textures.end()) { + textures.erase(it); + } + + for(int i=0; i