Corona Renderer Forum

General Category => Tutorials & Guides => Topic started by: maru on 2013-06-13, 20:41:12

Title: Albedo vs render time
Post by: maru on 2013-06-13, 20:41:12
Ok, here is the promised test with some more information. Its purpose is to check the relation between material's albedo and render time and consequences of adjusting scene exposure to new conditions.

How I made it: I started with a scene composed of a large room-like box, one camera, one Corona light and 3 objects.

There were 2 materials in the scene:
-01 - diffuse colour set to 255,255,255 - assigned to room object, the egg and the pony
-02 - diffuse colour set to 0,0,0 and reflection set to 0,5 to find out how different settings will affect reflections - assigned to the teapot

Corona light's intensity initially was set to 1.0.

Exposure compensation in Post processing rollout initially was set to 1.0.

Gamma initially was set to 2,2.

Material 01 initially had diffuse level set to 0,5.

MSI was set to 0 for an unbiased rendering. There were 15 passes for each rendering.

After each render I changed these values:
-material 01's diffuse level to 1/2 of previous value
-light's intensity to 1/2 of previous value
-exposure compensation to 2* previous value
-gamma experimentally to more or less match previous render's overall look

Note: I'm not sure if it was properly executed. For example: should I change material's albedo AND light's intensity and then double exposure compensation or ONLY material's albedo and then double compensation? Or maybe if I reduce by half the material's albedo AND light's intensity I should square exposure compensation??? I'm not smart enough for this so please correct me if I've done something stupid. :) Anyway, it gives some information on how changing albedo affects final output.

There is also one render with diffuse level of 0,8 and other values adapted accordingly.

The file names are as follows:

05x1x1.jpg

0,5 - diffuse level
1 - light intensity
1 - exposure compensation



00625x0125x8.jpg

0,0625 - diffuse level
0,125 - light intensity
8 - exposure compensation

etc
Title: Re: Albedo vs render time
Post by: DeadClown on 2013-06-13, 20:54:48
Thanks a lot for your effort maru! :)

I'm not sure but isn't this all about energy reduction? If you have a pure white material it will need way more bounces to be dark enough to be ignored - thus the very white materials are more noisy after a lot more time (since they are bouncing a lot more).
This afterall means that, as you're decreasing the intensity, bounces will decrease and you loose GI information.
(Again, this is just what I think this is all about ;)  )
You can see the increasing contrast (decreasing information) in the shadow areas. So, in my opinion, white areas should be white, but not too white to cause an unrealistic energy conservation, and not too dark to get ugly and (again) unrealistic contrasty.
Title: Re: Albedo vs render time
Post by: Polymax on 2013-06-13, 21:00:40
Thanx for your job, very useful! I will keep it for myself.
Title: Re: Albedo vs render time
Post by: Stanislav_But on 2013-06-13, 21:04:41
thanks for done job
Title: Re: Albedo vs render time
Post by: maru on 2013-06-13, 21:39:45
Yeah, I forgot about conclusion but DeadClown basically wrote it for me. :) More whitness = more time to calculate bounces. More darkness = less time to achieve 0 energy. More darkness = more contrast and cool sharp shadows.

This made me think: maybe some more fakes would be useful? Like a "cutoff" that would stop calculating bounces after certain threshold is reached (or maybe this is already implemented? MSI?). This would be also useful for reflections, like in vray. But I don't even know if it would work with Corona.
Title: Re: Albedo vs render time
Post by: Ludvik Koutny on 2013-06-13, 22:18:01
Implementing something like cutoff for progressive algorithms may be a bit tricky. Even in Vray, it's progressive parts have this kind of limitations, for example light cache:

http://www.spot3d.com/vray/help/200R1/render_params_lightmap.htm

^ Take look at the second paragraph in the Notes section at the bottom of this page ;)
Title: Re: Albedo vs render time
Post by: maru on 2013-06-13, 22:52:08
Nice. So Chaosgroup noticed it too. ;)

Title: Re: Albedo vs render time
Post by: Ondra on 2013-06-14, 00:08:52
the cutoff you described is basically the max ray depth, isn't it?
Title: Re: Albedo vs render time
Post by: cecofuli on 2013-06-14, 10:17:25
In VRay I always used as white colur 150,150,150, as Vlado suggest. And I do the same with corona.
Title: Re: Albedo vs render time
Post by: maru on 2013-06-14, 10:27:18
the cutoff you described is basically the max ray depth, isn't it?
Yes, I think it is. But could it be material-specific?

And by reflection cutoff I mean giving up on rendering reflections after some threshold of reflection strength is reached. You can find this in vray. It's on by default (set to 0,01 as far as I remember) and can fuck up your rendering if you don't disable it but it can be useful for speeding things up. Don't know how to describe it so here is my poor drawing.
Title: Re: Albedo vs render time
Post by: Ondra on 2013-06-14, 10:31:24
hm, this is exactly the type of arbitrary ad-hoc extra parameter that is not needed and only complicates things, so I really dont want to implement it ;)
Title: Re: Albedo vs render time
Post by: maru on 2013-06-14, 10:54:20
Ok. Understood.
Title: Re: Albedo vs render time
Post by: VadoZe on 2013-10-17, 19:20:21
But which of the pictures (at the top) are more correct?
Title: Re: Albedo vs render time
Post by: maru on 2013-10-17, 19:49:33
Depends on what you call correct. ;)

