From c81ecaf21e798b359cda5c4a1e3f22f5df340c3f Mon Sep 17 00:00:00 2001 From: Jared Miller Date: Wed, 11 Mar 2026 20:55:06 -0400 Subject: [PATCH] Add ant spawn uniform to AntsComputeScene --- src/Renderer.ts | 5 +++++ src/scenes/AntsComputeScene.ts | 1 + src/scenes/ScreenScene.ts | 6 ++++++ 3 files changed, 12 insertions(+) diff --git a/src/Renderer.ts b/src/Renderer.ts index 725e90e..f1cf488 100644 --- a/src/Renderer.ts +++ b/src/Renderer.ts @@ -206,6 +206,11 @@ export default class Renderer { this.resources.antsPresenceRenderTarget.texture; scenes.ants.material.uniforms.uMaterialProps.value = this.materialPropsTexture; + scenes.ants.material.uniforms.uAntSpawn.value.copy( + scenes.screen.antSpawnRequest, + ); + // clear after reading + scenes.screen.antSpawnRequest.set(0, 0, 0, 0); this.renderer.render(scenes.ants, scenes.ants.camera); this.setViewportFromRT(this.resources.antsDiscreteRenderTarget); diff --git a/src/scenes/AntsComputeScene.ts b/src/scenes/AntsComputeScene.ts index 93332d8..db464af 100644 --- a/src/scenes/AntsComputeScene.ts +++ b/src/scenes/AntsComputeScene.ts @@ -24,6 +24,7 @@ export default class AntsComputeScene extends AbstractScene { tPresence: { value: null }, uMaterialProps: { value: null }, uForagerRatio: { value: 0 }, + uAntSpawn: { value: new THREE.Vector4(0, 0, 0, 0) }, }, vertexShader, fragmentShader, diff --git a/src/scenes/ScreenScene.ts b/src/scenes/ScreenScene.ts index 4254cdb..6965a04 100644 --- a/src/scenes/ScreenScene.ts +++ b/src/scenes/ScreenScene.ts @@ -21,6 +21,12 @@ export default class ScreenScene extends AbstractScene { public ants!: THREE.InstancedMesh; public readonly groundMaterial: THREE.ShaderMaterial; public readonly pointerPosition: THREE.Vector2 = new THREE.Vector2(); + public readonly antSpawnRequest: THREE.Vector4 = new THREE.Vector4( + 0, + 0, + 0, + 0, + ); public drawMode: number = -1; // zoom stored in Config.cameraZoom private isPointerDown: boolean = false;