"Nodes" are "Programs!"

If there’s “one single thing that you must know” about the entire Blender system, IMHO that one thing would be: nodes.

Nodes now appear just about everywhere in Blender. The original user-interfaces still remain, but they’re accompanied by a “Use Nodes” button. When you click that button and fully dive into that world, you unlock what Blender can really do for you.

I think that the most-important thing to realize (IMHO) is that, when you “use nodes,” you are truly writing a computer program … visually. Every node network (affectionately known as a “noodle”) contains three types of nodes:

  • Nodes which are a source of data.
  • A node which represents “the destination,” or “sink” – the ultimate output that is produced.
  • Nodes which transform their inputs to produce outputs.

The inputs are on the left-hand side of the node; the outputs are on the right. And they are color-coded according to the type of information they can handle: you can connect anything to anything of the same color.

To leverage nodes effectively, you need to adopt a mode of thinking that – if you are an artist – might be a bit strange to you. You must "think like a computer programmer," because, for this moment at least, this is really what you are. A noodle is a data-flow diagram, moving from source(s) to sink. It is a construct that gives you absolute freedom, but it is also a thing that you must debug!

In most ways, Blender encourages you to think in terms of “real things.” Real objects, real materials and textures, real lights, etc. But nodes are actually quite capable of moving beyond “reality” and its strictures. They allow you to achieve effects which, while they might simulate reality and look good, were actually described to Blender in a procedural way – a programming way – using nodes. It’s a very different way of thinking, but an important one.

One of my first film-photographer mentors stressed to me: "Look at the light." Not the scene nor “what it is ‘a picture of,’” but, literally, "the light." What is the light doing? This strategy teaches you to look at your image both subjectively and objectively, and this point-of-view is (IMHO) very important when using nodes. Sometimes the best way to achieve an effect is to “simulate the real world,” but sometimes it isn’t. Call it “cheating,” call it what have you, but it works, and nodes enable you to go there.

When you’re exploring nodes, in their many various incarnations, I would encourage you to surf the Internet to find existing examples, then “take them apart.” Having carefully saved a backup copy of whatever you downloaded, locate the various noodles within the blend-file and … start taking them apart. Fiddle with the “knobs and switches” on the various nodes, literally to see for yourself what they do. Look at the various inter-node connections to learn why they are there and what they do. Feel free to “re-wire the thing” just to see how you can break it :wink: and then how you can fix it – and enhance it. “Get your hands dirty with reckless abandon,” and very soon you will begin to Understand.

5 Likes

The term for this is “data-flow language” or “visual programming”. Every few years, somebody rediscovers the “visual programming” paradigm, and wonders why it hasn’t taken over the world. As they use it more heavily, they begin to discover the downsides.

Cycles nodes are great, provided you do not make too much use of lower-level arithmetic/logical operations (e.g. “Math” nodes). Once you string lots of those together, things get rapidly out of hand. Case in point: this example of a complex node tree which I tried condensing down to a few lines of OSL code. Which is easier for somebody else to copy?

GLSL nodes write and compile GLSL script,

(the blender internal node system)

there is a branch of upbge - ge_23a_youle_logic_nodes
replaces logic bricks with logic nodes; - https://github.com/UPBGE/blender/tree/ge_23a_node

And Blender isn’t the only composition software to do this. My day job involves sotware called Inspire from a company called Quadient. It’s like Adobe InDesign on heavy steroids. Nodes are just like Blender nodes and also many of those nodes have places available where you can abandon the civilized veneer of sliders and pickers entirely and just type code right in the nodes.

1 Like

blender game engine has python controllers, and upbge has render attachment outputs,
but we don’t have nodes running raw GLSL yet

I am new to Blender and quickly fell in love with the nodesystem. I had never encountered anything like it before, and it was a relief to use nodes instead of the tools found in 2d art programs. For me it partly removed the disconnection between doing something with your hands and doing it through a screen. Because nodes are such an intuitive way to create materials learning the tiniest new thing can vastly broaden your understanding of what is possible with it.

In programs for other computer design areas, like grading or editing film, it’s a different thing. You learn something and then you understand how to do that. You learn more things and they can be combined to create different results. When you learn more things in the node editor they influence each other. That is what makes it so fun, that you can make a wide variety of art by focusing on how one node reacts to be paired up with old node setups.

That nodes are a form of visual programming is a revelation that has given me food for thought. Are there any tutorials out there on the mindset and thoughtprocess behind creating something in Blender, like good practises to use? I would love to use them in my own work. I became interested in cgi this winter, so I am very much a beginner

1 Like

I only really started learning about all of this this past winter as well. Just wanted to say hi. :slight_smile:

1 Like

they appear everywhere in Blender? Where besides the shader editor?