diff gldragon.cpp @ 32:1215fdd0a8ab

Add support for specifying specular and shininess values per model.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 22 Nov 2019 22:57:14 +0200
parents 6847715b46cd
children d640f2a34031
line wrap: on
line diff
--- a/gldragon.cpp	Fri Nov 22 19:53:55 2019 +0200
+++ b/gldragon.cpp	Fri Nov 22 22:57:14 2019 +0200
@@ -166,6 +166,11 @@
 {
     int maxIndices;
 
+    glEnable(GL_COLOR_MATERIAL);
+    glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE);
+    glMateriali(GL_FRONT, GL_SHININESS, model.shininess);
+    glMaterialfv(GL_FRONT, GL_SPECULAR, model.specular.values);
+
     // Render the model
     glGetIntegerv(GL_MAX_ELEMENTS_INDICES, &maxIndices);
 
@@ -468,15 +473,6 @@
         }
     }
 
-    // ...
-    {
-    float specReflection[] = { 0.8f, 0.8f, 0.8f, 1.0f };
-    glEnable(GL_COLOR_MATERIAL);
-    glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE);
-    glMateriali(GL_FRONT, GL_SHININESS, 96);
-    glMaterialfv(GL_FRONT, GL_SPECULAR, specReflection);
-    }
-
     // Setup lights
     for (size_t n = 0; n < scene.lights.size(); n++)
         dmSetupLight(n, scene.lights[n]);