This is a detailed description of the work with Gamma 2.2. If you are only interested in exact instructions of how to use Gamma please look at "Gamma 2.2 Tip" in the Tips'n'Tricks section.

 

Many artists, especially those who faced the rendering of the interiors noticed that with physically correct formulation of the lights there is an overall dark-fetched result in illumination. That is noticeable in the corners and on the shadow side of objects especially.

Everyone tried to deal with this issue in different ways. Beginners immediately tried to correct this by simply increasing the brightness of lights.

This approach brings some results increasing the overall illumination. However, it also led to no less unlikely overbrights made by these light sources. This does not alter the situation with unrealistic image. One bug of darkness (in the hard-to-reach for light places) is replaced by another bug of overbrights (near the light sources).

Someone used more complex ways to "solve" the problem by adding extra lights, and making them not visible to the camera so dark places were simply illuminated. However, with this way no physical accuracy and realism of the image could not be considered. Along with lighting of the dark places, shadows disappeared and was the impression that the scene objects are flying in the air.

All of the above ways of dealing with implausible darkness rather more literate than subtle :)

The heart of the problem of dark renders is in that the image and monitor gamma values are different.

Gamma is the degree of nonlinearity of the color gradient from dark to bright values. In mathematical point of view the linear gamma value is 1.0 and this is why software such as Max, V-Ray by default performs calculations in the gamma 1.0. But the gamma 1.0 value is consistent only with the «perfect» monitor, which has a linear dependence of the display from white to black. Because there is no such monitors, the actual gamma of devices is nonlinear.

The gamma value for the video standard NTSC is 2.2. For computer displays the gamma value is typically between 1.5 and 2.0. But for convenience the nonlinearity of the color gradient on all screens is considered as 2.2.

When the monitor with gamma 2.2 shows an image with a gamma 1.0 we get dark gamma 1.0 colors instead of needed gamma 2.2 bright ones. So the middle-range colors (Zone 2) become dark when viewing the gamma 1.0 image with the gamma 2.2 output device. However, in range of dark tones (Zone 1), gamma 1.0 and 2.2 representation is quite similar, what lets to display the shadows and black colors properly.

In the areas of light tones (Zone 3) there also are the great similarities. Therefore, bright gamma 1.0 image is also quite correctly displayed on the gamma 2.2 monitor.

And so, in order to get at the appropriate output in Gamma 2.2 the source image gamma should be modified. Surely this can be done in Photoshop, simply by adjusting gamma there. But each time to change the image settings, saving them to your hard disk, and editing in raster editor can hardly be called convenient. Because of that we will not consider this option, and in addition this method provides an even more significant deficiencies. Modern renderers, such as V-Ray, calculate the image adaptively, so the calculation accuracy depends on many parameters, including the light brightness in the area. Therefore, in the shadow areas image is calculated less accurately and become noisy. And in the bright and visible areas the calculation passes with more accuracy and with minimal artifacts. This allows faster renders due to the saving time on a slightly visible areas. By raising the output image gamma in Photoshop you change the brightness of those parts, which renderer considered as a less significant and reduced the quality of a calculation. Thus, all unwanted artifacts become prominent, and the picture will look awful, but more bright than before :) In addition the gamma of textures also will change and they will look pale and discolored.

The only correct way out of this situation is the changing the gamma value in which the renderer is working. That way you will get an acceptable brightness in the midtones and there will no obvious artifacts, as when changing gamma in raster editor.

We will show you how this is done in V-Ray renderer and 3ds Max.

To change the gamma in which the renderer will work with it's enough to find drop-down tab named "V-Rray: Color mapping" in the "V-Ray" tab on the "Render Scene:" (F10) window, and set the value "Gamma:" to 2.2.

A feature of V-Ray renderer is that the color mapping gamma correction works in the V-Ray Frame buffer only, so if you want to see the results of your manipulation with gamma it is necessary to turn on frame buffer on "V-Ray: Frame buffer" in the "V-Ray" tab.

