SHARE
TWEET

Untitled

a guest Aug 12th, 2017 44 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <SFML/Window.hpp>
  2.  
  3. #define SCREEN_WIDTH 800
  4. #define SCREEN_HEIGHT 600
  5.  
  6. bool Init_GL()
  7. {
  8.  
  9.  glClearColor( 0.0, 0.0, 0.0, 0.0 );
  10.  
  11.  glMatrixMode( GL_PROJECTION ); // hur vi ska måla, förbereder typ
  12.  glLoadIdentity();
  13.  glOrtho( 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, -1, 1 );
  14.  
  15.  glMatrixMode( GL_MODELVIEW ); // berättar för gl att vi ska vara reda att måla :)  
  16.  glLoadIdentity();
  17.  
  18.  glEnable( GL_TEXTURE_2D );
  19.  glEnable( GL_BLEND );
  20.  
  21. // berättar hur jag vill att openGL ska blenda mina texturer, detta är anpassat efter hur jag vill ha det till mitt 2D spel
  22.  glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
  23.  
  24.  if( glGetError() != GL_NO_ERROR ) // kolla om det har blivit några fel
  25.   return false;
  26.  
  27.  return true;
  28. }
  29.  
  30. bool Draw_GL()
  31. {
  32.     glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  33.     glMatrixMode(GL_MODELVIEW);
  34.     glLoadIdentity();
  35.  
  36.     glTranslatef(0.f, 0.f, -200.f);
  37.     glBegin(GL_QUADS);
  38.         glVertex3f(-50.f, -50.f, -50.f);
  39.         glVertex3f(-50.f,  50.f, -50.f);
  40.         glVertex3f( 50.f,  50.f, -50.f);
  41.         glVertex3f( 50.f, -50.f, -50.f);
  42.     glEnd();
  43.  
  44. return true;
  45. }
  46.  
  47. int main()
  48. {
  49.     sf::Window App(sf::VideoMode(800,600,32), "TesT");
  50.     sf::Event Event;
  51.  
  52.     Init_GL();
  53.  
  54.     while(App.IsOpened())
  55.     {
  56.         if(App.GetEvent(Event))
  57.         {
  58.             if(Event.Type == sf::Event::Closed)
  59.                 App.Close();
  60.         }
  61.         App.SetActive(true);
  62.         Draw_GL();
  63.         App.Display();
  64.     }
  65.  
  66.     return 0;
  67. }
RAW Paste Data
Top