Recreate an image with instanced circles

Hi everyone,

I’m trying to take the luminence of an image and translate it to a grid of instanced circles, where the luminence of an image controls the size of the circles on the grid. The idea is that the image is re-created from a grid of circles.

So to create the scale data for the instanced circles, I’ve done this:

[moviefilein]->[threshold]->[TOPtoCHOP]->[shuffle]->[resample]

But when I translate it to the grid, it just looks like this:

The shuffle is set to “sequence all samples by name” and the resample is like this:

since the grid is 20x20.

Wondering if anyone can shed some life on how i can recreate the image made up from circles.

.toe is attached.

Thanks!

instanced-image.2.toe (5.5 KB)

several ways you could go about doing this, but the main thing to watch out for is that all instance data must be aligned.

If your example you had the right idea but the grid which was 20x20 had no direct relation to the image which was 512x512

resampling it has the potential to not align perfectly, even if it gets close, but also since you’re resampling it in 1d space after the shuffle instead of 2d space, that completely scrambles things.

You can either resize the image top to be the dimensions of the sop grid, or you can go about it a different way. a more efficient approach would be to use textures as the instance data directly.

Hope this helps:
instanced-image.4.toe (6.2 KB)

hi,

unless you have a reason to go this way, i would instead go the Geo Instance path.

yep, that’s what is setup in both files, is some form of geo instancing. just comes down to how one prepares the instance data really - and there are lots of ways to do that.

ooops, didn’t see your answer :wink:
Geo instancing it is !

1 Like

Thanks, that really clears things up. On the geo instancing example, you added channels for the UV, but I’m not sure I fully understand why.

Thanks again!

Ah I named them U/V but that’s a bit misleading, actually better in this case to think of them as X/Y. you could feed in via another 20x20 top, or another method.

you could use other tops to modify ramp_U and ramp_V in realtime to displace those spheres in interesting ways too.