GPU compute POC: compute shader → Texture2DRD → canvas shader #84
Closed
claude
wants to merge 12 commits from
feature/gpu-compute-poc into master
pull from: feature/gpu-compute-poc
merge into: cammymoop:master
cammymoop:master
cammymoop:feature/shop-hover-no-drill
cammymoop:feature/fix-shop-node-overlap
cammymoop:feature/tree-upgrade-shop
cammymoop:feature/shop-nav-input
cammymoop:feature/fancy-upgrade-shop
cammymoop:feature/fix-round-restart-crash
cammymoop:feature/wave-spawn-calc-labels
cammymoop:feature/ball-melee-fixes
cammymoop:feature/ball-system-weapon-obb
cammymoop:feature/wave-spawn-calc-preview
cammymoop:feature/ball-system
cammymoop:feature/cursor-scale-feedback
cammymoop:feature/relative-cursor-fixes
cammymoop:feature/relative-cursor-aiming
cammymoop:feature/node-bound-delay-fixes
cammymoop:feature/spawn-rock-avoidance
cammymoop:feature/spawn-prop-steps
cammymoop:feature/wave-spawner-props
cammymoop:feature/arena-resize-schedule
cammymoop:feature/chain-bomb-spawn-formula
cammymoop:feature/claude-md-update-pr-docs
cammymoop:feature/upgrade-value-formula
cammymoop:feature/back-shield-upgrade
cammymoop:feature/round-setup-rocks
cammymoop:feature/update-pr-skill
cammymoop:feature/demo-scene
cammymoop:feature/world-space-bg
cammymoop:feature/arena-manager
cammymoop:feature/collectable-edge-bounce
cammymoop:feature/collectable-momentum
cammymoop:feature/chain-bomb-fuse
cammymoop:feature/god-mode
cammymoop:feature/chain-bomb-enemy
cammymoop:fix/shop-focus-capture-before-spend
cammymoop:feature/shop-focus-next-on-disable
cammymoop:feature/upgrade-prerequisites
cammymoop:fix/shop-start-button-focus-path
cammymoop:feature/upgrade-unlock-threshold
cammymoop:fix/maxed-upgrade-dim-text
cammymoop:feature/magnet-committed-speed
cammymoop:feature/bomb-bounce-count
cammymoop:feature/currency-hud
cammymoop:feature/big-ball-split-count-upgrade
cammymoop:fix/hide-timer-on-shop
cammymoop:feature/ball-explosion-radius-modifier
cammymoop:feature/ball-max-speed
cammymoop:feature/split-bomb-upgrade
cammymoop:fix/emergency-bomb-starting-level
cammymoop:feature/ball-inherit-attacker-velocity
cammymoop:feature/aim-pd-controller
cammymoop:feature/passive-shield-aim-inertia
cammymoop:feature/ball-hit-immunity
cammymoop:feature/fix-explode-deferred
cammymoop:feature/death-knockback
cammymoop:feature/magnet-sticky-threshold
cammymoop:feature/nonlinear-magnet
cammymoop:fix/camera-bounds
cammymoop:feature/hit-absorption
cammymoop:feature/magnet-pickup
cammymoop:feature/emergency-bomb-upgrade
cammymoop:feature/split-ball-enemies
cammymoop:feature/bomb-contact-signal
cammymoop:feature/fix-explosion-blast-radius
cammymoop:feature/bomb-ball
cammymoop:feature/currency-tracker
cammymoop:feature/shard-collectables
cammymoop:feature/document-placeholder-texture-tool
cammymoop:feature/gen-placeholder-texture
cammymoop:feature/ball-enemy-8way-spawn
cammymoop:feature/upgrade-system
cammymoop:feature/attack-cooldown-and-bounce-fix
cammymoop:feature/enemy-spawn-angle
cammymoop:feature/wave-spawner
cammymoop:feature/forgejo-cli-devshell
cammymoop:feature/contact-damage
cammymoop:feature/entity-system
No reviewers
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
cammymoop/semi-vibed-game!84
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
tools/gpu_poc/for the GPU compute ball rendering pipelineball_sim.glsl: compute shader animates 2000 balls with Lissajous motion, writes pos/radius/alive + color into a 2×N RGBA32F texture viaimageStoreball_render.gdshader: canvas_item shader reads ball data viatexelFetch(ball_data, ivec2(0/1, INSTANCE_ID), 0), overridesVERTEXandCOLORper instance, clips to circle in fragmentgpu_poc.gd: full RenderingDevice setup — compute pipeline,Texture2DRDbridge, params SSBO, MultiMesh with identity transforms, per-framebuffer_update+ dispatch +barrier(); gracefully no-ops when_rd == null(headless/no GPU)gpu_poc.tscn: minimal standalone Node2D scene to run the POCTest plan
tools/gpu_poc/gpu_poc.tscnin the Godot editor and run — should show 2000 animated colored circles moving in Lissajous patternsBALL_COUNTto 10k, 50k, 100k to benchmark rendering throughput vs current GDScript multimesh approachSuccessful test
Pull request closed