After this the resulting rendered image will be with needed gamma 2.2, with a normal lit midtones. Yet another disadvantage is that the textures which are used in the scene will be lighter and will look discolored and faded.

Almost all textures we use have a normal appearance on monitor. That is because of they are already adjusted by the monitor and have a range of 2.2 initially. In order the renderer to configure a gamma 2.2, and to not to set image gamma at 2,2 × 2,2 value, textures must be in the gamma 1.0. Then, after their correction by renderer their gamma will become 2.2.

You can make all textures darker, by setting their gamma from 2.2  to 1.0 in raster editor, counting on further lightening by renderer. However, that approach would be very tedious and will require time and patience to ensure that every texture in the scene are in 1.0 gamma, and secondly it will make impossible the viewing the textures in the normal gamma because they will be shaded at that time. 
To avoid this, just force them to adjust the 3ds Max input. Fortunately this 3d editor has enough settings as for the gamma. Gamma settings available from 3ds Max main menu:

Customize <=> Preferences ...<=> Gamma and LUT

The main 3ds Max gamma settings are in the "Gamma and LUT" tab. In particular, we need input texture correction setting named "Input Gamma". We should not delude ourselves that there is a default value of 1.0. This is not the adjustment value, this is an input texture gamma value. By default it is considered that all the textures is composed in a gamma 1.0, but in reality as previously mentioned they are at gamma 2.2. And that what we must specify the 2.2 instead of 1.0 default value.

Don't forget to enable "Enable Gamma / LUT Correction" checkbox to access the gamma settings.

Images made with that gamma settings look much better and more correct than those that were obtained by using the settings described a little earlier. They have correct midtones, there are no overbrights near the lights and no artifacts in slightly lit areas. In that way textures will also be saturated and bright.

It seems that's all, but finally we would like to tell about one more thing in the work with gamma. Since the renderer operates in a unusual gamma we got to set 3ds Max display mode to gamma 2.2 for "Material Editor" and "Color Selector" colors to become correct. Otherwise there may be a confusion, as the apparent tuning of materials will be produced in gamma 1.0, but actually inside the program it will be transformed into gamma 2.2.

To set the correct display of materials in the "Material Editor", you should use the settings in the "Gamma and LUT" tab. For this the 2.2 value of Gamma in "Display" segment and checkboxes "Affect Color Selectors" and "Affect Material Editor" in a "Materials and Colors" segment must be set.

Gamma 2.2 has become the standard for many 3d professionals working with 3ds Max and V-Ray. We hope that this lesson will help you to correctly configure your workflow in 3d!

NOTE

For the theoretical correctness the expressions "in gamma" or "at gamma" should be read as "for gamma". So, the expression "image in gamma 2.2" or "image at gamma 2.2" means nothing but "image for presentation by a system with a decoding value of γ equal 2.2".

Check out detailed Gamma 2.2 correction theory, clearly explained by maxattivo.

【转】http://renderstuff.com/using-gamma-2-2-cg-tutorial/

