diff --git a/src/bin/envmap/perlin.rs b/src/bin/envmap/perlin.rs index f91245b..4a2b725 100644 --- a/src/bin/envmap/perlin.rs +++ b/src/bin/envmap/perlin.rs @@ -1,4 +1,7 @@ -use std::mem::{offset_of, size_of}; +use std::{ + fs, + mem::{offset_of, size_of}, +}; use bytemuck::{bytes_of, Pod, Zeroable}; use glam::{Vec2, Vec3}; @@ -25,8 +28,6 @@ pub struct Pipeline { pipeline: wgpu::RenderPipeline, } -static SHADER: &str = include_str!("perlin.wgsl"); - impl Pipeline { pub fn new(device: &wgpu::Device) -> Self { let view_buf = device.create_buffer(&wgpu::BufferDescriptor { @@ -41,9 +42,11 @@ impl Pipeline { usage: wgpu::BufferUsages::UNIFORM | wgpu::BufferUsages::COPY_DST, mapped_at_creation: false, }); + + let shader = fs::read_to_string("src/bin/envmap/perlin.wgsl").unwrap(); let shader = device.create_shader_module(wgpu::ShaderModuleDescriptor { label: None, - source: wgpu::ShaderSource::Wgsl(SHADER.into()), + source: wgpu::ShaderSource::Wgsl(shader.into()), }); let pipeline = device.create_render_pipeline(&wgpu::RenderPipelineDescriptor { label: None,