diff options
Diffstat (limited to 'client')
-rw-r--r-- | client/src/scene_prepare.rs | 8 | ||||
-rw-r--r-- | client/src/scene_render.rs | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/client/src/scene_prepare.rs b/client/src/scene_prepare.rs index 20c6e85..e7946e7 100644 --- a/client/src/scene_prepare.rs +++ b/client/src/scene_prepare.rs @@ -80,7 +80,7 @@ pub struct ScenePreparer { textures: DemandMap<Resource<Image>, (Arc<Texture>, Arc<BindGroup>)>, placeholder_textures: DemandMap<(), (Arc<Texture>, Arc<BindGroup>)>, - index_buffers: DemandMap<Resource<Vec<[u16; 3]>>, (Arc<Buffer>, u32)>, + index_buffers: DemandMap<Resource<Vec<[u32; 3]>>, (Arc<Buffer>, u32)>, vertex_buffers: DemandMap<Resource<Vec<f32>>, (Arc<Buffer>, u32)>, placeholder_vertex_buffers: DemandMap<(u32, bool), Arc<Buffer>>, mesh_parts: DemandMap<Resource<MeshPart>, Arc<RMeshPart>>, @@ -133,7 +133,7 @@ impl ScenePreparer { let buf = buf .into_iter() .flatten() - .flat_map(u16::to_le_bytes) + .flat_map(u32::to_le_bytes) .collect::<Vec<_>>(); let buffer = self.device.create_buffer_init(&BufferInitDescriptor { contents: &buf, @@ -141,8 +141,8 @@ impl ScenePreparer { usage: BufferUsages::INDEX | BufferUsages::COPY_DST, }); self.index_buffers - .insert(pres.clone(), (Arc::new(buffer), (buf.len() / 2) as u32)); - debug!("index buffer created (len={}) {pres}", buf.len() / 2); + .insert(pres.clone(), (Arc::new(buffer), (buf.len() / 4) as u32)); + debug!("index buffer created (len={}) {pres}", buf.len() / 4); } } for pres in self.vertex_buffers.needed() { diff --git a/client/src/scene_render.rs b/client/src/scene_render.rs index 7b2f653..b588e7d 100644 --- a/client/src/scene_render.rs +++ b/client/src/scene_render.rs @@ -191,7 +191,7 @@ impl ScenePipeline { rpass.set_bind_group(1, &*part.tex_normal, &[]); rpass.set_pipeline(&self.pipeline); rpass.set_push_constants(ShaderStages::VERTEX, 0, projection.as_flattened()); - rpass.set_index_buffer(part.index.slice(..), IndexFormat::Uint16); + rpass.set_index_buffer(part.index.slice(..), IndexFormat::Uint32); rpass.set_vertex_buffer(0, part.va_position.slice(..)); rpass.set_vertex_buffer(1, part.va_normal.slice(..)); rpass.set_vertex_buffer(2, part.va_texcoord.slice(..)); |