I’ve been following this tutorial to wrap my head around instancing textures in Touch: https://www.youtube.com/watch?v=uFFXUPP0cyg&t=190s (from roughly 4min 50s). In this video 5 textures get premade (6min 20s) which are then referenced in the geo node.
This is great, except that my textures aren’t static like the ones in the video. I have a Base component that takes a bunch of parameters, and creates a top (which it outputs) based on some set parameters and some local state variables.
Now my next thought was, I’ll use a replicator and reference the replicants in the geo node’s instancetex parameter - but that’s agonizingly slow.
How can I circumvent the replicator but still have dynamic textures?
I’m used to C++ where I have an array of objects that each create an FBO (top, I guess), then later I composite those together. I expected the replicator to work like an array.
Thanks for the quick reply - I unfortunately can’t share the file, sorry! Would absolutely make life a lot easier…!
I have disconnected the geo node from the replicated components and set its instancetex parameter to the base component I was replicating: happy days (framerate wise). I can create many instances and it runs fine. Problem: they all look exactly the same because they reference the same image.
I then recreated the replicator and set the Master Operator to the base class I want to replicate - keeping the geo node disconnected from the replicated components. I’ve put the number of replicants to 50. My Base node reports a CPU cooktime of ~0.007ms, GPU 0ms. the replicator reports a cooktime of 0.041ms and GPU 0ms, however, my framerate has now dropped to 8FPS.
can you build an easy reproducible example?
it might be the 50 networks (depending on their complexity) that cause your issue. But can’t really give you an informed opinion without seeing the network. Testing here with instancing 200 Noise TOPs at your resolution and Color Format runs at a solid 60fps with a 3080ti.
Sorry for not replying - ended up getting distracted by a different project and had to leave this for a bit. I ended up reworking the patch to get rid of all replicators. In my case all of the replicated behaviour could be replaced by rewriting the shaders to create all the ‘replicated’ images in a single pass. Seems happy now…!