Mercurial > hg > forks > gldragon
diff gldragon.cpp @ 36:d640f2a34031
Only scale/translate/rotate the model if those attributes have been set in the scenefile.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sun, 01 Dec 2019 23:12:04 +0200 |
parents | 1215fdd0a8ab |
children | 73a785323e8a |
line wrap: on
line diff
--- a/gldragon.cpp Tue Nov 26 07:22:35 2019 +0200 +++ b/gldragon.cpp Sun Dec 01 23:12:04 2019 +0200 @@ -175,11 +175,18 @@ glGetIntegerv(GL_MAX_ELEMENTS_INDICES, &maxIndices); // Add transforms - glScalef(model.scale.x, model.scale.y, model.scale.z); - glTranslatef(model.translate.x, model.translate.y, model.translate.z); - glRotatef(model.rotate.x, 1.0f, 0.0f, 0.0f); - glRotatef(model.rotate.y, 0.0f, 1.0f, 0.0f); - glRotatef(model.rotate.z, 0.0f, 0.0f, 1.0f); + if (model.scaleSet) + glScalef(model.scale.x, model.scale.y, model.scale.z); + + if (model.translateSet) + glTranslatef(model.translate.x, model.translate.y, model.translate.z); + + if (model.rotateSet) + { + glRotatef(model.rotate.x, 1.0f, 0.0f, 0.0f); + glRotatef(model.rotate.y, 0.0f, 1.0f, 0.0f); + glRotatef(model.rotate.z, 0.0f, 0.0f, 1.0f); + } glVertexPointer(3, GL_FLOAT, 0, &model.vertices[0]); glNormalPointer( GL_FLOAT, 0, &model.normals[0]);