Skip to content

Instantly share code, notes, and snippets.

Created June 28, 2014 08:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/93f5899672765c108ae5 to your computer and use it in GitHub Desktop.
Save anonymous/93f5899672765c108ae5 to your computer and use it in GitHub Desktop.
Simple SDL2 OpenGL 1.1 demo
#include <SDL2/SDL.h>
#include <SDL2/SDL_opengl.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1,0,0);
GLfloat i;
/*
for(i=-0.8;i<=0.8;)
{
glBegin(GL_LINES);
glVertex3f(0+i,-0.8,0);
glVertex3f(0+i,0.8,0);
glEnd();
i+=0.2;
}
for(i=-0.8;i<=0.8;)
{
glBegin(GL_LINES);
glVertex3f(-0.8,i,0);
glVertex3f(0.8,i,0);
glEnd();
i+=0.2;
}
*/
for(i=-2;i<=2;i+=0.25)
{
glBegin(GL_LINES);
glVertex3f(i,0,2);
glVertex3f(i,0,-2);
glVertex3f(2,0,i);
glVertex3f(-2,0,i);
glEnd();
}
glColor3f(1,0,1);
glBegin(GL_TRIANGLE_STRIP);
glVertex3f(0,2,0);
glVertex3f(-1,0,1);
glVertex3f(1,0,1);
glColor3f(0,1,1);
glVertex3f(0,0,-1);
glColor3f(0,0,1);
glVertex3f(0,2,0);
glColor3f(0,1,0);
glVertex3f(-1,0,1);
glEnd();
glFlush();
}
void init()
{
glClearColor(0.1,0.3,0.8,1.0);
glColor3f(1,1,1);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-2,2,-1.5,1.5,1,40);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(0,0,-3);
glRotatef(50,1,0,0);
glRotatef(70,0,1,0);
}
int main()
{
SDL_Init(SDL_INIT_VIDEO);
SDL_Window *window = SDL_CreateWindow("SDL2 OpenGL", 100, 100, 500, 500, SDL_WINDOW_OPENGL);
SDL_GLContext ctx = SDL_GL_CreateContext(window);
init();
while (1)
{
SDL_Event event;
if (SDL_PollEvent(&event))
{
if (event.type == SDL_QUIT)
{
break;
}
}
display();
SDL_GL_SwapWindow(window);
}
SDL_GL_DeleteContext(ctx);
SDL_Quit();
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment