|
|||||||
![]() |
|
|
Thread Tools |
|
|||
|
I put together the following render using information from Yves Poissant's tutorial on Tone and Gamma Corrections
These are the nodes and settings I used to produce the above render. There is one area lamp (ray shadows) shining down from above and four spotlamps (no shadows, no specular) shining in from the sides to simulate bounce light. Here is the render with no gamma or tone corrections.
............................................
Work in Progress: Another female model--- Getaway Airship Finished Project: Treasure Chest -- Laser Platform -- The Watcher -- Chess Set Blender Tests: Bone Roll Angles and Joint Deformations -- Tone and Gamma Corrections |
|||
|
#1
|
|||
|
|
|
||||
|
Cool! I need to start experimenting more with the nodes editor. I should do that tomorrow and post my results here. In the meantime, here are a few observations:
The 'S' curve is supposed to compress the dynamic range. This assumes that the dynamic range is 1 or 2 f-stops higher than a normal render. In the chess render, it does not really matter because there are no strong highlights. But in a render with strong highlight, the exposure would need to be dropped by 1 or 2 f-stops. That would be accomplished with a multiplier node or a curve node with a straight curve. You use a gamma of 0.76, probably trough experimentation and eyeballing the result. Just for info, the reverse of gamma 2.2 is gamma 0.45 (1/2.2). This said, your results are very good. |
||||
|
#2
|
|
||||
|
I should really be sleeping instead of doing that but it is fun.
I worked with the same render I used in the tutorial to get a point of comparison. Here is a setup I find works well. The render was output to OpenEXR and there were several places where the highlights had higher dynamic range than normal 8-bits colors. This is a case where the exposure needs to be reduced. The first curve in the pipeline reduces the exposure by one f-stop (one half the original intensities). Even though the exposure was reduced, there are still visible cliping in the highlights but that should be good enough for now. Here is the result after the first curve: The second curve is the 'S' curve. The upper-right part of the curve flattens the highlights and the lower-left part adds punch in the shadows and dark areas. Also, notice that the curve's upper elbow arrives at the middle point in the chart. This is to retrieve the loss exposure from the previous curve. But because of the elbow, that brings some highlight dynamics back in the image. This upper elbow, in the curve is only really necessary when the exposure have previously been reduced. Here is the result: Then the gamma correction is applied. I used a gamma of 0.45. And here is the result: At this stage, I would tweak the 'S' curve until I get the best contrasts. If I were to composit a render with a photo I would try to figure the total digital camera transfer curve and implement that in one single node instead of using a 'S' curve and then a gamma correction. The first curve is really just an exposure compensation. Blender node editor is really cool for that sort of things. |
||||
|
#3
|
|
|||
|
I tried rendering to OpenEXR and discovered the only program I had that could display the output was Blender. More downloading to get the OpenEXR utilities...
So, with the corrections (thank you, ypoissant ) to the RGB curves:And here are the nodes Now, to add some DOF...
............................................
Work in Progress: Another female model--- Getaway Airship Finished Project: Treasure Chest -- Laser Platform -- The Watcher -- Chess Set Blender Tests: Bone Roll Angles and Joint Deformations -- Tone and Gamma Corrections |
|||
|
#4
|
|
||||
|
Why do you export an EXR image first?
When an image has float colors, all imaging functions in Blender default to use that (EXR). This includes the Video Sequence Editor, texture mapping, background images, and the Compositor. http://www.blender.org/development/r...ange-graphics/ |
||||
|
#5
|
|
||||
|
Hmm.. I gottas be honest, though the final image in the bedroom scene looks pretty realistic, the second to last(though a tad too dark) is more visually pleasing imho.
Great information though, good to know.
............................................
threadless.profile | shirt and print designs my.flickr ((yoj.song)) | music.project |
||||
|
#6
|
|
||||
|
Right. You don't need to export to EXR first. In my case, the image was already rendered and saved to EXR format. This said, I would not advise saving images with tone correction on them. Even in EXR (especially in EXR I should say since OpenEXR data is HDR and should be kept linear). The tone correction post processing step should always be done as the very last step before outputing a final image. Every compositing or color tweaks is better done on linear color data.
|
||||
|
#7
|
|
|||
|
Orinoco's second test, to me didn't seem like it did anything.
I liked the top image on the first post the best, the other chess images look kind of dull or parts are too dark. |
|||
|
#8
|
|
||||
|
Orinoco, is this chess set downloadable somewhere? I'd like to do some texture and lighting tweaking on it to explore and show what tone correction can do with it.
|
||||
|
#9
|
|
|||
|
Now it is. Here's the blend. If anyone wants to play chess by blender, post a render of your opening move in Off-topic. ypoissant, I'm looking foreward to your explorations.
............................................
Work in Progress: Another female model--- Getaway Airship Finished Project: Treasure Chest -- Laser Platform -- The Watcher -- Chess Set Blender Tests: Bone Roll Angles and Joint Deformations -- Tone and Gamma Corrections |
|||
|
#10
|
|
||||
|
One thing I never realy understood. Everything in Blender is calculated with 32 Bit "under the hood", but it`s displayed as RGB. So there must be a kind of tonemaping to minimise the color range from EXR to RGB before (!) it is displayed on the monitor. I may be wrong but when you minimise the color range with RGB Curves, you are changing the range of colors that are already minimised. And if we were working on "EXR level", why it`s called RGB Curve. Shouldn`t it be EXR Curve?
How i said, I never realy understood how Blender is working on this field. Last edited by Toni Grappa; 12-Mar-08 at 10:41. |
||||
|
#11
|
|
|||
|
I tried rendering to an OpenEXR file because Yves mentioned the format in his tutorial and I'd never tried it before. Then I tried to look at it in my favorite do-everything image viewer (IrfanView) which reported: can't read this one.
As to what the developers are doing "under the hood" I haven't a clue.
............................................
Work in Progress: Another female model--- Getaway Airship Finished Project: Treasure Chest -- Laser Platform -- The Watcher -- Chess Set Blender Tests: Bone Roll Angles and Joint Deformations -- Tone and Gamma Corrections |
|||
|
#12
|
|
||||
|
Quote:
This is a convention that dates back to when CG shading models were developped in the 60's and that persisted with us to this day. Basically the hack equations that were developed produced values between 0 and 1.0 and it was conveniently accepted that 0 would represent black and 1 would represent white. All CG applications that followed were then constructed on those basis. This worked well for years and still works well for most 3D jobs. But this simplification shatered up when researchers started exploring radiosity and Global Illumination. These guys could get values much higher than 1. But still, for displaying that on a screen or for printing that, the convention that 0 represented black and 1 represented white was very convenient and was kept. And since computer display and printed paper have limited dynamic range anyway, cliping the values higher than white (1.0) made perfectly sense. But those global illumination rendering techniques brought questions regarding this convention. What is white? The perception of "witheness" depends on the lighting environment. In traditional CG environmnt, the artist tweaks the lighting parameters until it looks good. It have nothing to do with real physics. But GI renderer do care about those issues. And GI, while trying to simulate real physical light, will also come up with render values way above 1.0. Just like in the real world. So what do we do with those values? How do we represent them? This is where tone correction or tone mapping comes in. They are techniques designed to simulate how the human eye perceives light. The GI renderer takes care of calculating a physically accurate simulation of lights in the scene and the tone mapping takes care of how the human eye perceives this illumination. "Tone mapping" is a much more advanced set of techniques than "tone correction" BTW but they are related. Tone correction is nothing new. We've been living with that for years with the photographic film tone curves. Nobody knew except the designers of photographic films and the professional photographers or TD in the film industry. Tone correction have been used in TV since its early deployment but nobody in the general public care. The general public just watch TV or photos or film without having to know all the intricate technical issues that were behind to make them look right. Tone correction and tone mapping in 3DCG is the introduction of tone correction techniques that have been used for years in photography, film and TV. It is intended to make 3DCG renders more realistic. And it goes well beyond the simplstic hacks that were the foundation of CG. For 3DCG artists, this issue is moot most of the time because the render is made to look good anyway and there is very little control on the final output device characteristics so there is very little control on how the final wiewer will actually see the final render. Some will see it too dark and some will see it too washed out and some will see it as intended by the author. But so is life in the CG world. Well, the sRGB standard for computer display is intended to change that uncertainty about how the final viewer will see a final render. It's already been adopted by the big industry but it is still very little known by the lone 3DCG artists. Quote:
We are not minimizing the color range actually. We are expanding it by compressing the bright lights and the very dark shadows to bring the mid values, which are the most interesting part of the image, into the center of the medium's dynamic range. Quote:
|
||||
|
#13
|
|
||||
|
Thank you very much for you explanations.
Some more hints: Quote:
http://www.3drender.com/glossary/colortemp.jpg Quote:
Quote:
http://www.eci.org/eci/en/ This is totaly offtopic but when I have to make a selection in PS, I often change to LAB modus. This creates better and more accurat results than in RGB. Anyway - very interesting topic. But - you were cutting of nearly 50% of the luminace range in your example. This makes me freeze ![]() Like allways - sorry for my poor english. |
||||
|
#14
|
|
||||
|
can I steal this thread for the wiki? Color Gamma node
............................................
i<3 Blender, and vandalizing the wiki. My creative website, my public website (in progress), my book, my complete learning Blender video series. and my Vimeo compositing video series. |
||||
|
#15
|
|
||||
|
IŽam preparing an article too
|
||||
|
#16
|
|
|||||
|
Quote:
Quote:
IMO, once we start to use HDRI for background, environment, reflections or IBL in 3D scenes, thn working with a linear workflow is almot a requirement. Quote:
It would be interesting to get those curves in node form so we could apply them to our renders in Blender. In the meantime, the gamma 2.2 curve is the next best thing we can use and it is relatively easy to use and apply. Quote:
Quote:
What I was doing there is reducing the exposure by 1 f-stop to bring in the highlights in the scene. If I were to reduce the exposure by 2 f-stops, I would bring the right point on the curve down to 1/4. I could have done that, actually, to this scene because it does have enough dynamic range for that but 1 f-stop was enough for the demonstration. BTW, this would be easier if I had an "exposure" node. You may visualize the curve to continue straight outside the sqare window it is displayed and go get the highlights there outside. Then, once I brought the highlights in this way, I flatten those highlights with the second 'S' curve. The 'S' curve have 3 purposes : 1) Flatten the highlights while still keeping as much of them as possible, 2) restore the reduced exposure that was necessary to get the highlights in and 3) torque the shadows a bit. Notice that the flat part of the 'S' curve recompensates back for the reduced exposure because, overall, it does exactly the reverse of the exposure curve. Remember that we are working with real values. Not with quantized 8-bits values here so we loose nothing by doing those operations. |
|||||
|
#17
|
|
||||
|
@PapaSmurf, Yes. you may use that for the wiki. And I also collect those discussions as notes for future update to my tutorial.
|
||||
|
#18
|
|
|||
|
Steal away, PapaSmurf. My main contribution has been to get the experts talking.
............................................
Work in Progress: Another female model--- Getaway Airship Finished Project: Treasure Chest -- Laser Platform -- The Watcher -- Chess Set Blender Tests: Bone Roll Angles and Joint Deformations -- Tone and Gamma Corrections |
|||
|
#19
|
|
||||
|
Here is a render of the chess scene. I see that I cannot attach blend files so I will have to post the modified blend file to my web site later. I removed the 4 surrounding lights and used AO instead. And I also reverse corrected the two wood textures and the flat colors. And I also changed the ligh color but it is currently too orange-ish.
BTW, I did the texture reverse corrections in PS but it would be nice if I could do that inBlender through nodes. Is that possible and if yes, how? I would like to apply a reverse gamma correction to the image file before is is used as texture. |
||||
|
#20
|
![]() |
| Bookmarks |
| Thread Tools | |
|
|