assimp
[laserbrain_demo] / src / material.cc
diff --git a/src/material.cc b/src/material.cc
new file mode 100644 (file)
index 0000000..962b10c
--- /dev/null
@@ -0,0 +1,19 @@
+#include "opengl.h"
+#include "material.h"
+
+Material::Material()
+       : diffuse(1.0f, 1.0f, 1.0f)
+{
+       shininess = 0.0f;
+       alpha = 1.0f;
+}
+
+void Material::setup() const
+{
+       float kd[] = {diffuse.x, diffuse.y, diffuse.z, alpha};
+       float ks[] = {specular.x, specular.y, specular.z, 1.0f};
+
+       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);
+}