How can I distribute a texture in a grid using the Material Nodes? [SOLVED]


I wan’t to make a grid of shapes but can’t understand why this setup does not work

Is there a way to add more than one shapes and make them appear periodically filling the grid ?


Context propagates to the left. In your example the exterior and infill ports will use the grid you provided as context, to apply it to the n-gon you need to provide the context one step to the right.


Can you elaborate on that ?

Context propagates to the left.

Isn’t information flow from left to right ? Should I perceive that the N-Gon Node sends the context to the UV Transform and not vise-versa ?

the exterior and infill ports will use the grid you provided as context

Aren’t these only for color ?

you need to provide the context one step to the right.

I start to get the terrible feeling that I have no idea what the “context” actually is.

Isn’t it the set of rules that dictate how the image gets mapped on a surface ?

Are you suggesting changing the arrangement of nodes or adding a new one after N-Gon ?


General information flow is from left to right, but the context gives information about the environment within which this happens. Exterior and Infill can be solid colors, but they can be shaders as well, that’s up to you.
In this case either connect the context to the node following to the right, or use an override context node.
Context is not only about uvs, but about all rendering specific information that you only get at rendertime. The information flow for the context is from right to left since it originates at the renderengine, but the renderengine needs the result of the shading.
While rendering the renderer needs to compute a pixel, it calls for the shader graph and gives the relevant information like uvw position, angle of view, light etc. All that is pushed by the engine into the shading graph from the right, not dissimilar to the parameters of a function call.
This is a complex topic, but context is a really powerful tool to achieve interesting effects and is well worth learning.


Yes, that is exactly what is happening.


Solved the repetition problem. There where hidden option.


The difference between context and local context is that local context only applies to that specific node and does not change the context for preceding nodes.


@Srek Can you tell me how to transfer propagated ports from the Node Editor to the Material Editor like in the image below ?

or tell me the topic that explains it in the documentation.


I found a small bug !
When I try to change the name of a Node or the name of a Propagated Input Port, turning the Capslock on, on the keyboard, terminates the text input.
I like naming things with the first letter of each word capital.
Turning Capslock off doesn’t terminate the text input.

During this personal exploration I have run into some serious lag were I couldn’t connect ports (I think it had to do with the IF trying to evaluate a condition float == string) and sometimes the Delete key did not delete Nodes but don’t know what was the underlying issue so I can’t replecate them.


Select the node that holds the parameters you want to expose, if you do not have a single one you can group your nodes and propagate them to the group, then choose “Start Node” from the node editors “Node” menu


The documentation does not provide information about what kind of data some of the following data types accept …
What are the Internedld , UInit and CString ?
Also why isn’t there a Vector3d ?


Also I can’t change the order of propagated nodes on the Start Node. A red bounding box appears in the editor view when I try to change their order…

Might be a bug or an overlook … If the number of propagate nodes don’t fit in the monitor screen there is no way to scroll down the list.


Those datatypes are exposed by accident, you can ignore them.
You can try to reorder the ports in the ressource editor, this might be a bug.
Vector is a 3d vector


in R20 the preview panel in Resourse Editor works fine… in R23 i get nothing, can you take a look just in case it’s not only me ?

I’ve ran into so many problems in the Resourse Editor but I don’t want to waste your time… When I finish with my asset (I hope soon) I’ll let it loose here so anyone can take it and make it better.

( these things are complex and hard ! I get the sence that the material node editor and the resource editor where developer tools that later got intergrated in the main app)

Thank you for your help.


Resource Editor is a bit under construction currently since it is an integral part of scene nodes tech demo and requires a lot of adjustments for them. If possible just ignore those issues. Personaly i would wait a bit with creating final node assets due to these issues.