I will test the build tomorrow but I can already tell you that everything below the water in your example looks very wrongly shaded.
...You have super overexposed surface and a single milimeter under water the surface drops 5+ stops of exposure...
I will test the build tomorrow but I can already tell you that everything below the water in your example looks very wrongly shaded.
Yes, I also want to see this water just as a super clear refraction of sds without added volumetric scattering and absorption. Then we can build convincing looking water from that baseline. Anyway, I will try tomorrow or during weekend. Can't wait to be able to render good looking water with caustics.
It is a SmallPT variant with direct light sampling, not the original one you are usingprovisory wrote: ↑Fri Sep 20, 2019 6:16 pm It's worth noting, that the minimalistic PSR sample implementation (based on smallpt) uses a very small light source.
It has 3300 times smaller radius than the mirror and glass spheres.
If I render the same scene with the original smallpt (without PSR), I get a black frame with a few fireflies.
Apparently, the initial r0=1 (as suggested by the paper) is a bit too small. These are 2048 and 16384 samples per pixel with r0=4:
Code: Select all
Sphere spheres[] = {//Scene: radius, position, emission, color, material
Sphere(1e5, Vec( 1e5+1,40.8,81.6), Vec(),Vec(.75,.25,.25),DIFF),//Left
Sphere(1e5, Vec(-1e5+99,40.8,81.6),Vec(),Vec(.25,.25,.75),DIFF),//Rght
Sphere(1e5, Vec(50,40.8, 1e5), Vec(),Vec(.75,.75,.75),DIFF),//Back
Sphere(1e5, Vec(50,40.8,-1e5+170), Vec(),Vec(), DIFF),//Frnt
Sphere(1e5, Vec(50, 1e5, 81.6), Vec(),Vec(.75,.75,.75),DIFF),//Botm
Sphere(1e5, Vec(50,-1e5+81.6,81.6),Vec(),Vec(.75,.75,.75),DIFF),//Top
Sphere(16.5,Vec(27,16.5,47), Vec(),Vec(1,1,1)*.999, SPEC),//Mirr
Sphere(16.5,Vec(73,16.5,78), Vec(),Vec(1,1,1)*.999, REFR),//Glas
Sphere(5e-3,Vec(50,81.6-36.5,81.6),Vec(4,4,4)*1e7, Vec(), DIFF),//Lite
}
Ah, right, the box with slightly curved walls.