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

2013-06-13, 20:41:12

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12758
  • 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
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

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

racoonart

  • Active Users
  • **
  • Posts: 1446
    • 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_But

  • Active Users
  • **
  • Posts: 526
    • View Profile
    • https://www.behance.net/archdizs

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

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12758
  • 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.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

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

Ludvik Koutny

  • VIP
  • Active Users
  • ***
  • Posts: 2557
  • 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: 12758
  • Marcin
    • View Profile
Nice. So Chaosgroup noticed it too. ;)

Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

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

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • Turning coffee to features since 2009
    • View Profile
the cutoff you described is basically the max ray depth, isn't it?
Rendering is magic.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: 1577
    • View Profile
    • www.francescolegrenzi.com
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: 12758
  • 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.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

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

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • 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.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: 12758
  • Marcin
    • View Profile
Ok. Understood.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

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: 12758
  • 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.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

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!

2013-10-17, 22:24:08
Reply #15

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12758
  • Marcin
    • View Profile
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.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2013-10-18, 09:21:55
Reply #16

VadoZe

  • Active Users
  • **
  • Posts: 30
    • View Profile
Do what?
Quote
Properly/easier setting materials!
So should I reduce diffuse maps Level too?
!Do your Best!

2013-10-18, 11:05:13
Reply #17

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12758
  • Marcin
    • View Profile
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.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2013-10-18, 12:22:12
Reply #18

Ondra

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

2013-10-18, 12:26:14
Reply #19

VadoZe

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

2013-11-26, 09:30:03
Reply #20

first

  • Users
  • *
  • Posts: 1
    • View Profile

2014-03-28, 23:56:34
Reply #21

rsi

  • Active Users
  • **
  • Posts: 28
    • View Profile
    • Rsi
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

2014-08-11, 02:48:15
Reply #22

snakebox

  • Active Users
  • **
  • Posts: 493
    • View Profile
    • Snakebox Media
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.


2014-09-29, 14:38:01
Reply #23

lextorlex

  • Active Users
  • **
  • Posts: 9
    • View Profile
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.



2014-09-29, 17:09:55
Reply #24

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12758
  • Marcin
    • View Profile
If this also affects materials with textures and with other colours then I'm not sure if this is a good idea.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2014-09-29, 18:00:09
Reply #25

lextorlex

  • Active Users
  • **
  • Posts: 9
    • View Profile
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.

2014-09-30, 14:00:38
Reply #26

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12758
  • Marcin
    • View Profile
If you have a dark texture (for example wood) then your script will make it even darker which usually isn't needed.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us