【转】Using Gamma 2.2的更多相关文章

  1. (视频)Erich Gamma 与 Visual Studio Online 的一点野史

    大家对Erich Gamma的熟悉应该都集中在<设计模式>, Eclipse以及最近微软所发布的Visual Studio Code跨平台代码编辑器.其实在Erich加入微软的头几年里,他 ...

  2. Gamma函数是如何被发现的?

    学过微积分的人,肯定都接触过Euler积分,按教科书上的说法,这是两种含有参变量的定积分,但其实没那么玄乎,它们只是两个函数.其中第一型Euler积分叫\(B\)-函数,第二型Euler积分叫\(\G ...

  3. Gamma校正与线性空间

    基础知识部分 为了方便理解,首先会对(Luminance)的相关概念做一个简单介绍.如果已经了解就跳到后面吧. 我们用Radiant energy(辐射能量)来描述光照的能量,单位是焦耳(J),因为光 ...

  4. Excel 使用CHIINV函数和GAMMA.DIST函数绘制卡方分布

    1.使用CHIINV(概率,自由度),在Excel中绘制卡方分布. 若n个独立的随机变量均服从标准正态分布,则这n个随机变量的平方和构成一新的随机变量,其分布规律称为服从自由度为ν 的χ2分布. 2. ...

  5. Gamma校正与线性工作流

    1 Gamma校正是什么?8位亮度值x(0-1)经过x^0.45的一个提亮过程. 2 为什么需要Gamma校正 人的眼睛是以非线性方式感知亮度,在自然界中,人感觉到的一半亮度其实只有全部能量的0.2, ...

  6. Gamma Gamma~!!!

    左图是没有进行gamma矫正的,右图是进行了gamma矫正的.以前一直以为是Tone Map的公式计算有问题,后来看PBR的paper时候,终于明白了gamma的重要性,一改,果然发现颜色不想以前那么 ...

  7. 线性空间光照(即Gamma)

    在渲染管线中正确使用Gamma校正是决定渲染效果的一个非常重要的因素,现在商业引擎包括很多国内引擎都已经是在线性空间计算光照.当然也包括我们之前公司设计的引擎.关于gamma校正的定义可以查看wiki ...

  8. LDA-math-神奇的Gamma函数

    http://cos.name/2013/01/lda-math-gamma-function/ 1. 神奇的Gamma函数1.1 Gamma 函数诞生记学高等数学的时候,我们都学习过如下一个长相有点 ...

  9. 【图形学】我理解的伽马校正(Gamma Correction)

    http://blog.csdn.net/candycat1992/article/details/46228771/ 写在前面 我相信几乎所有做图像处理方面的人都听过伽马校正(Gamma Corre ...

随机推荐

  1. Photo Kit 框架

    http://geek.csdn.net/news/detail/56031 http://www.jianshu.com/p/9988303b2429 http://blog.sina.com.cn ...

  2. 在mahout安装目录下输入mahout 提示 ERROR: Could not find mahout-examples-*.job

    错误:ERROR: Could not find mahout-examples-*.job in /home/grid/mahout-distribution-0.8 or /home/grid/m ...

  3. linux安装eclipse

    1  采用ssh无法运行eclipse, 错误如下: Autolaunch error: X11 initialization failed.\n,  打开日志文件: org.eclipse.swt. ...

  4. Python操作文件文档

    需要帮老师将44G的图书分类一下,人工当然累死了.所以用Python大法处理一下. 思路是读取文件目录下的书名,然后去百度百科查分类,如果还没有就去豆瓣,当当查.哪一个先找到其余的就不用找了.如果没有 ...

  5. ZeroMQ - 三种模型的python实现

    ZeroMQ是一个消息队列网络库,实现网络常用技术封装.在C/S中实现了三种模式,这段时间用python简单实现了一下,感觉python虽然灵活.但是数据处理不如C++自由灵活. 1.Request- ...

  6. NOSCRIPT标签的用处

    NOSCRIPT标签用来定义在脚本未被执行时的替代内容.也可以用在检测浏览器是否支持脚本,若不支持脚本则可以显示NOSCRIPT标签里的innerText. eg:<body> ... . ...

  7. Scala初探:新潮的函数式面向对象语言

    Scala的基本概念 先讲讲Scala里头几个概念Classes, Traits, Objects and Packages. Class和Java中的很像,只不过Scala中Class不能有stat ...

  8. MySql数据库主主同步配置步骤

    测试环境:  192.168.1.192  192.168.1.193    mysql5.2     配置192服务器:  /usr/local/mysql/bin/mysql -uroot -p ...

  9. IE6 IE7 不支持 JSON

    最近发现ie6.7不支持json,解决方法:引入json2.js     <script type="text/javascript" src="json2.js& ...

  10. Altium Designer 画"差分线"

    Altium Designer 画"差分线" 如何在 Altium Designer 中快速进行差分对走线1:在原理图中让一对网络前缀相同,后缀分别为_N 和_P,并且加上差分队对 ...