A new feature in Blender 2.5 that's hard to spot is color management. It 'linearizes' colors for internal processes such as rendering and compositing and applies the appropriate gamma corrections for your display device.
From Blender.org:
Blender 2.5 includes a first version of Color Management. Currently this is limited to ensuring Linear Workflow during the render pipeline - gamma corrected inputs are linearized before rendering, the renderer and compositor work in linear RGB color space, and is gamma corrected back to sRGB color space for display in the image editor.
Future work may include support for display profiles, LUTs, and finer grained control over input/output conversions.
Link
18 Comments
I read that a while ago, but rereading that one paragraph made me understand it :)
Very useful indeed.
In the future, it would also be a good (essential) development to give an option for RGB values to be shown / entered in the 0-255 range, as well as the current float decimal. That one small change would make a massive change in terms of Blender take-up in graphic studios, where the core applications are adobe illustrator/photoshop.
that's awesome... stu maschwitz have been promoting this for a very long time and the improved look in things like motion blur and depth of field blur for brights is really cool.
This is great news indeed. Having linear workflow natively supported will enable more users to see the benefit of it, without going through the pain of doing it manually.
Seeing this combined with the proposed revamped material system should give blender a very solid foundation.
This is a very good feature among many other new features!
MartianR,
in case you don't know this, you can do that already, in a way, at least for the input part. You can put python expressions into number fields, so if you want to have a 255 based color value of, say, 100, you put in "100/255" into the number field which gets evaluated to 0.392.
I hear linux is bad at color management. I guess it is good that blender can work independantly of linuxs Color Management stuff. THough it does make integration with other tools a little tricky if colors look different in different programs.
sdfsdf--
the name "color management" is slightly deceptive: it only linearizes the rendering process (for now)
bart--thank you for posting about this, it's a really great feature, and a lot of people don't know about it :)
It says:
"Linearize (inverse gamma correct) all user inputs used for colouring that have been designed to look correct on users' (sRGB or such) monitors, such as image textures, material colours, compositor image nodes, before they are used for rendering calculations."
The bit I don't understand is: how does Blender *know* if the image I've given it for a texture has already been Gamma corrected? Is there some sort of tag built in to every supported graphic format (e.g. JPEG, BMP, TIFF etc.) that says "I've been gamma corrected by 2.2" ?
@sdfsdf
Check out Gnome Color Manager (http://projects.gnome.org/gnome-color-manager/), it allows you to use the pantone huey (http://www.pantone.com/pages/products/product.aspx?pid=79) to calibrate your screen. It also allows you to automatically configure your scanner using a calibration sheet (http://www.targets.coloraid.de/).
I've always thought that xxgamma (http://www.florian-diesch.de/software/xxgamma/), tkgamma (http://www.pixelfairy.org/patentviolations/tkgamma/) or monica (http://freshmeat.net/projects/monica/) were good enough for me.
Wait a minute, does this mean color/gamut correction for Broadcast as well? If so, this would be VERY useful for me.
@MartianR & Sanne
There's a much easier way to use 0-255 color values. Copy the Hex code from the color picker in Photoshop/Illustrator and paste it into the hex panel on blender's color picker.
Yes this is a much needed consideration.
For more info and explanation of this complex issue:
http://www.ypoart.com/tutorials/tone/index.php
http://www.loramel.net/blender_minutes/2009/01/linear-workflow-in-blender/
Note: The systems described on that page (and the pipeline diagram) is not representative of what's in Alpha 0. Although the color management features was in Alpha 0, it worked a bit differently. The page refers to what's in SVN now, which is why isn't not linked from the Alpha 0 page.
cheers
Would it be possible to add support for infrared and ultraviolet?
@Aaron Digulla
as long as rendering isn't using physical/spectral colors but phenomenological color spaces like the xRGB spaces, there is no useful way to represent invisible colors.
But what do you need this for? Is AROS enhanced by infrared/ultravilet desktop patterns ;-)
Many thanks to Sanne and FishB8 for the helpful advice on inputting rgb values. I was thinking that it might be a good thing to have actual entry fields for RGB, as in illustrator and Photoshop. Graphic designers using AI & P'shop have developed a physical rhythm using the tab and numeric keys for colour entry, which is quite a regular activity. If they could transition directly to Blender without the need for workarounds, it just makes Blender all the more appealing for integration into their workflow.
@Paulomat
I'm writing a scifi story where one race can see from infrared to green and the other from red to ultraviolet. For the former, green means "danger", for the latter "safety". I was wondering whether I could create images that would show the different view of the world of both of them but I guess that's a bit outside the scope of todays renderers.
Especially since lighting this scene would be hell on an RGB monitor :)