Author Topic: Albedo vs render time  (Read 27332 times)

2013-06-13, 20:41:12

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 7472
  • Marcin
    • View Profile
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

2013-06-13, 20:54:48
Reply #1

DeadClown

  • Global Moderator
  • Active Users
  • ****
  • Posts: 1419
    • View Profile
    • racoon-artworks
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.
Any sufficiently advanced bug is indistinguishable from a feature.

2013-06-13, 21:00:40
Reply #2

Polymax

  • Active Users
  • **
  • Posts: 830
  • CG Generalist
    • View Profile
    • maxkagirov.com
Thanx for your job, very useful! I will keep it for myself.
Corona - the best rendering solution!

2013-06-13, 21:04:41
Reply #3

Stan_Booth

  • Active Users
  • **
  • Posts: 525
    • View Profile
    • https://www.behance.net/archdizs
thanks for done job
« Last Edit: 2013-06-13, 21:17:08 by headoff »

2013-06-13, 21:39:45
Reply #4

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 7472
  • Marcin
    • View Profile
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.

2013-06-13, 22:18:01
Reply #5

Ludvik Koutny

  • Global Moderator
  • Active Users
  • ****
  • Posts: 2556
  • Just another user
    • View Profile
    • My Portfolio
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 ;)

2013-06-13, 22:52:08
Reply #6

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 7472
  • Marcin
    • View Profile
Nice. So Chaosgroup noticed it too. ;)


2013-06-14, 00:08:52
Reply #7

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 8683
  • Turning coffee to features since 2009
    • View Profile
the cutoff you described is basically the max ray depth, isn't it?
Rendering is magic.
Private scene uploader | How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2013-06-14, 10:17:25
Reply #8

cecofuli

  • Active Users
  • **
  • Posts: 1423
    • View Profile
In VRay I always used as white colur 150,150,150, as Vlado suggest. And I do the same with corona.

2013-06-14, 10:27:18
Reply #9

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 7472
  • Marcin
    • View Profile
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.

2013-06-14, 10:31:24
Reply #10

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 8683
  • Turning coffee to features since 2009
    • View Profile
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 ;)
Rendering is magic.
Private scene uploader | How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2013-06-14, 10:54:20
Reply #11

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 7472
  • Marcin
    • View Profile

2013-10-17, 19:20:21
Reply #12

VadoZe

  • Active Users
  • **
  • Posts: 30
    • View Profile
But which of the pictures (at the top) are more correct?
!Do your Best!

2013-10-17, 19:49:33
Reply #13

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 7472
  • Marcin
    • View Profile
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.

2013-10-17, 20:28:17
Reply #14

VadoZe

  • Active Users
  • **
  • Posts: 30
    • View Profile
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?
!Do your Best!