]> code.bitgloo.com Git - clyne/gamedev.git/commitdiff
Re-Documented the render loop
authorAndy Belle-Isle <abelleisle@roadrunner.com>
Tue, 8 Sep 2015 23:10:31 +0000 (19:10 -0400)
committerAndy Belle-Isle <abelleisle@roadrunner.com>
Tue, 8 Sep 2015 23:10:36 +0000 (19:10 -0400)
src/windowClass.cpp

index 942ba86bc3c9751d9ceb02a8a74ebf72235a0169..e0e384022b75b67ecf8e65beaf637e6668b7f6fd 100644 (file)
@@ -6,33 +6,35 @@ void Window::setupRender(){
 }
 
 void Window::render(){
-
+                                                                //a matrix is a blank canvas for the computer to draw on, the matrices are stored in a "stack"
+                                                                //GL_PROJECTION has 2 matrices
+                                                                //GL_MODELVIEW has 32 matrices
        glMatrixMode(GL_PROJECTION); //set the matrix mode as projection so we can set the ortho size and the camera settings later on
-    glPushMatrix(); //load the settings into the matrix
-    glLoadIdentity(); //save the matrix
+    glPushMatrix(); //push the  matrix to the top of the matrix stack
+    glLoadIdentity(); //replace the entire matrix stack with the updated GL_PROJECTION mode
 
        glOrtho(0,SCREEN_WIDTH, 0,SCREEN_HEIGHT, -1,1); //set the the size of the screen
 
     glMatrixMode(GL_MODELVIEW); //set the matrix to modelview so we can draw objects
-    glPushMatrix(); //load
-    glLoadIdentity(); //save
+    glPushMatrix(); //push the  matrix to the top of the matrix stack
+    glLoadIdentity(); //replace the entire matrix stack with the updated GL_MODELVIEW mode
 
-       glPushMatrix(); //start a new matrix
-       glClear(GL_COLOR_BUFFER_BIT); //clear the screen
+       glPushMatrix(); //basically here we put a blank canvas (new matrix) on the screen to draw on
+       glClear(GL_COLOR_BUFFER_BIT); //clear the matrix on the top of the stack
 
        /**************************
        **** RENDER STUFF HERE ****
        **************************/
-       glColor3f(1.0f, 0.0f, 0.0f);
+       glColor3f(1.0f, 0.0f, 0.0f); //color to red
        glRectf(0,0, 50,50); //draw a test rectangle
-       glColor3f(0.0f, 1.0f, 0.0f);
-       glRectf(50,0, 100,50);
-       glColor3f(0.0f, 0.0f, 1.0f);
-       glRectf(100,0,150,50);
+       glColor3f(0.0f, 1.0f, 0.0f); //color to blue
+       glRectf(50,0, 100,50); //draw a test rectangle
+       glColor3f(0.0f, 0.0f, 1.0f); //color to green
+       glRectf(100,0,150,50); //draw a test rectangle
        /**************************
        ****  CLOSE THE LOOP   ****
        **************************/
 
-       glPopMatrix(); //see ya' matrix
-       SDL_GL_SwapWindow(window); //give the render to SDL to display it
+       glPopMatrix(); //take the matrix(s) off the stack to pass them to the renderer
+       SDL_GL_SwapWindow(window); //give the stack to SDL to render it
 }
\ No newline at end of file