Public feed #726794

rvsjoen

public text v1 · immutable
Raw Edit
·published 2007-10-05 14:28 UTC
rendered paste body
#include <GL/glut.h>
#include "util_graphics.h"
#include <cstdio>
#include <iostream>
#include <cstdlib>
using namespace std;

GLuint texture[1];

void loadTextures()
{
	unsigned char* data;
	unsigned int width;
	unsigned int height;
	unsigned int components;
	glGenTextures( 1, texture );
	glBindTexture( GL_TEXTURE_2D, 1 );
	data = loadJPEG("textures/window3.jpg", &width,&height,&components);
	gluBuild2DMipmaps( GL_TEXTURE_2D, 3, width, height, GL_RGB, GL_UNSIGNED_BYTE, data);
	free(data);
}

void init()
{
	glClearColor(0.0, 0.0, 0.0, 0.0);
	loadTextures();
}

void display()
{
	glClear(GL_COLOR_BUFFER_BIT);
	glEnable( GL_TEXTURE_2D );
 	glBegin(GL_QUADS);
		glTexCoord2f(0.0,0.0);
		glVertex2f(0, 0);
		glTexCoord2f(0.0,1.0);
		glVertex2f(0, 10);
		glTexCoord2f(1.0,1.0);
		glVertex2f(10, 10);
		glTexCoord2f(1.0,0.0);
		glVertex2f(10, 0);
	glEnd();
	glDisable( GL_TEXTURE_2D );
	glutSwapBuffers();
}

void reshape (int w, int h)
{
	glViewport (0, 0, (GLsizei) w, (GLsizei) h); 
	glMatrixMode (GL_PROJECTION);
	glLoadIdentity ();
	gluOrtho2D(0,10,0,10);
	glMatrixMode(GL_MODELVIEW);
	glLoadIdentity();
}

int main ( int argc, char** argv )
{
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
	glutInitWindowSize(500,500);
	glutInitWindowPosition(100,100);
	glutCreateWindow("Test");
	glutDisplayFunc(display);
        glutReshapeFunc(reshape);
	init();
	glutMainLoop();
}