All pastes #454403 Raw Edit

Zweistein

public text v1 · immutable
·published 2007-04-23 16:17 UTC
rendered paste body
class Texture2D : public Resource
{
    GLuint texture;





    //--------------------------------------------------------------
    ~this()
    {
        Stdout("Texture2D Destructor\n");
        glDeleteTextures(1, &texture);
    };


    int load( char[] filename )
    {
        type = TEXTURE_2D;
        glGenTextures(1, &texture);

        glBindTexture(GL_TEXTURE_2D, texture);
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);

        Image texImage = new Image;
        if ( texImage.load( filename ) )
        {
            glTexImage2D(GL_TEXTURE_2D, 0, 3, texImage.w, texImage.h, 0, texImage.format,
                GL_UNSIGNED_BYTE, texImage.surface.pixels);
            Stdout("Texture created\n");
        } else {
            throw new Exception("Texture: " ~ filename ~ " Image error!");
            return 0;
        };
        delete texImage;
        return 1;
    };
};