All pastes #749300 Raw Edit

rvsjoen

public text v1 · immutable
#749300 ·published 2007-10-25 16:27 UTC
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;
}