vrheights

annotate src/material.cc @ 14:25cab9e20c9c

mesh vbos
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 09 Oct 2014 01:29:28 +0300
parents
children
rev   line source
nuclear@8 1 #include "material.h"
nuclear@8 2 #include "opengl.h"
nuclear@8 3
nuclear@8 4 Material::Material()
nuclear@8 5 : diffuse(1, 1, 1)
nuclear@8 6 {
nuclear@8 7 alpha = 1.0;
nuclear@8 8 shininess = 60.0;
nuclear@8 9 tex = 0;
nuclear@8 10 }
nuclear@8 11
nuclear@8 12 void Material::setup() const
nuclear@8 13 {
nuclear@8 14 float diff[] = {diffuse.x, diffuse.y, diffuse.z, alpha};
nuclear@8 15 float spec[] = {specular.x, specular.y, specular.z, 1.0};
nuclear@8 16
nuclear@8 17 glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, diff);
nuclear@8 18 glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, spec);
nuclear@8 19 glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, shininess > 128.0f ? 128.0f : shininess);
nuclear@8 20
nuclear@8 21 if(tex) {
nuclear@8 22 glEnable(GL_TEXTURE_2D);
nuclear@8 23 glBindTexture(GL_TEXTURE_2D, tex);
nuclear@8 24 } else {
nuclear@8 25 glDisable(GL_TEXTURE_2D);
nuclear@8 26 }
nuclear@8 27 }