summaryrefslogtreecommitdiffstats
path: root/src/bin
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin')
-rw-r--r--src/bin/wgsl_render.rs20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/bin/wgsl_render.rs b/src/bin/wgsl_render.rs
index 70f6904..2288366 100644
--- a/src/bin/wgsl_render.rs
+++ b/src/bin/wgsl_render.rs
@@ -77,24 +77,26 @@ fn main() {
set_uniform(renderer.uniforms(), rest, args).map_err(|e| e.to_string())
}
(["texture", id], [OscType::String(tsv_name)]) => {
- renderer.create_texture_resource(&device, id, tsv_name);
+ renderer.uniforms().create_texture(&device, id, tsv_name);
Ok(())
}
(["sampler", id], [OscType::String(filter), OscType::String(clamp)]) => {
let (filter_mode, address_mode) = parse_sampler_modes(filter, clamp)?;
- renderer.create_sampler_resource(&device, id, filter_mode, address_mode);
+ renderer
+ .uniforms()
+ .create_sampler(&device, id, filter_mode, address_mode);
Ok(())
}
(["texture", id, "destroy"], []) => {
- renderer.destroy_texture_resource(&device, id);
+ renderer.uniforms().destroy_texture(&device, id);
Ok(())
}
(["sampler", id, "destroy"], []) => {
- renderer.destroy_sampler_resource(&device, id);
+ renderer.uniforms().destroy_sampler(&device, id);
Ok(())
}
(["binding", name], [OscType::String(target)]) => {
- bind_resource(&mut renderer, &device, name, target)
+ bind_resource(renderer.uniforms(), &device, name, target)
}
_ => Err(format!("unhandled OSC message {} {:?}", msg.addr, msg.args)),
}
@@ -108,7 +110,7 @@ fn main() {
};
if dirty {
- renderer.refresh_textures(&device, &mut client, fence);
+ gpu::refresh_textures(renderer.uniforms(), &device, &mut client, fence);
renderer.render(&device, &queue);
device.poll(wgpu::PollType::wait_indefinitely()).unwrap();
@@ -213,16 +215,16 @@ fn parse_sampler_modes(
}
fn bind_resource(
- renderer: &mut Renderer,
+ uniforms: &mut wgsl_view::uniform::UniformCache,
device: &wgpu::Device,
name: &str,
target: &str,
) -> Result<(), String> {
if let Some(id) = target.strip_prefix("/texture/") {
- renderer.bind_texture_resource(device, name, id)?;
+ uniforms.bind_texture(device, name, id)?;
Ok(())
} else if let Some(id) = target.strip_prefix("/sampler/") {
- renderer.bind_sampler_resource(device, name, id)?;
+ uniforms.bind_sampler(device, name, id)?;
Ok(())
} else {
Err(format!("invalid binding target '{target}'"))