Ever lasting render
-
- Posts: 234
- Joined: Thu Jan 18, 2018 6:02 pm
Ever lasting render
Hi,
I've seen lots of nice renders of prisms in the different forum topics, so I tried to do one on my own.
Since a mesh source with small spread is not working (see: viewtopic.php?f=4&t=87) I used a spot with narrow spread.
The major difference that I wanted to achive is that I wanted to see what happens inside the prism. To get this goal not only the world carries a scattering medium but the prism also.
The Prism IOR and Cauchy values are equal to SF10 coming from https://de.wikipedia.org/wiki/Cauchy-Gleichung. Sorry it's German.
Finally I receive that image: It took me about 2 days of continuous rendering.
How do some people receive almost noiseless results within minutes.
Is it possible to get results more quickly without faking anything? So multiple scattering and perfectly polished surfaces shall be kept to keep the real world physics alive.
I'm looking forward to your hints. This is the sample scene: BR
I've seen lots of nice renders of prisms in the different forum topics, so I tried to do one on my own.
Since a mesh source with small spread is not working (see: viewtopic.php?f=4&t=87) I used a spot with narrow spread.
The major difference that I wanted to achive is that I wanted to see what happens inside the prism. To get this goal not only the world carries a scattering medium but the prism also.
The Prism IOR and Cauchy values are equal to SF10 coming from https://de.wikipedia.org/wiki/Cauchy-Gleichung. Sorry it's German.
Finally I receive that image: It took me about 2 days of continuous rendering.
How do some people receive almost noiseless results within minutes.
Is it possible to get results more quickly without faking anything? So multiple scattering and perfectly polished surfaces shall be kept to keep the real world physics alive.
I'm looking forward to your hints. This is the sample scene: BR
OS - Windows 7 X64
CPU - Intel CORE i7
GPU1 - Variants of notebook card from nVidia
GPU2 - Variants of notebook onboard card from Intel
Lux - Latest possible relaease
CPU - Intel CORE i7
GPU1 - Variants of notebook card from nVidia
GPU2 - Variants of notebook onboard card from Intel
Lux - Latest possible relaease
Re: Ever lasting render
You are rendering 3840x2160 image with an eye path of 32 and a light path of 32 and multi-scattering. I will give you just some number so you can have an idea of what you are trying to achieve
- the average rays traced for each samples are 110 (it is the highest number I have ever seen !!!). It is a very important statistic you should always keep your eyes on
- at 3840x2160 pixel with 5000 samples per pixel, you are going to need 3840 * 2160 * 5000 = 41,472,000,000 samples in total (billions !)
- the total rays to traces are 3840 * 2160 * 5000 * 110 = 4,561,920,000,000 (trillions ?).
Now, the point is that you don't need to achieve such numbers to render this scene:
- multi-scattering is important to render some specific material. The classic example is milk (may sounds strange but true milk is something hard to render). It is a rare event for air and, I assume, for the prism material you are using.
Disabling multi-scattering takes the average rays per sample from 110 to 10. We are already running 11 times faster.
- your scene is highly dominate by light paths (it could even be rendered with LIGHTCPU and not BIDIRCPU). Eye paths are going to be very short. In general, without multi-scattering, we can reduce the eye to something like 5 and the light path to something like 10. This further reduce the the average rays per sample to 9.5. As you see, the difference is small because nearly all paths will never need to be longer than 5+10.
- I render the scene at 960x540 for doing a fast test.
The result in 10mins is:
Which seems quite reasonable to me. As you see, the key point is to disable multi-scattering.
- the average rays traced for each samples are 110 (it is the highest number I have ever seen !!!). It is a very important statistic you should always keep your eyes on
- at 3840x2160 pixel with 5000 samples per pixel, you are going to need 3840 * 2160 * 5000 = 41,472,000,000 samples in total (billions !)
- the total rays to traces are 3840 * 2160 * 5000 * 110 = 4,561,920,000,000 (trillions ?).
Now, the point is that you don't need to achieve such numbers to render this scene:
- multi-scattering is important to render some specific material. The classic example is milk (may sounds strange but true milk is something hard to render). It is a rare event for air and, I assume, for the prism material you are using.
Disabling multi-scattering takes the average rays per sample from 110 to 10. We are already running 11 times faster.
- your scene is highly dominate by light paths (it could even be rendered with LIGHTCPU and not BIDIRCPU). Eye paths are going to be very short. In general, without multi-scattering, we can reduce the eye to something like 5 and the light path to something like 10. This further reduce the the average rays per sample to 9.5. As you see, the difference is small because nearly all paths will never need to be longer than 5+10.
- I render the scene at 960x540 for doing a fast test.
The result in 10mins is:
Which seems quite reasonable to me. As you see, the key point is to disable multi-scattering.
Re: Ever lasting render
BTW, it is a beautiful scene, do you mind if I use it in https://github.com/LuxCoreRender/LuxCoreTestScenes
-
- Posts: 234
- Joined: Thu Jan 18, 2018 6:02 pm
Re: Ever lasting render
Hi,
I'm a bit surprised that you want to use that simple scene but yes, feel free to use it.
Do you need anything else or is the *.blend file enough?
Thanks for your detailed explaination.
My approach is to keep the physical correctness in the result.
In real world diffuse media show multiple scattering events, don't they?
I'm dreaming of a lux core that calculates real and reliable luminance values like false colour interpretation of classic lux as well as human eye like (so more than photo realistic) images.
Does the suggested changes influence the result quality regarding it's physics base?
Lot of my real work requires light scattering though very milky materials. Usually behind those materials is a clear light pipe that requires lots of total inner reflection intersection. This pipe are usually fed by tiny LED emitter chip (0.3mm x 0.3mm in size).
EDIT
Where do I find the described statistics?
BR
I'm a bit surprised that you want to use that simple scene but yes, feel free to use it.
Do you need anything else or is the *.blend file enough?
Thanks for your detailed explaination.
My approach is to keep the physical correctness in the result.
In real world diffuse media show multiple scattering events, don't they?
I'm dreaming of a lux core that calculates real and reliable luminance values like false colour interpretation of classic lux as well as human eye like (so more than photo realistic) images.
Does the suggested changes influence the result quality regarding it's physics base?
Lot of my real work requires light scattering though very milky materials. Usually behind those materials is a clear light pipe that requires lots of total inner reflection intersection. This pipe are usually fed by tiny LED emitter chip (0.3mm x 0.3mm in size).
EDIT
Where do I find the described statistics?
BR
OS - Windows 7 X64
CPU - Intel CORE i7
GPU1 - Variants of notebook card from nVidia
GPU2 - Variants of notebook onboard card from Intel
Lux - Latest possible relaease
CPU - Intel CORE i7
GPU1 - Variants of notebook card from nVidia
GPU2 - Variants of notebook onboard card from Intel
Lux - Latest possible relaease
Re: Ever lasting render
The rays/sample statistic is not yet exposed in the addon.
Re: Ever lasting render
An over night rendering on my old i7 860 (32,000 samples/pixel):
Not to a significative extend, in particular for air. At the end of the day, you can just do a test with and without multi-scattering (at a low resolution) and check if there is any difference. Comparing my rendering with your, I would say there isn't any difference.lighting_freak wrote: ↑Thu Feb 08, 2018 6:47 am In real world diffuse media show multiple scattering events, don't they?
-
- Posts: 234
- Joined: Thu Jan 18, 2018 6:02 pm
Re: Ever lasting render
Hi,
Thanks for effort. You're right the image looks identical on a first glance... what is about the energy conservation?
Could one check the amount of energy in that scene?
Is there any rule that describes that this material thickness and this scattering value requires multi scattering?
I'll continue investigating this materials... thanks again.
BR
Thanks for effort. You're right the image looks identical on a first glance... what is about the energy conservation?
Could one check the amount of energy in that scene?
Is there any rule that describes that this material thickness and this scattering value requires multi scattering?
I'll continue investigating this materials... thanks again.
BR
OS - Windows 7 X64
CPU - Intel CORE i7
GPU1 - Variants of notebook card from nVidia
GPU2 - Variants of notebook onboard card from Intel
Lux - Latest possible relaease
CPU - Intel CORE i7
GPU1 - Variants of notebook card from nVidia
GPU2 - Variants of notebook onboard card from Intel
Lux - Latest possible relaease
Re: Ever lasting render
Well, it is based on the probability of a scattering event: if the probability is low, the probability of 2+ scattering events in a single path is a lot lower so the contribution of multi-scattering to the rendering becomes very low. This is also true if the light absorbed in a scattering event is high (i.e. multiple scattering events will take the reflected light to nearly zero).lighting_freak wrote: ↑Thu Feb 08, 2018 11:57 am Is there any rule that describes that this material thickness and this scattering value requires multi scattering?
So you need a combination of high scattering probability and low light absorbed to have a significative impact on the visual result of multi-scattering.
If you check volume rendering related papers (like http://iliyan.com/publications/PointsBeamsPaths), you can find usually some details about this kind of stuff.
-
- Posts: 234
- Joined: Thu Jan 18, 2018 6:02 pm
Re: Ever lasting render
Hello,
This is one of those milky materials I like to use in lux core as well as lux render. Even 1mm of this occurs like a white opaque plastic if you have done almost even environment illumination around it.
BR
This is one of those milky materials I like to use in lux core as well as lux render. Even 1mm of this occurs like a white opaque plastic if you have done almost even environment illumination around it.
BR
OS - Windows 7 X64
CPU - Intel CORE i7
GPU1 - Variants of notebook card from nVidia
GPU2 - Variants of notebook onboard card from Intel
Lux - Latest possible relaease
CPU - Intel CORE i7
GPU1 - Variants of notebook card from nVidia
GPU2 - Variants of notebook onboard card from Intel
Lux - Latest possible relaease
Re: Ever lasting render
There was a 'scatter' material in Classic Lux useful for this kind of things (it required some elaborate setup though). I always wondered whether it's possible to have a translucent material but, unlike matte translucent, with configurable mean scattering angle.