-
-
Save rjungemann/0f48c6240ab80f8e6f2ceaa51416550e to your computer and use it in GitHub Desktop.
Revisions
-
jordandee created this gist
Jan 18, 2016 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,70 @@ // To compile with gcc: (tested on Ubuntu 14.04 64bit): // g++ sdl2_opengl.cpp -lSDL2 -lGL // To compile with msvc: (tested on Windows 7 64bit) // cl sdl2_opengl.cpp /I C:\sdl2path\include /link C:\path\SDL2.lib C:\path\SDL2main.lib /SUBSYSTEM:CONSOLE /NODEFAULTLIB:libcmtd.lib opengl32.lib #include <stdio.h> #include <stdint.h> #include <assert.h> #include <SDL2/SDL.h> #include <SDL2/SDL_opengl.h> #include <GL/gl.h> typedef int32_t i32; typedef uint32_t u32; typedef int32_t b32; #define WinWidth 1000 #define WinHeight 1000 int main (int ArgCount, char **Args) { u32 WindowFlags = SDL_WINDOW_OPENGL; SDL_Window *Window = SDL_CreateWindow("OpenGL Test", 0, 0, WinWidth, WinHeight, WindowFlags); assert(Window); SDL_GLContext Context = SDL_GL_CreateContext(Window); b32 Running = 1; b32 FullScreen = 0; while (Running) { SDL_Event Event; while (SDL_PollEvent(&Event)) { if (Event.type == SDL_KEYDOWN) { switch (Event.key.keysym.sym) { case SDLK_ESCAPE: Running = 0; break; case 'f': FullScreen = !FullScreen; if (FullScreen) { SDL_SetWindowFullscreen(Window, WindowFlags | SDL_WINDOW_FULLSCREEN_DESKTOP); } else { SDL_SetWindowFullscreen(Window, WindowFlags); } break; default: break; } } else if (Event.type == SDL_QUIT) { Running = 0; } } glViewport(0, 0, WinWidth, WinHeight); glClearColor(1.f, 0.f, 1.f, 0.f); glClear(GL_COLOR_BUFFER_BIT); SDL_GL_SwapWindow(Window); } return 0; }