commit e32f283aaddb047cf015c3d7fabf879c8a97c217 Author: Josh Holtrop Date: Wed Apr 27 22:25:02 2011 -0400 add initial GLSL template diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..905f887 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*/test diff --git a/template/Makefile b/template/Makefile new file mode 100644 index 0000000..c5213ff --- /dev/null +++ b/template/Makefile @@ -0,0 +1,10 @@ +export SCONSFLAGS := -Q + +all: + @scons + +install: + @scons $@ + +clean: + @scons -c diff --git a/template/SConstruct b/template/SConstruct new file mode 100644 index 0000000..6a5771b --- /dev/null +++ b/template/SConstruct @@ -0,0 +1,8 @@ +# vim:filetype=python + +env = Environment(LIBS = ['GL']) +env.ParseConfig('sdl-config --cflags --libs') + +sources = Glob('*.cc') + +env.Program('test', sources) diff --git a/template/test.cc b/template/test.cc new file mode 100644 index 0000000..5c0c529 --- /dev/null +++ b/template/test.cc @@ -0,0 +1,55 @@ + +#include +#include +#include + +#define WIDTH 500 +#define HEIGHT 500 + +void init(void) +{ + glClearColor (0.0, 0.0, 0.0, 0.0); + glEnable(GL_DEPTH_TEST); + glViewport(0, 0, WIDTH, HEIGHT); +} + +void display(void) +{ + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + SDL_GL_SwapBuffers(); +} + +int main(int argc, char *argv[]) +{ + if (SDL_Init(SDL_INIT_VIDEO)) + { + printf("Failed to initialize SDL!\n"); + return 1; + } + + atexit(SDL_Quit); + + SDL_Surface *screen; + SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); + if (!(screen = SDL_SetVideoMode(WIDTH, HEIGHT, 16, SDL_OPENGL))) + { + printf("Failed to set video mode!\n"); + SDL_Quit(); + return 2; + } + SDL_WM_SetCaption(argv[0], argv[0]); + + init(); + display(); + SDL_Event event; + while (SDL_WaitEvent(&event)) + { + if (event.type == SDL_QUIT) + break; + else if (event.type == SDL_KEYDOWN) + { + if (event.key.keysym.sym == SDLK_ESCAPE) + break; + } + } +}