Linear Workflow
The Linear Workflow (or far too many gammas)
In a nutshell
In recent years, the principle of Linear Workflow (hereinafter referred to as "LWF") has almost become a process shrouded in myth that promises miracles. Well, it can't work miracles, but it will help you to produce better images that previously could only be achieved with additional effort or workarounds.
Overexposed areas are reduced.
You can see the effects of the LWF in the illustration above. This scene is illuminated by 2 light sources (inverse square decrease). The quality with LWF on the right is dramatically better.
The following advantages can be noted:
- More harmonious light distribution, scene appears brighter overall
- Overexposed areas are reduced
- More natural colors
- In summary: more realistic light distribution (the use of light sources with physically correct inverse square Falloff is also recommended at this point).
Note:Please note that you cannot simply transfer old scenes to the LWF. The lighting needs to be readjusted. Of course, older scenes are loaded so that they are rendered unchanged (the Linear workflow and Input color profile options are then deactivated). If you want to use old material libraries (which in most cases were NOT saved linearly) with the LWF, make sure to set sRGB for the input color profile.
Note, the 2.Please
note the following information in connection with multi-pass rendering and After Effects
so that the passes rendered with Linear Workflow are interpreted correctly there.
Tip:For the impatient: You don't have to do anything else. With the option
Linear Workflow activated, everything is done in Cinema 4D to immediately benefit from the advantages of LWF. Cinema 4D thus sets everything internally to the correct values. You don't have to worry about anything else. Textures that are not displayed directly (relief, normal, alpha and displacement channels) are omitted.
Note that all internal Cinema 4D material colors and gradients are also changed directly in the preview. Of course, this can also lead to all sorts of confusion, as simple grayscale gradients, for example, look different than they used to.
The color value of 128,128,128 (
Linear workflow option deactivated) saved in a regular greyscale gradient at half length changes to approx. 192,192,192) when this option is activated. This behavior is CORRECT!
For those of you who are interested in the background, read the next section; for everyone else, enjoy the more beautiful pictures right now.
Details
Note: In order not to disrupt the flow of reading too much, the following sections always refer to images with a gamma of 2.2. Strictly speaking, this is not correct. They are equipped with such a gamma value that they work well with a monitor gamma of 2.2. This means that the images actually have a gamma of 1/2.2 = 0.45 (this is also often omitted in corresponding Internet texts in order to simplify the subject).
The whole issue of gamma values and the associated LWF is due to the simple fact that a renderer calculates internally with linear gamma (= 1), but it is fed a different gamma (usually 2.2, since macOS 10.6 also for Mac users, previously 1.8) as input (textures, shaders etc.), although it also expects gamma = 1.
As a result, the renderer basically calculates "more incorrectly" (in the sense of less physically correct) than it actually should.
If you now cry out: "Oh dear, have I only ever produced sub-optimally for the last 10 years?", the answer is a decisive "yes and no". If the end result is pleasing to the eye, then that's all well and good. However, over time you get used to the peculiarities of a renderer and work around the problem, so to speak. Maybe put a fill light here, change the color there to get the desired result, which might not have been necessary when using an LWF.
This is also the reason why old scenes do not automatically look better if you activate the LWF now. This is because they are designed to work well without LWF.
If you use old, existing, optimized light configurations again and again, you should adapt them when you switch to LWF. However, if you are satisfied with the rendering results, there is of course no reason to only use the LWF.
Why are there actually gamma values?
Monitors, for example, usually have a gamma value of 2.2. If you paint a texture in an image editing program of your choice, this image will be displayed with a gamma of 2.2 and also saved for this purpose. The vast majority of images that you have created yourself or that you find on the Internet have a gamma of 2.2.
Only with this gamma do images look good on an average monitor. This is due to the fact that images with a lower bit depth (8-bit and 16-bit) are stored in such a way that a brightness gradient is displayed that is satisfactory to the human eye. The eye is able to recognize finer gradations in dark image areas than in bright ones.
A gamma-corrected 8-bit image with gamma = 0.45 is displayed on a monitor (gamma = 2.2) with a gamma value suitable for the human eye. Eye linear brightness curve.
Renderers, on the other hand (including Cinema 4D), work internally with linear gamma gradients (i.e., gamma = 1; this is what the common algorithms want) and expect the same from the things they are fed with (textures, shaders, etc.). However, this has not been the case until now. The renderer would like gamma = 1, but gets 2.2. It is logical that deviations from the physically correct result occur.
As soon as the renderer has completed its work, it must reduce the color and brightness of the calculated image (unless it is saved in 32 bits - in which case the gamma adjustment is shifted to a subsequent processing step) and at the same time apply a gamma value (namely 2.2) so that the finished image can be displayed on the monitor in a meaningful way.
How does the LWF fit into the above? Quite simply, as soon as you activate the LWF, all elements required for the rendering process (textures, shaders etc.) are converted so that the renderer sees them with the required linear gamma (=1). After rendering correctly this time - the renderer also produces images with a gamma of 1 internally as a result - the images must be converted again to a gamma value that matches the output device (usually the monitor with gamma 2.2).
That, in a nutshell, is the whole "secret" of the LWF. If you would like to read up on the details of what has just been described, please refer to the freely available and highly recommended PDF "Be gamma correct!" by Martin Breidt (an Internet search for these terms will take you there). Don't worry about the fact that reference is made to another 3D program, the functionality is basically the same.
You can find the settings in the linear workflows use the "sRGB" color space. This is approximately equivalent to the gamma = 2.2 mentioned above, i.e., if images are saved for gamma = 2.2, this is usually sRGB.
"Simple" Color Mangement
General
Everyone has heard of it, but very few people understand it. This is not entirely unjustified, as entire books have been and are being written about this. Below you will find a brief introduction to the issue of color fastness.
You will certainly be familiar with the effect that an image that looks perfect on your monitor (the colors are exactly as you imagine them, brightness, contrast, tonal values, etc. are to die for) looks completely different, usually much worse, on your colleague's monitor or even printed out on paper.
Why is this?
Imagine colleague A, who has created the image in an image editing program. Logically, it works according to how its monitor presents the bitmap to it. At some point, colleague A decides that the picture is now complete and saves it. And this is exactly where it starts: The image editing program must save the colors in a reproducible color definition (namely the color space, usually RGB). A color profile is usually selected that corresponds to the output device, which is usually sRGB for monitors (but does not have to be!) for printers CMYK etc.
This means that the red value that colleague A sees on his monitor must end up as the corresponding RGB value in the file. It must be ensured that colleague A's monitor reproduces the colors exactly as the image editing program wants to display the RGB value. Colleague A's monitor should be calibrated for this. Monitors change their color representation over the course of their service life and should be recalibrated every 4 weeks for true, continuous Color Mangement. Regular recalibration also applies to all input and output devices that the image passes through (monitors, printers, scanners, etc.).
If all this is guaranteed, the image (created by colleague A) should look exactly the same when scanned on the monitor of colleague C (who received it as a printout from colleague B) as it does on the monitor of colleague A. Anyone who has ever tried something like this knows how impossible this is (in fact, 100% conformity is not even possible, since not all device color spaces can be converted into others without loss). But at least on different monitors, an almost one hundred percent match can be achieved.
Put simply, this is the problem that Color Mangement has to deal with. Basically, it's about continuous, clear color definitions within the creation process, through the editing process to the final display of an image.
And what does all this have to do with Cinema 4D?
The good news first: If you've never heard of Color Mangement, you create your renderings by eye: "Looks good. Once everything is ok you can ignore this functionality with a clear conscience (and leave all adjustable color profiles in Cinema 4D at the default sRGB ). Between you and me, "inexperienced" people often find it difficult to tell the difference between images that have been created entirely under Color Mangement and those that have been produced using pi * thumbs.
Note:Only change the color profile settings if you know exactly what you are doing. This sometimes changes all kinds of colors that have been familiar for years, which can lead to perplexed faces and smashed monitors. If in doubt, set sRGB everywhere again (see Figure below).
sRGB is the color space that has been used automatically for many years anyway, unless a different one has been explicitly defined. This is why, for example, 99% of all images found on the Internet are saved for this color space. Cinema 4D (<R 12) has also saved images exclusively for the sRGB color space.
For everyone else, the "Places" in Cinema 4D where color profiles can be set are now listed:
The most important color profile settings in Cinema 4D.
As you can see here, there are virtually 3 "interfaces" to/from Cinema 4D where color profiles (or device profiles) are evaluated:
- Textures: You can load bitmaps in various material channels or image nodes. The project preferences are used to set whether and how the color profiles of loaded textures are handled. You also define here which color space should be used if bitmaps do not have an integrated color profile. For individual channels (per bitmap shader) or image nodes, it is also possible to individually define how the bitmap should be handled.
Furthermore, there are some commands and locations within the BodyPaint 3D layout where color profiles can be changed (e.g., bitmap layer or change profile...).
- Monitor: set your individual (preferably calibrated) monitor device profile here. This is responsible for the color display of Cinema 4D on your monitor, i.e., what you see in color selection fields, in the Viewport, image manager, etc. This is also important when you consider how often you select colors within Cinema 4D
- Files: i.e., rendered bitmaps (videos rendered from Cinema 4D cannot be provided with color profiles); here you can define the output color profile that is stored in the file and is taken into account, for example, when opening in Adobe Photoshop.
A list of all image formats that can handle color profiles can be found in the appendix.
Input Color Profile
Details can be found under Color management (sRGB is correct in most cases).
Here you define 3 things:
- Should the embedded color profile of textures be used or not.
- Which color profile should be used for textures WITHOUT an embedded color profile?
- Which color profile should program color selection fields, color gradients, etc. have?
The text field below shows exactly what the selected option does.
sRGB
Linear
As long as textures have embedded color profiles, these options define how the color selection fields, color gradients, etc. are displayed in Cinema 4D. sRGB is the usual display mode (so always use this when in doubt). Linear is the unusual option that is more difficult to operate.
Off
In this mode, embedded color profiles of textures are NOT taken into account, but an sRGB color space is always assumed. If the Linear workflow option is deactivated at the same time, this corresponds to the mode known from earlier Cinema 4D versions (< R 12).