Advertisement
RedReaper132

Episode 3

Jun 7th, 2011
1,954
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.07 KB | None | 0 0
  1. /*
  2. Compile command:
  3. g++ -o test main.cpp -lSDLmain -lSDL -lGL -lSDL_image
  4.  
  5. Windows users:
  6. Linker parameters:
  7. -lmingw32 -lSDLmain -lSDL -lopengl32 -lglu32
  8.  */
  9.  
  10. // specific headers
  11. #include "SDL/SDL.h"
  12. #include "SDL/SDL_opengl.h"
  13. #include "SDL/SDL_image.h"
  14. #include <iostream>
  15. #include <string>
  16.  
  17. int main( int agrc, char* args[] )
  18. {
  19.   SDL_Init(SDL_INIT_EVERYTHING);
  20.  
  21.   //Set OpenGL memory usage
  22.   SDL_GL_SetAttribute( SDL_GL_RED_SIZE, 8 );
  23.   SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, 8);
  24.   SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, 8 );
  25.   SDL_GL_SetAttribute( SDL_GL_ALPHA_SIZE, 8);
  26.   SDL_GL_SetAttribute( SDL_GL_BUFFER_SIZE, 32);
  27.   SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, 16 );
  28.   SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 );
  29.  
  30.   //Caption of the window
  31.   SDL_WM_SetCaption( "Our first game", NULL );
  32.  
  33.   //Size of the window
  34.   SDL_SetVideoMode(600,400,32, SDL_OPENGL );
  35.  
  36.   //Specific the clear color
  37.   glClearColor(1,1,1,1); //RED,GREEN,BLUE,ALPHA
  38.  
  39.   //What portion of the screen we will display
  40.   glViewport(0,0,600,400);
  41.  
  42.   //2D rendering
  43.   glMatrixMode(GL_PROJECTION);
  44.  
  45.   //"Save" it
  46.   glLoadIdentity();
  47.  
  48.   //Disable depth checking
  49.   glDisable(GL_DEPTH_TEST);
  50.  
  51.   std::cout << "OpenGL is running" << std::endl;
  52.  
  53.   //Handle the main loop
  54.   bool isRunning = true;
  55.  
  56.   //For handling events
  57.   SDL_Event event;
  58.  
  59.   //Main game loop
  60.   while ( isRunning )
  61.     {
  62.       //EVENTS
  63.       while ( SDL_PollEvent(&event) )
  64.     {
  65.       if ( event.type == SDL_QUIT ) //If X on windows has been pressed
  66.         {
  67.           isRunning = false;
  68.         }
  69.      
  70.       //If a key has been released, and the key is ESCAPE
  71.       if ( event.type = SDL_KEYUP && event.key.keysym.sym == SDLK_ESCAPE )
  72.         {
  73.           isRunning = false;
  74.         }
  75.  
  76.       //If a key has been released and the key is 'r'
  77.       if ( event.type = SDL_KEYUP & event.key.keysym.sym == SDLK_r )
  78.         {
  79.           glClearColor(1,0,0,1); //Red clear color
  80.         }
  81.     }
  82.  
  83.       //LOGIC
  84.  
  85.       //RENDERING
  86.       glClear(GL_COLOR_BUFFER_BIT);
  87.  
  88.  
  89.       SDL_GL_SwapBuffers();
  90.     }
  91.  
  92.   //Quit SDL
  93.   SDL_Quit();
  94.  
  95.   return 0;
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement