Loading video...

Video Failed to Load

Go Home

I'm almost done working on a new #GeometryNodes project ... a clean, logical API for creating node trees with code. Geometry, shader and compositor all supported. A clean minimal script that is logical to read and write, rebuilds the node trees interactively on the fly.

22,930 views • 6 months ago •via X (Twitter)

32 Comments

Brady Johnston's profile picture
Brady Johnston6 months ago

If you are interested, use + follow along here (it's already available via pip / pypi):

Sergey Metelskiy's profile picture
Sergey Metelskiy6 months ago

Whoa! 😯 it's like visual programming... but with text... Would like to try this thing! 👍

Brady Johnston's profile picture
Brady Johnston6 months ago

Does feel a bit silly at times to write code to make nodes that are just just code underneath... but it works!

Benjamin V's profile picture
Benjamin V6 months ago

@CosmoMidias Does this mean that we can get Claude (or similar) to create geo nodes? (I know it kind of can ATM with mcp, but it's clunky).

Brady Johnston's profile picture
Brady Johnston6 months ago

@CosmoMidias That is part of the idea yes. It's a much cleaner, token & context friendly API for LLMs to work with for generating node trees. The documentation ( should already be LLM-friendly if you wanted to give it a try

Quackers's profile picture
Quackers6 months ago

Now add Texture Nodes support...

Brady Johnston's profile picture
Brady Johnston6 months ago

It should be very simple to add! I just didn't think anyone actually used texture nodes? I was under the impression it was a deprecated system?

Quackers's profile picture
Quackers6 months ago

It is, the joke is that I wanted you to implement it for a deprecated system 😎

Brady Johnston's profile picture
Brady Johnston6 months ago

😅😅😅

Saúl Rodriguez's profile picture
Saúl Rodriguez6 months ago

dude this is amazing! I'll give it a try right now

Brady Johnston's profile picture
Brady Johnston6 months ago

lmk how things go!

Behnoush Hajian's profile picture
Behnoush Hajian6 months ago

Looks great, Brady!

Brady Johnston's profile picture
Brady Johnston6 months ago

Thanks! Very happy with how it is coming together

రామయ్య • /räːmajːɐ/'s profile picture
రామయ్య • /räːmajːɐ/6 months ago

I was literally looking for something like this last Sunday!

Brady Johnston's profile picture
Brady Johnston6 months ago

I too have been looking for this... which is why I made it!

James George's profile picture
James George6 months ago

Thats insane. Blow my mind

Brady Johnston's profile picture
Brady Johnston6 months ago

I'm very happy with how it's all coming together!

James George's profile picture
James George6 months ago

That's the beauty of working on something ambitious. I am here for every part of it 💯😁

Maxime Gerardin's profile picture
Maxime Gerardin6 months ago

Nice!!! This brings us one step closer to some sort of "VEX" in geometry nodes. Thank you for working on this

Brady Johnston's profile picture
Brady Johnston6 months ago

Kind of what I was going for yes! We are still limited to what can be expressed in terms of existing nodes, but I'm liking the way the package is shaping up

Maxime Gerardin's profile picture
Maxime Gerardin6 months ago

Yes that's really nice! I'd personnaly love to see a custom node that let's you connect this python expressions you made, so you can have multiple scripts at different places in your node tree. I don't know if this is something you planned on adding

Brady Johnston's profile picture
Brady Johnston6 months ago

Not possible as an add-on/package unfortunately. Devs don't want to add such a node for performance reasons. They _do_ want to add a "vex-style" scripting language / node, but lots of design decisions remain about what that would look like

Maxime Gerardin's profile picture
Maxime Gerardin6 months ago

There is this "node booster" addon by bd3d that adds a Python Expression node. I unfortunately don't really know how it works.

TERMINATOR X's profile picture
TERMINATOR X6 months ago

Blender vex.

David Conner's profile picture
David Conner2 months ago

What is this editor? How is it connected and updating the graph in blender? It looks repl-like, but I don't think these are repl-based interactions I'm digging into databpy now. Maybe that's the connection. The answer's probably in there somewhere.

Brady Johnston's profile picture
Brady Johnston2 months ago

The editor itself is @zeddotdev - but the setup is just having Blender check every 0.2 s if the `.py` file has changed, and if so re-run it inside of Blender so it's like editing 'real-time'. Plan is to have it be a companion add-on to `nodebpy`

David Conner's profile picture
David Conner2 months ago

@zeddotdev ah i see. that's pretty simple. thanks for responding. i'm looking forward to using it for creative programming

Lynchon's profile picture
Lynchon6 months ago

Can it be used in reverse? So generate code from existing nodetrees and ask claude to debug or optimize them?

Brady Johnston's profile picture
Brady Johnston6 months ago

The functionality isn't currently there, but it's definitely on the roadmap and is definitely doable!

Basiert.org's profile picture
Basiert.org6 months ago

Whats the point of geometry nodes if you code anyways? Blender needs a good api and a programming language that doesnt suck.

Brady Johnston's profile picture
Brady Johnston6 months ago

GN is all C++ under the hood, so you get speed, reliability and quick iteration time when working with nodes. Trying to come up with a nicer API for creating nodes is exactly what this project is trying to do

Bradley Woolf's profile picture
Bradley Woolf6 months ago

Wow beautiful

Related Videos