How to transfer vertex color from point to instance

I have a grid. I’ve distributed points on the grid, then instances on the points. I’ve also vertex painted on the grid. I can see the vertex colors on the points, but not the instances. This makes sense because vertex colors are stored in a different domain. What I can’t figure out is how to transfer the vertex color from a point to the instance on that point. I’m sure it involves some combination of Evaluate on Domain and Capture Attribute, but my experiments have had no success. Help appreciated!
@AlphaChannel @zeroskilz

I recognize this is dangerously near an XY problem, so let me be more specific. Let’s say I want to scale Instances based on a Vertex Color named attribute. How is this done?

Instance on Points should just transfer an attribute like that to Instances with no effort on your side.
You should be able to see it if you set your Viewer to “Instances” (you’d think “auto” mode would recognize it :person_shrugging:).
So… just using the attribute should work?

like this?

If you also want to see the instance color in the shader, you have to set the attribute input node to instancer, or realize the instances in the geometry nodes tree and leave the attribute input to geometry.

Maybe this shading issue is what leads to confusion not seeing transferred vertex colors.

Well, that’s exceedingly strange, that was the first thing I tried :thinking: but it doesn’t work for me, so I’m doing something wrong. Good to know that it is supposed to work, I’ll see if I can find the error

I think It would depend on the colour values, I was using white grey and black (1, 0.5 and 0 ) I used greyscale to make sure the values were different.

And remember: Viewer + Attribute Text Overlay and Spreadsheet are your friends!
The Instances should have the inherited attributes columns in the spreadsheet.

I see the attribute correctly in the spreadsheet but the instances aren’t scaling- this is a messy node tree, I must be overriding the attribute scaling somewhere. Time to clean

I always seem to be here when you ask a question.

It’s where I go to think.

You may need evaluate on domain set to instance.

I’m nowhere near as nice. I’m currently hauling old people around to see their doctors

Not sure why it works for me after instancing too

(this time I painted the verts of a cube and instanced spheres.)

Side note
I hate that vertex colour gets the name “Attribute” by default, I always change it to something more logical.