I remember Rawalanche wrote some time ago that the most bright materials you can find in real life, like really bright paper or paint, have albedo value at about 0,75. So setting albedo to higher than that is probably unwanted.

The goal of these tests was not to determine what settings are more correct, just what is the impact on render time and the overall look of images.

Corona is intended for photorealistic rendering so if you call photorealism correct, then you should use max diffuse value of about 0,75. If you want some artistic effects and find out that setting albedo to 1,0 makes some objects look more interesting, then ok, but you may suffer from long render times or artefacts.
Title: Re: Albedo vs render time
Post by: VadoZe on 2013-10-17, 20:28:17
Ok, so how do it rightly?
set 255 on color and 0.7 on level? ore simply 179 on color?
should i reduce maps, reflection level?
Title: Re: Albedo vs render time
Post by: maru on 2013-10-17, 22:24:08
Ok, so how do it rightly?
Do what?


Quote
set 255 on color and 0.7 on level? ore simply 179 on color?
should i reduce maps, reflection level?
For a pure white surface setting diffuse colour to 255 255 255 and diffuse level to 0,7 will be the same as setting colour to 179 179 179 and diffuse level to 1,0.

It is also not recommended to use 100% reflections and refractions.
Title: Re: Albedo vs render time
Post by: VadoZe on 2013-10-18, 09:21:55
Do what?
Quote
Properly/easier setting materials!
So should I reduce diffuse maps Level too?
Title: Re: Albedo vs render time
Post by: maru on 2013-10-18, 11:05:13
You should never use 255 255 255 colour value for any materials, be it maps or colours. That's all.

If you are using a diffuse map with a dark bitmap loaded, then there is no need to reduce diffuse level.
Title: Re: Albedo vs render time
Post by: Ondra on 2013-10-18, 12:22:12
You should never use 255 255 255 colour value for any materials, be it maps or colours. That's all.

If you are using a diffuse map with a dark bitmap loaded, then there is no need to reduce diffuse level.
No, I would say you should never use it for diffuse/translucency combined with level set 1.0. But using it for refraction/reflection is OK, if you want to create glass/water/mirrors
Title: Re: Albedo vs render time
Post by: VadoZe on 2013-10-18, 12:26:14
You should never use...
No, I would say...
That's why I'm asking for normal info/FAQ/documentation with reliable data, not everyone's guesses!)
Title: Re: Albedo vs render time
Post by: first on 2013-11-26, 09:30:03
Good 
Title: Re: Albedo vs render time
Post by: rsi on 2014-03-28, 23:56:34
Hello, I'm new with Corona, we are testing it at the studio, and I really like it.
I am an old Vray user, I would like to understand something related to this level value in the diffuse in Corona.
I'm use to work since a long time in Vray in linear, I never used Reinhardt. Following this tread in the chaosgroup forum from Lele, (http://forums.chaosgroup.com/showthread.php?36359-VRay-Sun-Sky-and-Physical-Camera-video-tut-Bonus-Script!/page31&highlight=lele+converter) from 2006. I work with a diffuse at 128 for the white and I put the rgb output at 0,5 for the texture in general (between 0,4 and 0,6)
; don't know if it's wrong. I was thinking that it could be because those texture are taken from real life, so they are already under light conditions.
from what I understand, in Corona, the default level for white is 150, does it mean that I need to lower also the value of the level for the texture.
Is there a script that manage this level value, when I'm using some asset model with tons of materials?
Thanks
Title: Re: Albedo vs render time
Post by: snakebox on 2014-08-11, 02:48:15
Super useful debate guys, thanks.

It all makes a lot of sense, but all renders seems to be more or less sensitive to these ideas so it's very nice to get a reasonable starting point to work from with corona.

Title: Re: Albedo vs render time
Post by: lextorlex on 2014-09-29, 14:38:01
Well, In may daily work I use colors at 255,255,255 for diffuse. It is more obvious for me to see white color as white when setting shaders up. So I usually set up my scene, merge some models, convert materials to Corona, create my materials, and when I finish I just use a script to change diffuse level globally for all materials. In my daily work I use 0,7-0,8 (this is albedo for white plaster - one of the most white diffuse surface I can find). So I consider that white plaster is the whitest diffuse surface in my archtectural scenes so other materials which have bitmaps or colors for diffuse will have a lower values for albedo on exit. This is my way to avoid colors at brightest level and I think this approach is much faster then tweaking each materials.


Title: Re: Albedo vs render time
Post by: maru on 2014-09-29, 17:09:55
If this also affects materials with textures and with other colours then I'm not sure if this is a good idea.
Title: Re: Albedo vs render time
Post by: lextorlex on 2014-09-29, 18:00:09
I'm not sure if this is a good idea.

Why? I see no problems with this workflow. Yes, this script affect materials with colors and bitmaps in diffuse slot. This way, so to say, I just say to render that pure white(255.255.255) color could not be brighter than 0.7 resulting in grayish color (178.178.178) for pure white. But this darkening can be easilly compensated by exposure.
Title: Re: Albedo vs render time
Post by: maru on 2014-09-30, 14:00:38
If you have a dark texture (for example wood) then your script will make it even darker which usually isn't needed.