For an detailed user-level description of new features see the following blogpost:
http://code.blender.org/index.php/2012/05/node-editing-tweaks/
TL;DR:
* Frame node gets more usable bounding-box behavior
* Node resizing has helpful mouse cursor indicators and works on all borders
* Node selection/active colors are themeable independently
* Customizable background colors for nodes (useful for frames visual
distinction).
For premultiplied alpha images, this makes any color space conversion for the image
or render output work on color without alpha multiplied in.
This is typically useful to avoid fringing when the image was or will be composited
over a light background. If the image will be composited over a black background on
the other hand, leaving this option off will give correct results.
In an ideal world, there should never be any color space conversion on images with
alpha, since it's undefined what to do then, but in practice it's useful to have
this option.
Patch by Troy Sobotka, with changes by me.
This prevents access to non-existent typeinfo during type initialization,
when node types have been removed and such nodes are deleted from older files.
All blenkernel functions now only set the node->update flag instead of directly
calling the update function. All operators, etc. calling blenkernel functions
to modify nodes should make a ntreeUpdate call afterward (they already did that
anyway).
Editor/RNA/renderer/etc. high-level functions still can do immediate updates by
using nodeUpdate and nodeUpdateID (replacing NodeTagChanged/NodeTagIDChanged
respectively). These old functions were previously used only for setting
compositor node needexec flags and clearing cached data, but have become generic
update functions that require type-specific functionality (i.e. a valid typeinfo
struct).
This branch adds mostly organizational improvements to the node system by renaming the node folders and files. A couple of internal features have been added too.
Detailed information can be found on the wiki page:
http://wiki.blender.org/index.php/User:Phonybone/Particles2010
Now it behaves right on playback:
- Starting playback "Anim Player" button appears on header.
It used to appear only on mouse hover before.
- Stopping playback triggers refresh on compositor, so
actual result would be visible if image sequence/movie
is used in nodes.
- remove some warnings
- fix typos
- cmake allow in-source build (when WITH_IN_SOURCE_BUILD is defined)
- cmake, use an explicit list of rna files (don't glob)
Changed selection flag used for the selected_nodes context property from SELECT to NODE_SELECT. These are just incidentally the same, but NODE_SELECT should be used for nodes.
The backdrop zoom factor for new node-editor instances was not set
(i.e. was default initialised to 0). Now, this gets set to 1.0.
Also, set the property default in RNA to match this.
When using masks or other simple 3D elements in composites, doing
a layer re-rendering on a node is a bit clumsy all the time.
This commit does two things to help:
- new hotkey "Z" in node editor automatically finds render layer
that changed and re-renders it + composites
- option "Auto Render" does same, but then after every transform
edit in 3D window
The latter is experimental; real & proper system for this requires
full threaded render support (like previews). But it works!
Demo file:
http://download.blender.org/demo/test/auto_composite.blend
Important fix:
After any render, all the render layers were tagged "changed", which
caused any edit to first totally recomposte everthing. Now it only
composites changes.
Implementation notes
- DAG scene flush now sets 'changed' flags in render layer nodes
- Added notifier for 'transform finished' to trigger the update,
this is temporarily.
- New Node editor now opens with larger view, the default
was like zoomed in factor 2.
- Add node via menu now shows new node more visible
- Click on (material) node now doesn't re-render the entire
tree anymore, much nicer.
- Duplicate node creates preview image immediate
path -> filepath (for rna and operators, as agreed on with elubie)
path -> data_path (for windowmanager context functions, this was alredy used in many places)
Allow dropping image files from outside blender, or image datablocks from inside blender
to the compositing node editor, to add an image node.
Also small tweak: Only set 'path' properties on drops, if the drag->path isn't empty.