[Bf-committers] Proposition about muting nodes

Bastien Montagne montagne29 at wanadoo.fr
Sat Jun 11 16:51:27 CEST 2011


Hi everybody

Here is a proposition of nodes enhancement, inspired by that bug report: 
http://projects.blender.org/tracker/index.php?func=detail&aid=27636

In fact, it turned out that only compositing nodes effectively support 
muting currently – that functionality hasn’t been implemented for other 
types.

Moreover, imho the idea of a « generic » muting system (currently, it 
just links the first rgba in to first rgba out, first value in to first 
value out, and first vec in to first vec out) is not a good idea – I 
think letting each node decide how it should be muted/bypassed is a much 
better solution…

So here is my proposition :

Add to nodes (i.e. bNode struct) a new func pointer, called e.g. 
get_muted_connections, which would return a table mapping output sockets 
to input ones.

That func would be called by drawnode code (node_draw_mute_line), and by 
node execution code (either each execfunc, or higher in the exec 
process ?), and then some semi-generic code (placed eg in 
CMP/SHD/TEX_util) could handle the copying of relevant buffers…

Note that I propose a func for muting, based on the idea that some nodes 
might have different muting scheme, depending on their settings. 
However, we could have an even simpler system, by hard-coding the muting 
connections during node definition (similarly to how input/output are 
already defined).

Anyway, this is a relatively important work, involving changes 
(additions) to the core node system, so I obviously will wait for your 
advices (and the greenlight of at least one core dev :) ) !

PS : In the move, I could also try to see if 
http://projects.blender.org/tracker/index.php?func=detail&aid=27626 
(muting inside groups) could also work well…

Cheers,
Bastien


More information about the Bf-committers mailing list