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