Four-in-one commit:
authorTon Roosendaal <ton@blender.org>
Sat, 18 Feb 2006 13:28:44 +0000 (13:28 +0000)
committerTon Roosendaal <ton@blender.org>
Sat, 18 Feb 2006 13:28:44 +0000 (13:28 +0000)
commit387f9a7c6d42994b127bb481d191c1169709637b
treee8edda5a5faa01bbef4653731c4bd18876ae4e2d
parent78942aa8439ec6d304e9f85421a918f44100496c
Four-in-one commit:

(NOTE: new include dependency in Render module, might need MSVC update!
It has to include the imbuf/intern/openexr/ directory in search path)

-> New Composite node: "Hue Saturation".
Works like the former 'post process' menu. There's no gamma, brightness or
multiply needed in this node, for that the Curves Node functions better.

-> Enabled Toolbox in Node editor
This now also replaces the SHIFT+A for adding nodes. The nodes are
automatically added to the menus, using the 'class' category from the
type definition.

Current classes are (compositor examples):

Inputs: RenderResult, Image
Outputs: Composite, Viewer
Color Ops: RGB Curves, Mix, Hue Saturation, AlphaOver
Vector Ops: Normal, Vector Curves, Map Value
Filters: Filter, Blur, VectorBlur
Convertors: ColorRamp, RGBtoBW, Separate RGBA, Separate HSVA, Set Alpha
Generators: RGB, Value, Time
Groups: the list of custom defined nodes

-> OpenEXR tile saving support
Created an API for for saving tile-based Images with an unlimited amount
of layers/channels. I've tested it for 'render result' now, with the idea
that this can (optionally) replace the current inserting of tiles in the
main result buffers. Especially with a lot of layers, the used memory for
these buffers can easily go into the 100s of megs.
Two other advantages:
- all 'render result' layers can be saved entirely in a single file, for
  later use in compositing, also for animation output.
- on each render, per scene, a unique temp file can be stored, allowing
  to re-use these temp files on starting Blender or loading files, showing
  the last result of a render command.

The option is currently disabled, needs more work... but I had to commit
this because of the rest of the work I did!

-> Bug fix
The Image node didn't call an execute event when browsing another image.
15 files changed:
source/blender/blenkernel/BKE_node.h
source/blender/blenkernel/intern/node.c
source/blender/blenkernel/intern/node_composite.c
source/blender/blenkernel/intern/node_shaders.c
source/blender/imbuf/intern/openexr/Makefile
source/blender/imbuf/intern/openexr/SConscript
source/blender/imbuf/intern/openexr/openexr_api.cpp
source/blender/imbuf/intern/openexr/openexr_api.h
source/blender/include/BIF_toolbox.h
source/blender/makesdna/DNA_node_types.h
source/blender/render/intern/source/pipeline.c
source/blender/src/drawnode.c
source/blender/src/editnode.c
source/blender/src/interface.c
source/blender/src/toolbox.c