cloud_gather.computeShader
Copies each drawn cloud slot's activity out of the neuron that slot draws.
cloud_gather
Copies each drawn cloud slot's activity out of the neuron that slot draws.
The brain module registers one instance per neuron that has a soma, which is
139,741 of the male CNS's 164,587, so the slots are packed and slot s is not
neuron s. The integrate kernel writes its activity lane at each neuron's own
index, so without this pass every slot would be lit by the wrong neuron. It
reads slotmap[s], the neuron index the module recorded for that slot when it
built the cloud, and copies the three values of that neuron's lane 0 into
cloudviz[s], which is the buffer the instanced draw hands the neuron
material as input.shader_data[0].
Lane 1 of cloudviz is the slot's resting colour, written once from the CPU
at build, and this kernel leaves it alone.
Brain:step dispatches it once after the frame's last simulation step, and
only while the cloud's draw is registered.
Bindings: viz (read), slotmap (read), cloudviz (read_write). Param:
drawn, the registered instance count. One thread per slot at a workgroup
size of 64.
Scoped to this part · feeds back into the world's score.