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; }; };