// $Id$
//
-// SuperTux - A Jump'n Run
-// Copyright (C) 2004 Matthias Braun <matze@braunis.de
+// SuperTux
+// Copyright (C) 2006 Matthias Braun <matze@braunis.de>
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
#include <config.h>
#include "texture.hpp"
this->width = w;
this->height = h;
-
+
assert_gl("before creating texture");
glGenTextures(1, &handle);
-
+
try {
glBindTexture(GL_TEXTURE_2D, handle);
throw std::runtime_error("image has no power of 2 size");
if(format->BitsPerPixel != 24 && format->BitsPerPixel != 32)
throw std::runtime_error("image has no 24 or 32 bit color depth");
-
+
this->width = image->w;
this->height = image->h;
assert_gl("before creating texture");
glGenTextures(1, &handle);
-
+
try {
GLenum sdl_format;
if(format->BytesPerPixel == 3)
assert_gl("creating texture");
- set_texture_params();
+ set_texture_params();
} catch(...) {
glDeleteTextures(1, &handle);
throw;
glDeleteTextures(1, &handle);
}
-void upload_texture(SDL_Surface* , int , int , int , int , int , int )
-{
- // TODO
- assert(false);
-}
-
void
Texture::set_texture_params()
{
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, GL_CLAMP);
assert_gl("set texture params");
}
-