All pastes #749286 Raw Edit

rvsjoen

public cpp v1 · immutable
#749286 ·published 2007-10-25 16:10 UTC
rendered paste body
#main.cpp#include <GL/glut.h>#include "camera.h"#include "track.h"Camera camera; 							// Create a camera for viewing		Track track;	// Create the track with length 1000m, and parameters b,c,dvoid display(){	glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );	glMatrixMode(GL_MODELVIEW);	glLoadIdentity();	camera.createModelViewMatrix();	glViewport(0, 0, 1280, 800);	track.draw();	glFlush();	glutSwapBuffers();}void reshape(int w, int h){    glViewport(0, 0, w, h);    glMatrixMode(GL_PROJECTION);    glLoadIdentity();	camera.createViewVolume(40.0f, (GLfloat) w / (GLfloat) h, 0.5f, 50.0f); // angle,aspect,near,far	glMatrixMode(GL_MODELVIEW);    glLoadIdentity();	camera.createModelViewMatrix();}void init(){	glEnable(GL_DEPTH_TEST); 					// Use removing of hidden surfaces	glEnable(GL_NORMALIZE);  					// Normalize vectors	camera.create(0, 0, 10, 0, 0, 0, 0, 1, 0); 		camera.slide(0.0, -9.0, -2.0);	camera.pitch(-40.0);}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;}#track.h#ifndef __track_h__#define __track_h__class Track{	public:		Track();		void draw();		void loadTextures();	private:		GLuint texture;};#endif#track.cpp#include <GL/glut.h>#include "util_graphics.h"#include <cstdlib>#include "track.h"Track::Track() {	loadTextures();}void Track::loadTextures(){	unsigned char* data;	unsigned int width;	unsigned int height;	unsigned int components;	glEnable( GL_TEXTURE_2D );	glGenTextures( 1, &texture );	glBindTexture( GL_TEXTURE_2D, texture );	data = loadJPEG("textures/road.jpg", &width,&height,&components);	gluBuild2DMipmaps( GL_TEXTURE_2D, GL_RGB, width, height, GL_RGB, GL_UNSIGNED_BYTE, data);	free(data);}void Track::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 );}