Advertisement
Guest User

dasdasdsad

a guest
Jul 4th, 2014
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. #include <SDL2/SDL.h>
  2. #include <GL/glew.h>
  3. #include <GL/glu.h>
  4.  
  5. class GL3Engine {
  6. private:
  7. SDL_Window* window;
  8.  
  9. public:
  10. bool initialize() {
  11. SDL_Init (SDL_INIT_VIDEO);
  12. window = SDL_CreateWindow(
  13. "Debug",
  14. SDL_WINDOWPOS_UNDEFINED,
  15. SDL_WINDOWPOS_UNDEFINED,
  16. 444,
  17. 444,
  18. SDL_WINDOW_OPENGL
  19. );
  20. return true;
  21. }
  22. void initContext() {
  23. glewExperimental = GL_TRUE;
  24. glewInit();
  25.  
  26. SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
  27. SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2);
  28.  
  29. SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
  30. SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
  31.  
  32. glEnable (GL_DEPTH_TEST);
  33. glDepthFunc (GL_LESS);
  34.  
  35. glEnable (GL_BLEND);
  36. glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  37.  
  38. glClearColor(0, 0, 0, 1);
  39. }
  40. void run() {
  41. SDL_GLContext gl = SDL_GL_CreateContext(window);
  42. SDL_Event event;
  43.  
  44. initContext();
  45.  
  46. while (true) {
  47. while (SDL_PollEvent(&event))
  48. switch (event.type) {
  49. case SDL_KEYDOWN:
  50. switch (event.key.keysym.sym) {
  51. case SDLK_LEFT:
  52. break;
  53.  
  54. case SDLK_RIGHT:
  55. break;
  56.  
  57. case SDLK_UP:
  58. break;
  59.  
  60. case SDLK_DOWN:
  61. break;
  62. }
  63. break;
  64.  
  65. case SDL_QUIT:
  66. return;
  67. break;
  68. }
  69. glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  70.  
  71. SDL_GL_SwapWindow(window);
  72. }
  73. SDL_GL_DeleteContext(gl);
  74. }
  75.  
  76. ~GL3Engine() {
  77. SDL_DestroyWindow(window);
  78. SDL_Quit();
  79. }
  80. };
  81. int main() {
  82. GL3Engine e;
  83. e.initialize();
  84. e.run();
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement