initial
This commit is contained in:
commit
aaccf3d903
2 changed files with 71 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
*.out
|
70
main.c
Normal file
70
main.c
Normal file
|
@ -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;
|
||||
}
|
Loading…
Reference in a new issue