Material driven by GeometryNodes - are unique variations per object (no instances) possible?

Hej there,
I’m making progress - thanks to your help. But, if you do things new to you, there arise questions: I have a hard time understanding the store named attribute node.
This is my scenario:

All these blue lines have the same material (currently). The materials alpha is driven by a named attribute generated by a geometry proximity node. As all of the curves are different in length, each curve has it’s own GN modifier. (I just duplicated the curves incl. modifier and adjusted the points)

That means, there are now 30 curves carrying GN modifier, each one writing to the same store named attribute value. It’s working - but shouldn’t this cause problems?
As I want to animate the light points on the lines (it’s a wave texture) with individual offset, I need to get a randomized value for each curve to use it in the material. I could use unique materials per curve, but I wonder if it is possible with just one as we did with the random textures?

Edit: turned out I don’t need the attribute for that. I used the Object Info Random port in the shader tree as base value for the x offset.

Nevertheless I’d like to learn about hte attributes. As I understand, the attributes are stored to the respective geometry, right? But can I then access an attribute of an object other then the one thats carrying the GN?

Geonodes is made to work at scale, I think all your curves could be a single object with a single modifier. Why exactly do you need different modifiers ?

Interesting thought…
At the moment the modifier are using the same GN-tree one on every curve. I want all the light point move upwards to one point (where curves fade away).
Using only one object qould streamline the project indeed. I will give it a try, thanks!

If you use just just one object and instance the lines, you can save a random value per instance/line and use that value in the shader editor.

Note
Save the value in instance domain in GN and set the attribute to “instancer” in the shader.

Indeed, attributes are floats, integers, booleans, colors, vectors, matrices stored into a geometry domain ( per point, per edge, per face, per face corner, per spline, per instance, per Grease Pencil Layer).

Yes. That is the purpose of Object Info node. It allows to have access to Geometry data ( attributes included) of another object, than the one handling the modifier.

Yes, that’s the way I did with the fabrics for the machines and the textures for my folder icons. But as the lines differ in length, I can’t instance them in this particular case.

I see. Now I got it - at least I think I do…

You can instance the curves then realize them, or you can simply duplicate them

Duplicating is what I did. And that’s why every curve got it’s own modifier. But all modifier use the same GN-tree. This was the point I needed to understand.
I thought all modifier would write the values to the same “place”, instead the evaluation and storing of the values correspond to the relevant geometry. So even all the GN-trees and the stroed values have the identical names, there is no issue with that. I think, I got the concept now.

No, I mean duplicate in geometry nodes, with the duplicate node. I mean I’m not too sure what you are doing but it seems like you need several curves that are mostly the same but differ in subtle ways. So duplicating then changing copies sounds appropriate (all in geonodes, on a single object)

Ahh, I see. Yes, this might be a way too.
I will dive into that later on; for now I will leave it the way it is (time is running out…).