commit fc5a9f1767d9307eba04017da604f967b8c119ae Author: josh Date: Tue May 15 21:17:31 2007 +0000 initial import git-svn-id: svn://anubis/sdl-opengl-bare@1 486f0dac-8830-0410-96c3-f050bc5976a0 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..c06e3f2 --- /dev/null +++ b/Makefile @@ -0,0 +1,11 @@ +CFLAGS = `sdl-config --cflags` +LDFLAGS = -lGL -lGLU `sdl-config --libs` +FILE = sdl_tmplt + +all: $(FILE) + +$(FILE): $(FILE).c + gcc -o $(FILE) $(CFLAGS) $< $(LDFLAGS) + +clean: + -rm -f $(FILE) *~ *.o diff --git a/sdl_tmplt.c b/sdl_tmplt.c new file mode 100644 index 0000000..347ab05 --- /dev/null +++ b/sdl_tmplt.c @@ -0,0 +1,74 @@ + +#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); + glShadeModel(GL_FLAT); +} + +void display(void) +{ + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glBegin(GL_QUADS); + glVertex3f(-2.0, -1.0, 0.0); + glVertex3f(-2.0, 1.0, 0.0); + glVertex3f(0.0, 1.0, 0.0); + glVertex3f(0.0, -1.0, 0.0); + glEnd(); +} + +void reshape(GLsizei w, GLsizei h) +{ + glViewport(0, 0, w, h); + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + gluPerspective(60.0, 1.0*(GLfloat)w/(GLfloat)h, 1.0, 30.0); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + glTranslatef(0.0, 0.0, -3.6); +} + + +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(); + reshape(WIDTH, HEIGHT); + display(); + SDL_GL_SwapBuffers(); + 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; + } + } +}