Remove load_envmap
Maybe I’ll need it later though...
This commit is contained in:
parent
c93ab42458
commit
c1b3e862d6
73
src/scene.rs
73
src/scene.rs
|
|
@ -1,7 +1,6 @@
|
|||
use crate::anim::{self, SphereParams};
|
||||
use crate::trace::{self, Tracer, TracerData};
|
||||
use glam::{mat3, uvec2, vec3, UVec2, Vec3};
|
||||
use image::ImageReader;
|
||||
use std::f32::consts::PI;
|
||||
|
||||
struct CamLoc {
|
||||
|
|
@ -129,75 +128,3 @@ impl Renderer {
|
|||
);
|
||||
}
|
||||
}
|
||||
|
||||
pub fn load_envmap(device: &wgpu::Device, queue: &wgpu::Queue) -> wgpu::TextureView {
|
||||
let imgs = std::thread::scope(|s| {
|
||||
[0, 1, 2, 3, 4, 5]
|
||||
.map(|face| {
|
||||
s.spawn(move || {
|
||||
let img = ImageReader::open(format!("textures/env{face}.webp"))
|
||||
.unwrap()
|
||||
.with_guessed_format()
|
||||
.unwrap()
|
||||
.decode()
|
||||
.unwrap();
|
||||
img.to_rgba8()
|
||||
})
|
||||
})
|
||||
.map(|t| t.join().unwrap())
|
||||
});
|
||||
let size = imgs[0].width();
|
||||
for img in &imgs {
|
||||
assert!(img.width() == size);
|
||||
assert!(img.height() == size);
|
||||
}
|
||||
let texture = device.create_texture(&wgpu::TextureDescriptor {
|
||||
label: None,
|
||||
size: wgpu::Extent3d {
|
||||
width: size,
|
||||
height: size,
|
||||
depth_or_array_layers: 6,
|
||||
},
|
||||
mip_level_count: 1,
|
||||
sample_count: 1,
|
||||
dimension: wgpu::TextureDimension::D2,
|
||||
format: wgpu::TextureFormat::Rgba8UnormSrgb,
|
||||
usage: wgpu::TextureUsages::TEXTURE_BINDING | wgpu::TextureUsages::COPY_DST,
|
||||
view_formats: &[],
|
||||
});
|
||||
for (face, img) in imgs.iter().enumerate() {
|
||||
queue.write_texture(
|
||||
wgpu::ImageCopyTexture {
|
||||
texture: &texture,
|
||||
mip_level: 0,
|
||||
origin: wgpu::Origin3d {
|
||||
x: 0,
|
||||
y: 0,
|
||||
z: face as u32,
|
||||
},
|
||||
aspect: wgpu::TextureAspect::All,
|
||||
},
|
||||
img.as_raw(),
|
||||
wgpu::ImageDataLayout {
|
||||
offset: 0,
|
||||
bytes_per_row: Some(4 * size),
|
||||
rows_per_image: Some(size),
|
||||
},
|
||||
wgpu::Extent3d {
|
||||
width: size,
|
||||
height: size,
|
||||
depth_or_array_layers: 1,
|
||||
},
|
||||
);
|
||||
}
|
||||
texture.create_view(&wgpu::TextureViewDescriptor {
|
||||
label: None,
|
||||
format: None,
|
||||
dimension: Some(wgpu::TextureViewDimension::Cube),
|
||||
aspect: wgpu::TextureAspect::All,
|
||||
base_mip_level: 0,
|
||||
mip_level_count: None,
|
||||
base_array_layer: 0,
|
||||
array_layer_count: None,
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user