Colour Management
authorMatt Ebb <matt@mke3.net>
Fri, 17 Jul 2009 02:43:15 +0000 (02:43 +0000)
committerMatt Ebb <matt@mke3.net>
Fri, 17 Jul 2009 02:43:15 +0000 (02:43 +0000)
commit1ef729358517248888073be71ba5d3b6e3d723ee
treedfa33f083ac1afd500e76dcf4bc581394637d0dd
parent70f6255433fcb1f5551199ef7a285a9ab80a3318
Colour Management

- 1st stage: Linear Workflow

This implements automatic linear workflow in Blender's renderer. With the
new Colour Management option on in the Render buttons, all inputs to the
renderer and compositor are converted to linear colour space before
rendering, and gamma corrected afterwards. In essence, this makes all
manual gamma correction with nodes, etc unnecessary, since it's done
automatically through the pipeline.

It's all explained much better in the notes/doc here, so please have a look:
http://wiki.blender.org/index.php/Dev:Source/Blender/Architecture/Colour_Management

And an example of the sort of difference it makes:
http://mke3.net/blender/devel/rendering/b25_colormanagement_test01.jpg

This also enables Colour Management in the default B.blend, and changes the
default lamp falloff to inverse square, which is more correct, and much
easier to use now it's all gamma corrected properly.

Next step is to look into profiles/soft proofing for the compositor.

Thanks to brecht for reviewing and fixing some oversights!
31 files changed:
release/datafiles/preview.blend
release/ui/buttons_scene.py
source/blender/blenkernel/BKE_colortools.h
source/blender/blenkernel/intern/colortools.c
source/blender/blenkernel/intern/object.c
source/blender/blenkernel/intern/scene.c
source/blender/blenlib/BLI_arithb.h
source/blender/blenlib/intern/arithb.c
source/blender/editors/datafiles/B.blend.c
source/blender/editors/datafiles/preview.blend.c
source/blender/editors/include/BIF_glutil.h
source/blender/editors/preview/previewrender.c
source/blender/editors/screen/glutil.c
source/blender/editors/screen/screen_ops.c
source/blender/editors/space_image/image_draw.c
source/blender/editors/space_image/image_render.c
source/blender/imbuf/IMB_imbuf_types.h
source/blender/imbuf/intern/divers.c
source/blender/makesdna/DNA_scene_types.h
source/blender/makesrna/intern/rna_scene.c
source/blender/nodes/intern/CMP_nodes/CMP_image.c
source/blender/render/intern/include/shading.h
source/blender/render/intern/source/convertblender.c
source/blender/render/intern/source/pipeline.c
source/blender/render/intern/source/pixelshading.c
source/blender/render/intern/source/rayshade.c
source/blender/render/intern/source/rendercore.c
source/blender/render/intern/source/shadeinput.c
source/blender/render/intern/source/sss.c
source/blender/render/intern/source/strand.c
source/blender/render/intern/source/texture.c