fix all cases of not-optimal UV-coordinates
authorMatthias Braun <matze@braunis.de>
Tue, 30 Jan 2007 20:57:14 +0000 (20:57 +0000)
committerMatthias Braun <matze@braunis.de>
Tue, 30 Jan 2007 20:57:14 +0000 (20:57 +0000)
SVN-Revision: 4749

src/video/image_texture.hpp
src/video/surface.cpp

index dccc9bf..edd0460 100644 (file)
@@ -45,12 +45,12 @@ public:
 
   float get_uv_right() const
   {
-    return image_width / static_cast<float> (get_width());
+    return (image_width - 0.5) / static_cast<float> (get_width());
   }
 
   float get_uv_bottom() const
   {
-    return image_height / static_cast<float> (get_height());
+    return (image_height - 0.5) / static_cast<float> (get_height());
   }
 
   void ref()
index 55e1783..c7b1e1b 100644 (file)
@@ -41,8 +41,8 @@ Surface::Surface(const std::string& file)
 {
   texture = texture_manager->get(file);
   texture->ref();
-  uv_left = 0;
-  uv_top = 0;
+  uv_left = 0.5 / texture->get_width();
+  uv_top = 0.5 / texture->get_height();
   uv_right = texture->get_uv_right();
   uv_bottom = texture->get_uv_bottom();