How to create unique text instances with POPs?

I would like to create a POP instancing network, where on every instance a random unique number is placed, that is generated with a random number generator and then placed in a table DAT.
I got it working with SOP’s, but the same way doesn’t apply for POP’s. What did I miss here?

If you turn on the geo1, you can see where the instances should appear, but with the geo text, all the text lines are stacked onto one instance, creating a rectangle.

POP instancing experiment.3.toe (33.2 KB)

Hello @thevoyageofdesign,

It looks like the geo text COMP expects tx ty tz for the specification CHOP, but the POP to CHOP name format is a bit different by default so the channels need to be renamed.

POP instancing experiment edit.toe (33.2 KB)

Best,
Vincent

1 Like

Hey @vincentDev ,

Thanks a lot! That does the trick.

I was wondering if this setup is the best way to do it performance wise, when you work with POPs and instancing?

I wanted to use many points, but seems a bit heavy when there are 6000 random unique text numbers instanced on 6000 unique points. I came across this video by Okamirufu Vizualizer where he created a looping system, where just smaller count of images get looped and instanced, but this is for geo instancing. Is this possible in my setup in someway?

Okamirufu Vizualizer video

Cheers

Does anyone know if there is a good solution to loop a specific amount of instances over a larger total points like Okamirufu is doing, but then with geo text? It would make optimization be really impactful on instancing with text I think

Hello,

Here’s an experiment doing it with POPs.

POPinstancingExperimentEdit2.toe (34.6 KB)

null_divider sets how many times the text patterns are going to be reused, numUniqueTexts is the number of unique text strings.

Using an index (hacking using fontcolorr) and the mapping feature the transform POP looks up a position and transform each text string.
There’s no instancing so it is a bit gpu memory intensive.
Reusing text just allows to have the text POP cook faster (it’s mostly CPU based and gets slow with a lot of text), but the memory saved there is used in the Copy POP instead (some attributes can be deleted so there’s some savings)

Using geo instancing would make the looping save memory (geo instancing instead of copy POP), but you would need a custom instancing GLSL MAT to do the lookup and transformation.

Otherwise you’re probably better off doing the text with TOPs and instancing quads.
It could also be interesting to try to geo instance individual characters, it might not be simple to have a nice kerning though.

Interesting problem, I’ll log internally to look into making it easier and more efficient with GPU memory.

Best,
Vincent

1 Like