Hello Lux Community,
i have a problem with caustics and the Bidir rendermode, maybe you can help me out with it.
I cannot get a visible strong caustics effect with the bidir render mode and a hdri as lightsource.
I works fine with a sun light or spotlight, but i doesn't work with an hdri.
I know that it all depends on the correct hdri, but the problem is that i can get caustics with the path tracer
mode in the same scene with the same settings. I've attached two renderings, one with path the other with bidir, and the difference is quite big. There are no caustics in front and only very weak caustics behind the sphere with bidir, the path tracer one is ok.
I always thought that bidri is the caustics king, but now i am a little bit puzzled.
Could this be a bug or some messed up settings on my end ?
I've also attached the .blend file ( the hdri was from here https://hdrihaven.com/hdri/?h=furry_clouds )
I have used Blender 2.79b and the latest BlendLuxCore v2.0rc1.
Thanks for the help.
Weak Caustics with BiDir, Path Caustics ok
Forum rules
Please upload a testscene that allows developers to reproduce the problem, and attach some images.
Please upload a testscene that allows developers to reproduce the problem, and attach some images.
Weak Caustics with BiDir, Path Caustics ok
- Attachments
-
- LuxCore_Render_Shader_Ball_Scene_BUG_001.blend
- (3.85 MiB) Downloaded 228 times
-
- Posts: 47
- Joined: Tue Apr 17, 2018 1:07 pm
Re: Weak Caustics with BiDir, Path Caustics ok
I also have this problem when using HDRIs. But what is strange is that SDS caustics, which are meant to be hard for even the MLT sampler to render, clearly show in the image but no regular caustics. In layman's terms: caustics in reflections/refractions, but no caustics on directly in view diffuse surfaces.
-
- Posts: 47
- Joined: Tue Apr 17, 2018 1:07 pm
Re: Weak Caustics with BiDir, Path Caustics ok
Quick 100 sample glossy plane example (Bidir CPU + Metropolis):
In this image, there are only SDS caustics! Surely this has to be a bug!Re: Weak Caustics with BiDir, Path Caustics ok
BiDir can not render SDS path at all, you need BiDir with Vertex Merging for SDS paths.jgrover110 wrote: ↑Wed May 02, 2018 7:55 am In this image, there are only SDS caustics! Surely this has to be a bug!
Re: Weak Caustics with BiDir, Path Caustics ok
It sounds like a bug, I will check as soon as I finish the thing I'm working on at the moment.
-
- Posts: 47
- Joined: Tue Apr 17, 2018 1:07 pm
Re: Weak Caustics with BiDir, Path Caustics ok
If Bidir cannot render SDS at all, then what is my image showing?Dade wrote: ↑Wed May 02, 2018 9:01 amBiDir can not render SDS path at all, you need BiDir with Vertex Merging for SDS paths.jgrover110 wrote: ↑Wed May 02, 2018 7:55 am In this image, there are only SDS caustics! Surely this has to be a bug!
Re: Weak Caustics with BiDir, Path Caustics ok
It depends on the material, HDR, etc. used. It is hard to say without looking how the scene is built.jgrover110 wrote: ↑Wed May 02, 2018 9:10 am If Bidir cannot render SDS at all, then what is my image showing?
Re: Weak Caustics with BiDir, Path Caustics ok
from my side - i think this scene file is corrupt (it changes color/tonne mapping, IOR fluctuates, all while i'm simply navigating around)
tested with point light, small area light, sun lamp... as if compositing set in Blender is influencing the engine
new scene works just fine
Edit1
Few notes:
1. HDRI doesn't have sharp light source (sun), why caustics won't be sharp.
Also, the more F-stops were used to obtain the HDRI the better (more precise) the lighting, the higher the HDRI resolution the clearer the caustics get and more RAM is used.
2. To give a scene extra sharp caustics, add a small light source (point, area, sun) positioned & oriented to be coinciding with the sun rays (match shadows). (eg. older scene here)
3. Geometry & Shading of glass objects make a huge difference.
(left to right: 1. UV Sphere - smooth, 2. IcoSphere - smooth, 3. Round Cube - flat).
4. Using soft Filter will soften the image and caustics.
5. Find a balance in lighting - personally, i keep sun at default value and then set IBL/HDRI accordingly (this way values in LuxCore coincide with what is experienced with photography). Having strong photographic background helps a lot. (eg. without Clamp)
6. Restrain from using Clamping & Dispersion together. As Energy is clamped/lost, dispersed glass doesn't get clear and caustics become invisible. (eg. Clamp set at 1000000)
6. B) Or use extra high values (Clamp at 10066514944, as suggested) but be ready to have less caustics and you'll still need to fix some fireflies after
PS//
Maybe there are some bugs present:
- Using Sun & HDRI together changes colors drastically (I assume its sun's color temperature fault, as other 'white' lights work correctly).
Would be nice if suns color was 'over writable' with custom option (yes, Light Groups offer such option, just not intuitive).
Distant (Sun) does fine but produces less caustics
Edit2: Distant Sun has constant Gain (can't be changed - specifically, changing value does nothing)
- "Build Visibility Map" is crashing BiDir. (not always - crashed 3 in a row, but after disabling, doing the above renders and now enabling it, it works )
scene file with Distant Sun & IBL (furry clouds 2k by G. Zaal, CC0), dispersed glass and clamp on
as observed on the last image (pic. 6.B)
Final Edit... Over & Out.
This should be proper Sun + IBL (Advantix 100CD & White Balanced, dispersed glass and clamped)... i be damned that sure is a very fine thin line to get to...
tested with point light, small area light, sun lamp... as if compositing set in Blender is influencing the engine
new scene works just fine
Edit1
Few notes:
1. HDRI doesn't have sharp light source (sun), why caustics won't be sharp.
Also, the more F-stops were used to obtain the HDRI the better (more precise) the lighting, the higher the HDRI resolution the clearer the caustics get and more RAM is used.
2. To give a scene extra sharp caustics, add a small light source (point, area, sun) positioned & oriented to be coinciding with the sun rays (match shadows). (eg. older scene here)
3. Geometry & Shading of glass objects make a huge difference.
(left to right: 1. UV Sphere - smooth, 2. IcoSphere - smooth, 3. Round Cube - flat).
4. Using soft Filter will soften the image and caustics.
5. Find a balance in lighting - personally, i keep sun at default value and then set IBL/HDRI accordingly (this way values in LuxCore coincide with what is experienced with photography). Having strong photographic background helps a lot. (eg. without Clamp)
6. Restrain from using Clamping & Dispersion together. As Energy is clamped/lost, dispersed glass doesn't get clear and caustics become invisible. (eg. Clamp set at 1000000)
6. B) Or use extra high values (Clamp at 10066514944, as suggested) but be ready to have less caustics and you'll still need to fix some fireflies after
PS//
Maybe there are some bugs present:
- Using Sun & HDRI together changes colors drastically (I assume its sun's color temperature fault, as other 'white' lights work correctly).
Would be nice if suns color was 'over writable' with custom option (yes, Light Groups offer such option, just not intuitive).
Distant (Sun) does fine but produces less caustics
Edit2: Distant Sun has constant Gain (can't be changed - specifically, changing value does nothing)
- "Build Visibility Map" is crashing BiDir. (not always - crashed 3 in a row, but after disabling, doing the above renders and now enabling it, it works )
scene file with Distant Sun & IBL (furry clouds 2k by G. Zaal, CC0), dispersed glass and clamp on
as observed on the last image (pic. 6.B)
Final Edit... Over & Out.
This should be proper Sun + IBL (Advantix 100CD & White Balanced, dispersed glass and clamped)... i be damned that sure is a very fine thin line to get to...
Re: Weak Caustics with BiDir, Path Caustics ok
I should have tracked the problem: there is a bug affecting only BiDir only when HDR is transformed (i.e. rotated). If you rotate the scene instead of the HDR, it should work fine.
I'm fixing this problem.
Re: Weak Caustics with BiDir, Path Caustics ok
I fixed the problem and now this is the BIDIRCPU output: