summaryrefslogtreecommitdiffhomepage
path: root/src/tile-atlas.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tile-atlas.cpp')
-rw-r--r--src/tile-atlas.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/tile-atlas.cpp b/src/tile-atlas.cpp
index ea5a7791..c3b2449c 100644
--- a/src/tile-atlas.cpp
+++ b/src/tile-atlas.cpp
@@ -20,8 +20,8 @@ tile_atlas::tile_atlas(Containers::StringView name, const ImageView2D& image, Ve
.setMinificationFilter(GL::SamplerFilter::Linear)
.setMaxAnisotropy(1)
.setBorderColor(Color4{1, 0, 0, 1})
- .setStorage(GL::textureFormat(image.format()), image.size())
- .setSubImage({}, image);
+ .setStorage(1, GL::textureFormat(image.format()), image.size())
+ .setSubImage(0, {}, image);
}
std::array<Vector2, 4> tile_atlas::texcoords_for_id(std::size_t id_) const
@@ -31,11 +31,12 @@ std::array<Vector2, 4> tile_atlas::texcoords_for_id(std::size_t id_) const
const Vector2ui id = { (UnsignedInt)id_ % dims_[0], (UnsignedInt)id_ / dims_[0] };
const Vector2 p0(id * sz), p1(sz);
const auto x0 = p0.x(), x1 = p1.x()-1, y0 = p0.y(), y1 = p1.y()-1;
+ Vector2 size{size_};
return {{
- { x0+x1, y0+y1 }, // bottom right
- { x0+x1, y0 }, // top right
- { x0, y0+y1 }, // bottom left
- { x0, y0 } // top left
+ { (x0+x1)/size[0], (y0+y1)/size[1] }, // bottom right
+ { (x0+x1)/size[0], y0/size[1] }, // top right
+ { x0/size[0], (y0+y1)/size[1] }, // bottom left
+ { x0/size[0], y0/size[1] } // top left
}};
}