diff options
| author | Kai Stevenson <kai@kaistevenson.com> | 2026-08-16 17:51:43 -0700 |
|---|---|---|
| committer | Kai Stevenson <kai@kaistevenson.com> | 2026-08-16 17:51:43 -0700 |
| commit | 1759cdce2845d24183f34febd8319cb4ff1ac673 (patch) | |
| tree | 23d177508905dae99cb58777fcb0d1affa4b7128 | |
| parent | f177cc716c5f2aa5b50b14ccbb421de89e3a7854 (diff) | |
wip
| -rw-r--r-- | src/renderer/mod.rs | 6 | ||||
| -rw-r--r-- | src/shader/shader.wgsl | 2 | ||||
| -rw-r--r-- | src/sim/rb_sim/mod.rs | 8 |
3 files changed, 8 insertions, 8 deletions
diff --git a/src/renderer/mod.rs b/src/renderer/mod.rs index e022fe7..1cf39e2 100644 --- a/src/renderer/mod.rs +++ b/src/renderer/mod.rs @@ -10,7 +10,7 @@ use crate::{ camera::Camera, config::{CELLS_IN_CHUNK, CHUNK_SIZE}, renderer::ui::draw_egui, - sim::{cell_sim::world::World, rb_sim::RbSimManager}, + sim::{cell::materials::MaterialId, cell_sim::world::World, rb_sim::RbSimManager}, }; struct RendererChunk { @@ -565,7 +565,9 @@ impl RendererState { render_pass.set_bind_group(1, &render_chunk.bind_group, &[]); render_pass.set_immediates( 0, - bytemuck::bytes_of(&ChunkData { origin: [cx, cy] }), + bytemuck::bytes_of(&ChunkData { + origin: [cx * CHUNK_SIZE, cy * CHUNK_SIZE], + }), ); render_pass.draw(0..4, 0..1); } diff --git a/src/shader/shader.wgsl b/src/shader/shader.wgsl index bd38cf0..9baa4b7 100644 --- a/src/shader/shader.wgsl +++ b/src/shader/shader.wgsl @@ -26,7 +26,7 @@ fn vs_main( let corner = vec2f(f32(i & 1u), f32(i >> 1u)); // CHUNK_SIZE - let world = (vec2f(chunk.origin) + corner) * 128.0; + let world = (vec2f(chunk.origin) + corner * 128); let ndc = (world - camera.centre) * camera.scale; out.clip_position = vec4f(ndc, 0.0, 1.0); diff --git a/src/sim/rb_sim/mod.rs b/src/sim/rb_sim/mod.rs index 1818052..4a80729 100644 --- a/src/sim/rb_sim/mod.rs +++ b/src/sim/rb_sim/mod.rs @@ -36,8 +36,6 @@ impl PhysicsManager { collider_set: prelude::ColliderSet::new(), physics_pipeline: prelude::PhysicsPipeline::new(), integration_parameters: prelude::IntegrationParameters { - // 20 pixels = 1 meter - length_unit: 20.0, dt: PHYSICS_DELTA_TIME, ..prelude::IntegrationParameters::default() }, @@ -58,7 +56,7 @@ pub struct RbSimManager { impl RbSimManager { pub fn rb_tick(&mut self, delta_time: f32) { - let gravity = vec2(0.0, -9.81); + let gravity = vec2(0.0, 25.0); self.physics_manager.physics_pipeline.step( gravity, @@ -94,9 +92,9 @@ impl RbSimManager { /* Create the bouncing ball. */ let rigid_body = dynamics::RigidBodyBuilder::dynamic() - .translation(math::Vector::new(0.0, 10.0)) + .translation(math::Vector::new(0.0, -100.0)) .build(); - let collider = geometry::ColliderBuilder::ball(0.5) + let collider = geometry::ColliderBuilder::ball(5.0) .restitution(0.7) .build(); let ball_body_handle = self.physics_manager.rigid_body_set.insert(rigid_body); |
