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::anim::{self, SphereParams};
|
||||||
use crate::trace::{self, Tracer, TracerData};
|
use crate::trace::{self, Tracer, TracerData};
|
||||||
use glam::{mat3, uvec2, vec3, UVec2, Vec3};
|
use glam::{mat3, uvec2, vec3, UVec2, Vec3};
|
||||||
use image::ImageReader;
|
|
||||||
use std::f32::consts::PI;
|
use std::f32::consts::PI;
|
||||||
|
|
||||||
struct CamLoc {
|
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