X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=laserbrain_demo;a=blobdiff_plain;f=src%2Fmaterial.cc;h=6288ef4640dcee291a78c33c6534cb54b0f61370;hp=962b10c892464e49f7a292fd77763bc5cd45c2d5;hb=ad052fc67fe4e76d2f4a01b2381a738da1708cdb;hpb=b7c92831285013b2a0783bccaf3d900545ebb5ba diff --git a/src/material.cc b/src/material.cc index 962b10c..6288ef4 100644 --- a/src/material.cc +++ b/src/material.cc @@ -1,11 +1,16 @@ +#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); } void Material::setup() const @@ -16,4 +21,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