changeset 92:28dd29f3a65f

Remove DMSimpleRenderer::animate() and use direct time value in drawScene() etc.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 25 May 2021 00:44:40 +0300
parents 4df8a7337e3e
children 9fee97e7c5b6
files dmglrender.cpp dmglrender.h dmrender.h gldragon.cpp
diffstat 4 files changed, 10 insertions(+), 30 deletions(-) [+]
line wrap: on
line diff
--- a/dmglrender.cpp	Mon Jan 18 12:23:48 2021 +0200
+++ b/dmglrender.cpp	Tue May 25 00:44:40 2021 +0300
@@ -426,12 +426,17 @@
     glEnable(GL_LIGHTING);
 
     // Draw models
+    glPushMatrix();
+    glRotatef(time * 360.0, 0, 1, 0);
+
     for (const DMModel &model : scene.models)
     {
         glPushMatrix();
         drawModel(scene, model, time);
         glPopMatrix();
     }
+
+    glPopMatrix();
 }
 
 
@@ -453,13 +458,3 @@
     gluLookAt(0, 0.12, 0.24, 0, 0.12, 0, 0, 1, 0);
     return true;
 }
-
-
-bool DMGLSimpleRenderer::animate(DMSimpleScene &scene, const float time)
-{
-    (void) scene;
-    (void) time;
-
-    glRotatef(2.0f, 0, 1, 0);
-    return true;
-}
--- a/dmglrender.h	Mon Jan 18 12:23:48 2021 +0200
+++ b/dmglrender.h	Tue May 25 00:44:40 2021 +0300
@@ -39,7 +39,6 @@
     bool compileModelShaders(DMModel &model);
     bool setupLight(const int n, DMLight &light);
     bool setupCamera(DMCamera &camera);
-    bool animate(DMSimpleScene &scene, const float time);
 };
 
 #endif
--- a/dmrender.h	Mon Jan 18 12:23:48 2021 +0200
+++ b/dmrender.h	Tue May 25 00:44:40 2021 +0300
@@ -141,13 +141,6 @@
         (void) camera;
         return true;
     }
-
-    virtual bool animate(DMSimpleScene &scene, const float time)
-    {
-        (void) scene;
-        (void) time;
-        return true;
-    }
 };
 
 #endif
--- a/gldragon.cpp	Mon Jan 18 12:23:48 2021 +0200
+++ b/gldragon.cpp	Tue May 25 00:44:40 2021 +0300
@@ -333,20 +333,14 @@
                 }
         }
 
-        // Render the next frame
-        frameStart = SDL_GetTicks();
-        renderer.drawScene(scene, totalTime);
-
-        // Draw the current frame
-        renderer.swapWindow();
-
+        // Check for pause frame
         if (optPauseFrame >= 0 && cycleFrames == optPauseFrame)
             pauseFlag = true;
 
-        // Rotate for 2 degrees
-        if (!pauseFlag)
-            renderer.animate(scene, totalTime);
-
+        // Render the frame
+        frameStart = SDL_GetTicks();
+        renderer.drawScene(scene, fmodf((float) cycleFrames, SET_FRAMES) / SET_FRAMES);
+        renderer.swapWindow();
         frameEnd = SDL_GetTicks();
 
         // Check for errors
@@ -354,7 +348,6 @@
 
         frameDelta = frameEnd - frameStart;
 
-
         // Return true if a full rotation was done
         if (!pauseFlag)
         {