os: ubuntu 12.04
io/window library: sdl
heres my code:
#include <iostream>
#include "SDL/SDL.h"
#include "SDL/SDL_opengl.h"
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{
srand(time(NULL));
SDL_Init(SDL_INIT_EVERYTHING);
SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_BUFFER_SIZE, 32);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
SDL_WM_SetCaption("Our first game", NULL);
SDL_SetVideoMode(600, 400, 32, SDL_OPENGL);
glClearColor(255,255,255,255); //rgba
glViewport(0, 0, 600, 400); // top-left bottom-right viewport range
glShadeModel(GL_SMOOTH); // gradient
glMatrixMode(GL_PROJECTION); // 2d
glLoadIdentity();
glDisable(GL_DEPTH_TEST);
bool isRunning = true;
SDL_Event event;
while(isRunning)
{
while(SDL_PollEvent(&event))
{
switch(event.type)
{
case SDL_QUIT:
isRunning = false;
break;
}
if(event.type == SDL_KEYUP && event.key.keysym.sym == SDLK_ESCAPE)
{
isRunning = false;
break;
}
if(event.type == SDL_KEYUP && event.key.keysym.sym == SDLK_r)
{
glClearColor(rand()%256, rand()%256, rand()%256, 1.0);
break;
}
}
//rendering
glClear(GL_COLOR_BUFFER_BIT);
SDL_GL_SwapBuffers();
}
SDL_Quit();
return 0;
}
thank you.