|原帖：http://www.highend3d.com/3dsmax/tutorials/rendering/vray/147.htmlLinear Workflow in 3DSMax and VRayUsers of other apps/renderers, I am starting to put pertinent info at the bottom of the pageHave you ever wondered why your GI renderings start out so dark? Well, in fact they are not so dark. The problem lies with the display device (the CRT or LCD) and that the software is not making adjustments for the gamma that the displays put on our images. That gamma is specifically called »sRGB. Technical information about sRGB can be found at that site.
Let’s take a look at what your monitor does to image data you send it. This is called non-linear a display. The spotted green line here is the data you are feeding the display and the solid green line is what response the monitor has normally.
What’s important to note here is that this correction is not just for filmic response. In fact, it has almost nothing to do with filmic response. It’s essentially correcting for the display. Those of you working for video (aka not film) don’t worry. This applies to you as well. The rec.709 curve is -very- similar in nature.
Ok, that’s nice and all but now you want to know how to solve this problem. Yes, it’s a problem 🙂 Well, friends, we apply a curve that takes the data and “linearizes” it. That means we negate what the monitor does. Here is the curve. Once again, the spotted line is the data we are sending to the display. The solid line, this time, is the correction that’s made for the non-linear display.
To explain a bit further…sRGB is the correction your software makes for the non-linear response that your monitor has. Your digital camera applies an sRGB lookup to your photographs but you may not even know it. So, when you work in true linear space you are actually working in a space that represents more what light does in the real world. Let’s show you what I mean by that with yet more graphs but with a gradient this time.
This is a 0 to 1 ramp with 32 steps. Notice the 0.5 value is in the middle. This is the original image data as sent to your monitor. This is a linear image!
This is what your monitor does to the image. The .5 we had before is certainly not .5 anymore. This is your non-linear monitor.
This is the correction we put on our viewing system to correct for the monitor’s display. Yes it’s much brighter. However, this is needed to correct for image #2 which makes the display turn your gradient back into the original linear image.
Keeping on with the flow of information, check out another test to show you what linear is all about.
Here are two images. The grey swatch in the center or each image has a value of .18 (the mid grey point) in the 3D app. The one on the left is gamma encoded to sRGB, where the one on the right is linearized via the sRGB monitor correction. This turns the grey into .46 which is the spec for sRGB.
Gamma Encoded image Notice the total lack of shadow detail
Linearized Image Notice the amount of detail we gain!
If you want to get a copy of the max file (it’s using vray but doesn’t require it) go here: sRGB_Linear_demo.zip
Let’s get into the meat of the 3D app in question : 3DS Max 7.0 and VRay 1.46.xx.
For this example I have provided a scene that I used for testing : linear_demo.zip
Here is a scene prepped for Brazil by Rune Spaans : linear_demo_brazil.zip
You will need the »Greeble plugin to properly open this scene.
The first result we get from this render is so:
Now, we must linearize this image if we are to get more of a photographic response. What am I talking about? Well, look at the amount of light hitting those objects. It seems that with 1000 GI bounces that we’d see a bit more detail right?!? YES! Let’s get to that stage now.
First go to Customize -> Preferences -> Gamma tab and change the values to:
This allows us to see correct linear values in the material editor and the original max render view.
* Brazil users, you’re pretty much done. Go to the end of this page for the rest of the Brazil settings.
* Mental Ray users – you are done! Now you’re working in a more correct linear method.
* Scanline render users – you are also done. You’re linear all the way now.
Now, for the VRay part, go to the VRay renderer menu and in the Frame Buffer rollout change a few things:
Why did we do this? Well, the VRay vfb allows us to do some post render color correction to the image. Thanks to Vlado and the rest of the dev team for these changes!
Next be sure to turn off any color clamping in the GBuffer/Color Mapping rollout:
Now, do a quick render to get your VRay vfb up. Once you do we need to turn on a few things.
First, click on the curve correction and then open the color correction panel
The basic color correction panel looks like this. We’ll be changing that of course…
Start by right clicking on the lower point of the curve and pick the bezier smooth option
Now, drag the tangent point to where is indicated here. Important!!! Make sure your numbers at the top read like what I have.
Right click on the high point of the curve and change it to reset tangents.
This may not be exactly the correction for sRGB but it’s pretty darn close.
Now look at your image:
What we’ve done is apply the correction for sRGB on your image (aka we’ve linearized the image). The viewer is doing this because that’s its job. This is a linear response and also shows the HUGE amount of detail truly visible in this render.
We are now looking at an image that is perceptually linear. You’ll notice that without tons of multiplying of the colors using the Color Mapping option we get a lot of detail in the dark areas.
So, there you go. Working in linear space means that you get a more realistic look and that your lighting will actually be more correct and true to what a real camera does. This should allow you to achieve your desired results with more ease and possibly faster render times too.
Other Apps Info
Maya / Mental Ray
For you Mental Ray/Maya users, go to the Render Globals and click the mental ray tab. Go to Framebuffer Attributes and change a few things:
In the Brazil render settings, go to the General Ottions rollout and make sure your setting match this
Now, inside the vfb, open up the exposure/color panel
Set the gamma to 2.2
Questions or comments can go here :