aboutsummaryrefslogtreecommitdiffstats
path: root/src/base/texture.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/texture.cpp')
-rw-r--r--src/base/texture.cpp114
1 files changed, 0 insertions, 114 deletions
diff --git a/src/base/texture.cpp b/src/base/texture.cpp
deleted file mode 100644
index cf24b9ce..00000000
--- a/src/base/texture.cpp
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * UltraStar Deluxe - Karaoke Game
- *
- * UltraStar Deluxe is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- * $URL$
- * $Id$
- */
-
-#include "texture.hpp"
-
-namespace usdx
-{
- log4cpp::Category& Texture::log =
- log4cpp::Category::getInstance("usdx.base.texture");
-
- Texture::Texture(boost::filesystem::wpath filename) :
- filename(filename), texture(0), size(0, 0), rotation(0)
- {
- Image image(filename);
-
- size.set_width(image.get_surface()->w);
- size.set_height(image.get_surface()->h);
-
- // // Check that the image dimensions are a power of 2
- // if ((image.get_surface()->w & (image.get_surface()->w - 1)) != 0 ) {
- // LOG4CXX_ERROR(log, "" << filename << " has a width of " << image.get_surface()->w << " that is not a power of 2");
- // throw TextureSizeException(size);
- // }
-
- // if ((image.get_surface()->h & (image.get_surface()->h - 1)) != 0 ) {
- // LOG4CXX_ERROR(log, "" << filename << " has a height of " << image.get_surface()->h << " that is not a power of 2");
- // throw TextureSizeException(size);
- // }
-
-
- switch (image.get_surface()->format->BytesPerPixel) {
- case 4:
- if (image.get_surface()->format->Rmask == 0x000000ff) {
- texture_format = GL_RGBA;
- }
- else {
- texture_format = GL_BGRA;
- }
-
- break;
-
- case 3:
- if (image.get_surface()->format->Rmask == 0x000000ff) {
- texture_format = GL_RGB;
- }
- else {
- texture_format = GL_BGR;
- }
-
- break;
-
- default:
- log << log4cpp::Priority::ERROR << "'" << filename <<
- "' is not in true color! Could not handle that!";
- throw TextureColorDepthException(image.get_surface()->format->BytesPerPixel);
- }
-
- // Have OpenGL generate a texture object handle for us
- glGenTextures(1, &texture);
-
- // Bind the texture object
- glBindTexture(GL_TEXTURE_2D, texture);
-
- // Set the texture's stretching properties
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-
- // Edit the texture object's image data using the information SDL_Surface gives us
- glTexImage2D(GL_TEXTURE_2D,
- 0,
- image.get_surface()->format->BytesPerPixel,
- image.get_surface()->w,
- image.get_surface()->h,
- 0,
- texture_format,
- GL_UNSIGNED_BYTE,
- image.get_surface()->pixels);
- }
-
- Texture::~Texture()
- {
- if (glIsTexture(texture)) {
- glDeleteTextures(1, &texture);
- }
- }
-
- GLuint Texture::get_texture(void) const
- {
- return texture;
- }
-};