All pastes #496711 Raw Edit

Someone

public text v1 · immutable
·published 2007-05-19 12:18 UTC
rendered paste body
#include <SDL/SDL.h>
#include <GL/gl.h>

int main (int argc, char *argv[]) {
  SDL_Event event;
  float theta = 0.0f; 
  SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
  SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
  SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
  SDL_GL_SetAttribute(SDL_GL_BUFFER_SIZE, 32);

  SDL_Init(SDL_INIT_VIDEO);
  SDL_SetVideoMode(600, 300, 0, SDL_OPENGL | SDL_HWSURFACE | SDL_NOFRAME);

  glViewPort(0, 0, 600, 300);
  glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
  glClearDepth(1.0);
  glDepthFunc(GL_LESS);
  glEnable(GL_DEPTH_TEST);
  glShadeMode(GL_SMOOTH);
  glMatrixMode(GL_PROJECTION);
  glMatrixMode(GL_MODELVIEW);

  int done;
  for (done = 0; !done;) {
      glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
      
      glLoadIdentity();
      glTranslatef(0.0f, 0.0f, 0.0f);
      glRotate(theta, 0.0f, 0.0f, 1.0f);
      // Start drawing the polygon.
      glBegin(GL_TRIANGLES);
      glColor3f(1.0f, 0.0f, 0.0f);
      glVertex2f(0.0f, 1.0f);
      glColor3f(0.0f, 1.0f, 0.0f);
      glVertex2f(0.87f, -0.5f);
      glColor3f(0.0f, 0.0f, 1.0f);
      glVertex2f(-0.87f, -0.5);
      glEnd();

      theta += .5f;
      SDL_GL_SwapBuffers();
      SDL_PollEvent(&event);
      if (event.key.keysym.sym = SDLK_ESCAPE) done = 1;
  }
}