summaryrefslogtreecommitdiffstats
path: root/wgpu/src/image.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-02-26 18:49:46 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-02-26 18:50:13 +0100
commit48d70280eb4f5908f1c9339bebdfbab856d55ae1 (patch)
treea09413f997f3225b307e4f8d4b4981c9d33bb49e /wgpu/src/image.rs
parentc58d94f3fda40f215254008ec105aeab56085b0e (diff)
downloadiced-48d70280eb4f5908f1c9339bebdfbab856d55ae1.tar.gz
iced-48d70280eb4f5908f1c9339bebdfbab856d55ae1.tar.bz2
iced-48d70280eb4f5908f1c9339bebdfbab856d55ae1.zip
Fix multiple issues from the refactoring
- Update texture view on grow - Fix atlas texture coordinates - Fix fragmented uploads
Diffstat (limited to 'wgpu/src/image.rs')
-rw-r--r--wgpu/src/image.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/wgpu/src/image.rs b/wgpu/src/image.rs
index afff52a6..1ffa50d2 100644
--- a/wgpu/src/image.rs
+++ b/wgpu/src/image.rs
@@ -319,6 +319,8 @@ impl Pipeline {
let texture_version = self.texture_atlas.layer_count();
if self.texture_version != texture_version {
+ log::info!("Atlas has grown. Recreating bind group...");
+
self.texture =
device.create_bind_group(&wgpu::BindGroupDescriptor {
layout: &self.texture_layout,
@@ -525,12 +527,12 @@ fn add_instance(
_position: position,
_size: size,
_position_in_atlas: [
- x as f32 / atlas::SIZE as f32,
- y as f32 / atlas::SIZE as f32,
+ (x as f32 + 0.5) / atlas::SIZE as f32,
+ (y as f32 + 0.5) / atlas::SIZE as f32,
],
_size_in_atlas: [
- width as f32 / atlas::SIZE as f32,
- height as f32 / atlas::SIZE as f32,
+ (width as f32 - 0.5) / atlas::SIZE as f32,
+ (height as f32 - 0.5) / atlas::SIZE as f32,
],
_layer: layer as u32,
};