Mercurial > hg > forks > gldragon
diff gldragon.cpp @ 48:0ae1ff609626
Implement diffuse setting for models in scenefile. Also refactor
parsing/handling of ambient/diffuse/specular values and unify it for both
models and lights.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 06 Dec 2019 01:12:23 +0200 |
parents | 9909014498f0 |
children | 2e2c3fe311da |
line wrap: on
line diff
--- a/gldragon.cpp Thu Dec 05 23:52:45 2019 +0200 +++ b/gldragon.cpp Fri Dec 06 01:12:23 2019 +0200 @@ -247,9 +247,9 @@ // Set the material of the model 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); - glColor4fv(model.diffuse.values); + glMateriali(GL_FRONT, GL_SHININESS, model.material.shininess); + glMaterialfv(GL_FRONT, GL_SPECULAR, model.material.specular.values); + glColor4fv(model.material.diffuse.values); // Render the model glGetIntegerv(GL_MAX_ELEMENTS_INDICES, &maxIndices); @@ -380,9 +380,9 @@ void dmSetupLight(const int n, const DMLight &light) { glEnable(GL_LIGHT0 + n); - glLightfv(GL_LIGHT0 + n, GL_AMBIENT, light.ambient.values); - glLightfv(GL_LIGHT0 + n, GL_DIFFUSE, light.diffuse.values); - glLightfv(GL_LIGHT0 + n, GL_SPECULAR, light.specular.values); + glLightfv(GL_LIGHT0 + n, GL_AMBIENT, light.color.ambient.values); + glLightfv(GL_LIGHT0 + n, GL_DIFFUSE, light.color.diffuse.values); + glLightfv(GL_LIGHT0 + n, GL_SPECULAR, light.color.specular.values); glLightfv(GL_LIGHT0 + n, GL_POSITION, light.position.values); }