OpenGL: Difference between revisions

From LD Smith Games Workshop
Jump to navigation Jump to search
No edit summary
Line 50: Line 50:
   INTEGER playerVelocityX
   INTEGER playerVelocityX
   INTEGER playerVelocityY
   INTEGER playerVelocityY
 
 
   Setup_SDL
   Setup_SDL
   Setup_OpenGL
   Setup_OpenGL
   Load_Bitmaps
   Load_Bitmaps
 
 
   GameLoop {
   GameLoop {
 
 
     While (User hasn't Quit) {
     While (User hasn't Quit) {
       IF (User presses up) THEN
       IF (User presses up) THEN
         playerVelocityY = - PLAYER_SPEED
         playerVelocityY = - PLAYER_SPEED
 
 
       IF (User presses down) THEN
       IF (User presses down) THEN
         playerVelocityY = PLAYER_SPEED
         playerVelocityY = PLAYER_SPEED
 
 
       IF (User presses left) THEN
       IF (User presses left) THEN
         playerVelocityX = - PLAYER_SPEED
         playerVelocityX = - PLAYER_SPEED
 
 
       IF (User presses right) THEN
       IF (User presses right) THEN
         playerVelocityX =  PLAYER_SPEED
         playerVelocityX =  PLAYER_SPEED
 
 
 
       playerX = playerX + playerVelocityX
       playerX = playerX + playerVelocityX
       playerY = playerY + playerVelocityY
       playerY = playerY + playerVelocityY
 
 
       Render_Screen
       Render_Screen
     }
     }
   }
   }

Revision as of 05:18, 13 February 2010

I am attempting to integrate OpenGL into the code, so that the game uses hardware graphics acceleration. Hopefully, this will improve some of the framerate issues.


Get code to compile with a single line of OpenGL

I can compile a program using #include "SDL_opengl.h", but I am getting errors about missing functions when an OpenGL method is called.


I installed the OpenGL libraries in cygwin, so I'm not sure if those were necessary:

Opengl cygwin.jpg


Installing these files may help

http://www.libsdl.org/extras/win32/cygwin/


Found out that I was using the wrong parameters to compile. I should have been using this:

gcc test.c `sdl-config --libs --cflags` -lglut32 -lglu32 -lopengl32

Display a bitmap to the screen

I got a simple square to display in OpenGL:

Opengl square.jpg

Added Tux:

Opengl tux.jpg

Tux on an image background:

One of the vertices was off, which made the background skewed.

Opengl tuxbkg.jpg


Moving Block

Next Step is to get the player block moving

Opengl tux02.jpg

Pseudo Code:

 INTEGER playerX
 INTEGER playerY
 INTEGER playerVelocityX
 INTEGER playerVelocityY
 
 Setup_SDL
 Setup_OpenGL
 Load_Bitmaps
 
 GameLoop {
 
   While (User hasn't Quit) {
     IF (User presses up) THEN
       playerVelocityY = - PLAYER_SPEED
 
     IF (User presses down) THEN
       playerVelocityY = PLAYER_SPEED
 
     IF (User presses left) THEN
       playerVelocityX = - PLAYER_SPEED
 
     IF (User presses right) THEN
       playerVelocityX =  PLAYER_SPEED
 
     playerX = playerX + playerVelocityX
     playerY = playerY + playerVelocityY
 
     Render_Screen
   }
 }