[Bf-committers] Proposal for unifying nodes

Robin Allen roblovski at gmail.com
Sun Jun 14 20:07:53 CEST 2009

Hi all, I hope this is the right list.

After hearing Ton say that nodes might see a recode, and knowing that
users are sometimes frustrated by Blender's strict separation of tree
types, I thought about ways to change how nodes are evaluated to let
users use any nodes in any tree. I've put my ideas up at
http://wiki.blender.org/index.php/User:Frr/NodeThoughts . I'd be
willing to take this project on if people feel the design is up to
scratch, perhaps developing in a branch akin to bmesh.

Main points:

* Expand nodes' data types from (float, vector, color) to include
functions and other types
* Define a shader to be a function of a ShaderCallData
* Define a texture to be a function of a TexCallData
* Allow the user to specify any nodetree outputting a shader to be
used as a material tree; any tree outputting a texture to be used as a
texture tree; etc.
* Define implicit conversions allowing nodes (e.g. Invert) to be
defined once to work on colors, and then be automatically converted to
work on textures and shaders (since both are defined as functions
returning colors).
* Results in an extensible node system: instead of defining a new tree
type, just define a new data type and some nodes that work on it.
* No more duplication of code with tiny changes (math, image...)

I'd like to hear any comments or criticisms you might have.


More information about the Bf-committers mailing list