Hi!
I can confirm that this bug is still present on Corona 1.5.2, because it was driving me crazy whole day yesterday.
I'm just learning Corona and at first I thought that I was doing something wrong. I tried all possible combinations of exposure control - Simple, Photographic, CoronaCameraMod - all of them seem to be broken.
And the core reason for this, as far as I understand, is
this weird MSI related stuff. I have no idea why did you have to program it that way, but this kind of behavior effectively destroys the whole idea of "on-the-fly" exposure control in some cases.
The side-effect of MSI behavior from the link above is unpredictable and unrealistic lighting and exposure in some cases and completely unusable interactive renderer.
NOTE: Bug is present with default MSI = 20, and other values except 0. With MSI = 0 everything seems to be OK (or difference is not that significant, I didn't investigate it deeper)
So here is basically what happens and how to reproduce all of this:You need an interior scene with window covered with a curtain. It will make your scene pretty dark and you'll need to compensate it with Exposure. Curtain is translucent, which makes it main source of lighting.
Production/Interactive Render + Simple Exposure1. Render an image with Exposure = 0
2. Stop rendering.
3. Adjust Exposure to about +2.5...3 in Corona VFB
3.a. Not necessary: At this moment man might decide to adjust something and re-render region or the whole image. But this is not necessary to reproduce the bug.4. Select region OR save current image for future comparison OR just remember overall image brightness (the difference will be very noticeable).
5. Don't touch the Exposure, leave it as it was set in step 3. Render again.
6. New rendered image (or region) will have almost the same brightness as in step 1, despite the fact that now you have Exposure of +2.5...3, not 0!
This effect has tendency to build up. Just bump up exposure to ~6, to get brightness as in step 3. Stop, render again - and you're back again to underexposed image from step 1! Now you need to increase exposure to ~9. You have to reset Exposure to 0 every time before rendering to avoid it, otherwise constant increasing of Exposure will lead to light clamping (image #7).
Interactive Render + Simple Exposure1. Start rendering with Exposure = 0
2. Adjust Exposure to about +2.5...3 in Corona VFB
2.a. Add render region for easier comparison3. Change something in the scene/material
4. Corona restarts interactive render because some changes were made. Brightness of the current render region becomes the same as in step 1.
Interactive Render + Photographic ExposureSame as previous case. Instead of step 3 adjust some camera setting (e. g. ISO in CoronaCameraMod). Exposure of image in VFB changes, but after a moment Corona restarts interactive render (because adjusting camera settings is considered a change to a scene) - and you get the same image with that "default" exposure. No matter which exposure settings you use - realistic or ridiculously high/low - it will refresh VFB and show you the same exposure.
P.S. I was doing some tests while writing this post. Seems like it just clamps very bright secondary GI because of MSI, therefore making the picture darker every time. And the more you increase exposure - the more light will be cut out by MSI.
Here are some quick interactive renders.
1. Initial EV=0. After render EV=0, Highlight Compression(HC)=1
2. Initial EV=0. After render EV=2.5, HC=2.5
3. Initial EV=2.5. After render EV=2.5, HC=2.5
4. Initial EV=2.5. After render EV=4.5, HC=4
5. Initial EV=4.5. After render EV=4.5, HC=4
6. Initial EV=4.5. After render EV=6.5, HC=4
7. Initial EV=10. After render EV=10, HC=9
My main source of light in this scene is Corona Sun + Sky (mostly sky). But it passes through translucent curtain, making this curtain main source of light for the room. Clamping the brightness of this curtain leads to completely unpredictable and unrealistic results, as you can see on picture 7, where bumping up EV effectively killed natural lighting and reduced its brightness to a lower level than a 450 lumen light bulbs.
As I understand having some "initial exposure" is essential for MSI to work. In that case user should be able either to lock this initial exposure at some standard value (e. g. EV = 0) in each particular scene or there should be a separate option for initial EV, which can be set manually by user and which will be completely independent from Postprocessing Exposure. Otherwise you get unpredictable lighting behavior and exposure in each render in scenes where secondary GI lighting is the main source of lighting.
I know that using such lighting is slow and it can be faked with invisible light planes etc., but using Corona we are talking about maximum realism, don't we? But what is more important - the fact that current Corona's behavior is counter-intuitive and produces unpredictable results.