From 1f97134511216feb35b605067fb693077d2a5781 Mon Sep 17 00:00:00 2001 From: numzero Date: Mon, 30 Dec 2024 23:39:54 +0300 Subject: [PATCH] Use WebP --- Cargo.lock | 11 +++++++++++ Cargo.toml | 2 +- src/bin/envmap/main.rs | 2 +- src/scene.rs | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9893217..607ec02 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -595,12 +595,23 @@ checksum = "cd6f44aed642f18953a158afeb30206f4d50da59fbc66ecb53c66488de73563b" dependencies = [ "bytemuck", "byteorder-lite", + "image-webp", "num-traits", "png", "zune-core", "zune-jpeg", ] +[[package]] +name = "image-webp" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e031e8e3d94711a9ccb5d6ea357439ef3dcbed361798bd4071dc4d9793fbe22f" +dependencies = [ + "byteorder-lite", + "quick-error", +] + [[package]] name = "indexmap" version = "2.7.0" diff --git a/Cargo.toml b/Cargo.toml index a2c1ce0..d37be45 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,7 +7,7 @@ default-run = "minitracer" [dependencies] bytemuck = { version = "1.21.0", features = ["derive"] } glam = { version = "0.29.2", features = ["bytemuck"] } -image = { version = "0.25.5", default-features = false, features = ["png", "jpeg"] } +image = { version = "0.25.5", default-features = false, features = ["png", "jpeg", "webp"] } pollster = "0.4.0" rand = "0.8.5" rand_distr = { version = "0.4.3", features = ["std_math"] } diff --git a/src/bin/envmap/main.rs b/src/bin/envmap/main.rs index 7f4a23b..3a9a9dd 100644 --- a/src/bin/envmap/main.rs +++ b/src/bin/envmap/main.rs @@ -121,7 +121,7 @@ fn main() { let img = image::RgbaImage::from_raw(extent, extent, buf.slice(..).get_mapped_range().to_vec()).unwrap(); let img: image::RgbImage = img.convert(); - img.save(format!("textures/env{face}.jpeg")).unwrap(); + img.save(format!("textures/env{face}.webp")).unwrap(); }); } }) diff --git a/src/scene.rs b/src/scene.rs index e75168c..17269bb 100644 --- a/src/scene.rs +++ b/src/scene.rs @@ -138,7 +138,7 @@ pub fn load_envmap(device: &wgpu::Device, queue: &wgpu::Queue) -> wgpu::TextureV [0, 1, 2, 3, 4, 5] .map(|face| { s.spawn(move || { - let img = ImageReader::open(format!("textures/env{face}.jpeg")) + let img = ImageReader::open(format!("textures/env{face}.webp")) .unwrap() .with_guessed_format() .unwrap()