All pastes #39691 Raw Edit

Anonymous

public text v1 · immutable
#39691 ·published 2006-02-02 23:18 UTC
rendered paste body

#include "Config.h"
#include <SDL/SDL.h>
#include <SDL/SDL_opengl.h>
#include <SDL/SDL_main.h>
#include <IL/il.h>
#include <GL/gl.h>

using namespace std;

ilInit();

class Texture
{
	public:
		Texture(char fileloc);
		~Texture();
		GLuint getTexture() { return Image; }
	private:
		GLuint Image;
		char Location;

};


Texture::Texture(char fileloc)
{

	Location = fileloc;
	ILuint ImageID;
	ilGenImages(1, &ImageID);
	ilBindImage(ImageID);
	ILboolean works;
	
	works = ilLoadImage(Location);

	if (works)
	{
		works = ilConvertImage(IL_RGB, IL_UNSIGNED_BYTE);
		if (!works)
		{
			printf("Error loading texture");
			return;
		}
		glGenTextures(1, &Image);
		glBindTexture(GL_TEXTURE_2D, Image);
		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
		interpolation for magnification filter
		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
		interpolation for minifying filter
		glTexImage2D(GL_TEXTURE_2D, 0, ilGetInteger(IL_IMAGE_BPP), ilGetInteger(IL_IMAGE_WIDTH),
		ilGetInteger(IL_IMAGE_HEIGHT), 0, ilGetInteger(IL_IMAGE_FORMAT), GL_UNSIGNED_BYTE,
		ilGetData()); 
	}
	else
	{
		printf("Error loading texture");
		return;
	}
	 ilDeleteImages(1, &texid);

}

Texture::~Texture()
{
	glDeleteTextures(1, &Image);

}