rendered paste body#include <GL/glut.h>
#include <cstdio>
#include <cstdlib>
#include "util_graphics.h"
GLuint texture;
void loadTextures()
{
unsigned char* data;
unsigned int width;
unsigned int height;
unsigned int components;
glGenTextures( 1, &texture );
glBindTexture( GL_TEXTURE_2D, texture );
data = loadJPEG("textures/road.jpg", &width,&height,&components);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, data);
free(data);
}
void draw()
{
glEnable( GL_TEXTURE_2D );
glBindTexture( GL_TEXTURE_2D, texture );
glBegin(GL_POLYGON);
glNormal3f(0,0,1);
glTexCoord2i(0,0);
glVertex3i(0,0,0);
glTexCoord2i(0,1);
glVertex3i(0,1,0);
glTexCoord2i(1,0);
glVertex3i(1,1,0);
glTexCoord2i(1,1);
glVertex3i(1,0,0);
glEnd();
glDisable( GL_TEXTURE_2D );
}
void display()
{
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
draw();
glFlush();
glutSwapBuffers();
}
void reshape(int w, int h)
{
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-2,2,-2,2,0,10);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void init()
{
glEnable(GL_DEPTH_TEST);
glEnable(GL_NORMALIZE);
loadTextures();
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH );
glutInitWindowSize(1280,800);
glutInitWindowPosition(100,50);
glutCreateWindow("Øving 6 - Racetrack");
glutDisplayFunc(display);
glutReshapeFunc(reshape);
init();
glutMainLoop();
return 0;
}