Hi there! I’ve learned a ton from this book. I’m trying to write a physarum simulation with a compute pipeline for the particle simulation that’s then rendered into a 2D texture. Basically for this simulation to work, it needs to read from (and render) a texture that’s modified and preserved on each render. I used the chapter 16 samples as a starting point, but I’m stuck on being able to use the output of the render as the input (without clearing) for the next step of the simulation. Put another way, I want to modify a texture as the output of a render pass and use that texture as input for the next compute pass.
I used code from the water tutorial to figure out how to render to a texture rather than the display (then I render that texture to the display) so I at least have – I think – a persistent texture that I could use as input. The problem is that this texture gets cleared every time my render pass writes to it. I tried removing the .clear
property from the texture’s .loadAction
but that seems to create a new uninitialized texture every time, rather than maintaining the data from the previous render.
The code for the render pipeline is here:
https://github.com/Moishe/metal-mold-2/blob/main/Particles%20Shared/Renderer.swift#L114
And the code to set up the texture is here:
https://github.com/Moishe/metal-mold-2/blob/main/Particles%20Shared/RenderPass.swift#L34
Any ideas would be super appreciated, thank you!