diff options
author | Ton Roosendaal <ton@blender.org> | 2006-02-18 16:28:44 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2006-02-18 16:28:44 +0300 |
commit | 387f9a7c6d42994b127bb481d191c1169709637b (patch) | |
tree | e8edda5a5faa01bbef4653731c4bd18876ae4e2d /source/blender/imbuf/intern/openexr/openexr_api.h | |
parent | 78942aa8439ec6d304e9f85421a918f44100496c (diff) |
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.
Diffstat (limited to 'source/blender/imbuf/intern/openexr/openexr_api.h')
-rw-r--r-- | source/blender/imbuf/intern/openexr/openexr_api.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/source/blender/imbuf/intern/openexr/openexr_api.h b/source/blender/imbuf/intern/openexr/openexr_api.h index c12eb1f05ae..a82713b6595 100644 --- a/source/blender/imbuf/intern/openexr/openexr_api.h +++ b/source/blender/imbuf/intern/openexr/openexr_api.h @@ -47,11 +47,20 @@ extern "C" { * @param mem pointer to loaded OpenEXR bitstream */ -int imb_is_a_openexr(unsigned char *mem); +int imb_is_a_openexr (unsigned char *mem); -short imb_save_openexr(struct ImBuf *ibuf, char *name, int flags); +short imb_save_openexr (struct ImBuf *ibuf, char *name, int flags); + +struct ImBuf *imb_load_openexr (unsigned char *mem, int size, int flags); + + +void * imb_exrtile_get_handle (void); +void imb_exrtile_add_channel (void *handle, char *channame); +void imb_exrtile_begin_write (void *handle, char *filename, int width, int height, int tilex, int tiley); +void imb_exrtile_set_channel (void *handle, char *channame, int xstride, int ystride, float *rect); +void imb_exrtile_write_channels (void *handle, int partx, int party); +void imb_exrtile_close (void *handle); -struct ImBuf *imb_load_openexr(unsigned char *mem, int size, int flags); #ifdef __cplusplus } |