Replace GDScript BallSystem with GPU compute implementation #87
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/gpu-compute-poc"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
GpuBallSystem(systems/gpu_ball_system.gd) replacing the GDScriptBallSystemwith a Vulkan compute shader pipeline while keeping the same public API (spawn_ball,apply_explosion,get_alive_count)systems/ball_sim_v2.glsl: compute shader with 13 bindings (render texture, ball state, explosions, params, rocks, detonation/contact/death outputs, armed list, type config, compact state flags, player-near candidate snapshots). Handles physics, wall/rock bounce, speed cap, bomb skip/bounce, chain fuse countdown, explosion kill/arm, bomb proximity detonation, contact damage detection, and GPU-side color from hp/flags/type configsystems/ball_render_v2.gdshader: canvas item shader reading ball pos/color from GPU texture viaINSTANCE_CUSTOM.rball indexDetonationOut(bomb/chain fuse -> explosion effects + new explosion events),ContactOut(ball-player overlap -> damage),DeathOut(explosion kills -> shard spawns)GpuBallSystemcapacity now grows dynamically instead of dropping spawns when the initial 512 slots are exhaustedtest_scene_1.tscn,wave_spawner.gd,player.gdupdated to useGpuBallSystemball_system.gd(CPU) kept intact as referenceSince PR Opened
test_scene_1.tscncurrently uses shorter waves for stress testing the growth pathRemaining Validation / Risks
DetonationOutandDeathOutremain capped event buffers; current design assumes bomb/chain fan-out stays modestball_system.gdhas not been removed yetTest Plan
no RenderingDevicewarning10c746dac5to9bd88518e6