From 48a0fb31737362c9bae0ff8f6fcf1e4e10600f94 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Mon, 6 Jan 2025 14:58:42 +0100 Subject: prefab offsets --- client/src/scene_prepare.rs | 18 +++++++++++++++--- client/src/scene_render.rs | 10 ++-------- 2 files changed, 17 insertions(+), 11 deletions(-) (limited to 'client/src') diff --git a/client/src/scene_prepare.rs b/client/src/scene_prepare.rs index 8d52f49..f069b5d 100644 --- a/client/src/scene_prepare.rs +++ b/client/src/scene_prepare.rs @@ -7,11 +7,20 @@ use weareshared::{packets::Resource, resources::Part, tree::SceneTree}; use wgpu::Buffer; pub struct ScenePreparer { - index_buffers: HashMap, + index_buffers: HashMap>, vertex_buffers_x3: HashMap<[Resource; 1], Arc>, vertex_buffers_x2: HashMap<[Resource; 2], Arc>, vertex_buffers_x1: HashMap<[Resource; 3], Arc>, - parts: HashMap, + parts: HashMap>, + prefabs: HashMap, +} + +pub struct RPrefab(pub Vec>); +pub struct RPart { + pub index_count: u32, + pub index: Arc, + pub positions: Arc, + pub normals: Arc, } impl ScenePreparer { @@ -22,9 +31,12 @@ impl ScenePreparer { vertex_buffers_x2: HashMap::new(), vertex_buffers_x1: HashMap::new(), parts: HashMap::new(), + prefabs: HashMap::new(), } } fn update(&mut self, tree: &SceneTree) -> Result<()> { - let x = tree.objects.values().map(|o| o.res).collect::>(); + let need = tree.objects.values().map(|o| o.res).collect::>(); + + for n in need {} } } diff --git a/client/src/scene_render.rs b/client/src/scene_render.rs index cc15e3f..d19b083 100644 --- a/client/src/scene_render.rs +++ b/client/src/scene_render.rs @@ -10,20 +10,14 @@ use wgpu::{ include_wgsl, }; +use crate::scene_prepare::RPrefab; + pub struct ScenePipeline { pipeline: RenderPipeline, bind_group: BindGroup, prefabs: HashMap, } -struct RPrefab(Vec); -struct RPart { - index_count: u32, - index: Buffer, - positions: Buffer, - normals: Buffer, -} - impl ScenePipeline { pub fn new(device: &Device, format: TextureFormat) -> Self { let module = device.create_shader_module(include_wgsl!("shader.wgsl")); -- cgit v1.2.3-70-g09d2