Caustics and fog dont render on reflection and refraction.

Come here for help & support.
User avatar
pixie
Indigo 100
Posts: 2346
Joined: Sat Dec 29, 2007 4:54 am
Location: Away from paradise
3D Software: Cinema 4D
Contact:

Re: Caustics and fog dont render on reflection and refractio

Post by pixie » Sat Aug 28, 2010 10:27 am

ior wrote:Hei comequi é? With no license the .pigs file is useless.
The pigs is a zip file, just rename it to .zip and decompress it.
ior wrote:Lots of processing power plus Mlt + BiDir is the key?
I don't know, I don't have any problems in rendering caustics in the other side of the mirror, I have seen other problems, but not caustics...
ior wrote:Try to render my orignal scene and have some caustics on the reflection of the pot (no way!).
I don't see any mirror on the scene you've uploaded, It's equal to the first scene.



And on the picture, it was NOT made on indigo.

ior
Posts: 166
Joined: Tue Aug 24, 2010 11:47 am

Re: Caustics and fog dont render on reflection and refractio

Post by ior » Sat Aug 28, 2010 9:53 pm

pixie wrote:
ior wrote:Try to render my orignal scene and have some caustics on the reflection of the pot (no way!).
I don't see any mirror on the scene you've uploaded, It's equal to the first scene.
Yes, there is a large flat mirror dividing the scene, on the right side. That is why you see two pots and two lights and two spheres.
Try to have some caustics on the reflection of the pot, i think this will be very hard:
caustic.jpg
pixie wrote:And on the picture, it was NOT made on indigo.
None of the existing unbiased renders can do that in 30 seconds. for now iv done simple test with fryrender (to long to get caustics) and i will try maxwell. I will post some tests when i have time and proper internet.
The best render for me is still indigo (and it has fantastic integration in maya). im just trying to help making it even better.

see you.

User avatar
pixie
Indigo 100
Posts: 2346
Joined: Sat Dec 29, 2007 4:54 am
Location: Away from paradise
3D Software: Cinema 4D
Contact:

Re: Caustics and fog dont render on reflection and refractio

Post by pixie » Sat Aug 28, 2010 10:49 pm

ior wrote:Yes, there is a large flat mirror dividing the scene, on the right side. That is why you see two pots and two lights and two spheres.
Lol, indeed I missed it! I was thinking on your second image where you put a sheet of glass, I completely missed that.

ior
Posts: 166
Joined: Tue Aug 24, 2010 11:47 am

Re: Caustics and fog dont render on reflection and refractio

Post by ior » Mon Aug 30, 2010 8:43 am

Lets admit that indigo and other unbiased renders have problems with reflection and refractions of caustics.

If a mirror get hit by light it will cause caustics to the scene (witch will render fast on objects illuminated by this mirror caustics with BiDir), but on the other side of the mirror the caustics will render very slow compared to the caustics that are viewed directly by the camera (no idea why the render as this behavior), it should render slower on the mirror but not 1000 times or more :( .

With BiDir+MLT witch was said that was the best to tackle this problem, small caustics will not be visible (because MLT is rendering them), only the larger ones, but you have to wait 100 times more time to see this larger caustics (small ones not rendered at all even if you wait for ever).

With simple PT all the scene caustics seems to behave like inside mirror caustics so when there is a mirror in the scene, the caustics will be even in all the parts equally, but it takes lot of time, till all the fireflies disappear.

With only BiDir all seems to work well, like iv said, the caustics converge nice on the scene but on the mirror side is like you are using PT, wait 1000 times more than on the objects viewed directly by the camera.


There is something wrong here, why is a caustic on a mirror is so difficult to render if it render fast on direct geometry? A ray path when reach a mirrored object just bounces back and what one should see on the image is the color of the object it hits next, if that is already fine in the image, what is the problem of rendering this extra parts that are seen by the mirror, the same way the direct parts are, and then with little effort display them on the image?

Can this bee implemented?
43 min. 1954 spp BiDir.png
30 min. 1433 spp PT.png

User avatar
zeitmeister
2nd Place 100
Posts: 2010
Joined: Tue Apr 22, 2008 4:11 am
Location: Limburg/Lahn, Germany
Contact:

Re: Caustics and fog dont render on reflection and refractio

Post by zeitmeister » Mon Aug 30, 2010 6:13 pm

Very interesting points here...
keep it up, please!
Cheers, David



DAVIDGUDELIUS // 3D.PORTFOLIO
·
Indigo 4.4.15 | Indigo for C4D 4.4.13.1 | C4D R23 | Mac OS X 10.13.6 | Windows 10 Professional x64

User avatar
fused
Developer
Posts: 3648
Joined: Fri Sep 22, 2006 7:19 am
Location: Berlin, Germany
3D Software: Cinema 4D

Re: Caustics and fog dont render on reflection and refractio

Post by fused » Mon Aug 30, 2010 6:31 pm

What is your cauchy_b set to? It looks horribly wrong....

Real world glass has 0.003 or so. Also you can expect your rendering to be a lot slower and noisier if you use dispersion ( http://en.wikipedia.org/wiki/Dispersion_%28optics%29 )

ior
Posts: 166
Joined: Tue Aug 24, 2010 11:47 am

Re: Caustics and fog dont render on reflection and refractio

Post by ior » Tue Aug 31, 2010 2:52 am

fused wrote:What is your cauchy_b set to? It looks horribly wrong....

Real world glass has 0.003 or so. Also you can expect your rendering to be a lot slower and noisier if you use dispersion ( http://en.wikipedia.org/wiki/Dispersion_%28optics%29 )
The glass cauchy_b is ste to 0.003 only for testing, in this case there is no much difference in using it.


Iv been rendering the scene with fog with simple PT witch seem to be faster than BiDir in the mirror.

After 15h it looks tike this:
15h 69000 spp.jpg
simple PT, 15h 69000 spp

ior
Posts: 166
Joined: Tue Aug 24, 2010 11:47 am

Re: Caustics and fog dont render on reflection and refractio

Post by ior » Fri Sep 03, 2010 1:17 pm

Tests i was rendering with BiDir and simple PT went down due to a cut in electricity, so I have to render again.
I think that with super sampling 5 i get better results from both.
pixie wrote:Lol, indeed I missed it! I was thinking on your second image where you put a sheet of glass, I completely missed that.
Hey, did you got got pot caustics in mirror using BiDir+MLT or whatever?

User avatar
lycium
Posts: 1216
Joined: Wed Sep 12, 2007 7:46 am
Location: Leipzig, Germany
Contact:

Re: Caustics and fog dont render on reflection and refractio

Post by lycium » Fri Sep 03, 2010 4:35 pm

ior wrote:There is something wrong here, why is a caustic on a mirror is so difficult to render if it render fast on direct geometry? A ray path when reach a mirrored object just bounces back and what one should see on the image is the color of the object it hits next, if that is already fine in the image, what is the problem of rendering this extra parts that are seen by the mirror, the same way the direct parts are, and then with little effort display them on the image?
This is a classical problem in unbiased rendering which goes by a number of names. The problem of insufficient techniques, the specular-diffuse-specular (SDS) problem, the sunlight-through-glass problem, etc.

The crux of the problem is that bi-directional path tracing is no better than standard path tracing at sampling reflections of caustic light paths, and standard path tracing is not very good at sampling indirect light paths from small light sources. The probability of randomly choosing a direction that hits a small or distant light source is very small (in the case of the sun, about 1 in 60,000), so in the case where this does happen you get a firefly.

Normally bi-directional would be able to make other connections to the light source, and reason along the lines of "this light path, however improbable, could have been made this way as well, so weight down the really improbable one since it's not really that exceptional". However, in the case of specular surfaces, there is only a single way the path can be constructed (in the perfect reflection direction), so other ways are impossible and such re-weighting cannot be done.

Again, this is a classical problem for which there is no published solution (that is still unbiased). I've Googled some references in case you're interested to read more about it:

From The Rendering Bible, Veach's thesis: http://graphics.stanford.edu/papers/vea ... apter10.ps

Brief mention in a journal: http://books.google.co.nz/books?id=OY09 ... es&f=false


About solutions, right now the best one can do is use Metropolis Light Transport (MLT) sampling, which makes small (!) perturbations to the paths in an attempt to find other light-carrying paths of the same type. Your max change tweak hurts this ability, since anything more than a few % change will move the sample position in the image a lot and it stands no chance of hitting that small light source indirectly again.

ior
Posts: 166
Joined: Tue Aug 24, 2010 11:47 am

Re: Caustics and fog dont render on reflection and refractio

Post by ior » Sat Sep 04, 2010 7:43 am

lycium wrote:The crux of the problem is that bi-directional path tracing is no better than standard path tracing at sampling reflections of caustic light paths, and standard path tracing is not very good at sampling indirect light paths from small light sources. The probability of randomly choosing a direction that hits a small or distant light source is very small (in the case of the sun, about 1 in 60,000), so in the case where this does happen you get a firefly.
Thanks for the info and reply, I am much more informed now!


So the problem lies in reflection and in refraction!

Don´t know if what I will say next is correct, because I had not time to study the entire book, but I will give a try:


Modified BiDir proposal:

Chose a random path from camera and if it first hits a reflective or refractive material (and only if it first hits this) make sure that the moment it hits another object that is not reflective or refractive (if does, the photon continues the travel taking into account the several bounces in reflect refract materials till it hits that non reflect/refract object), save this photon path into memory and when that particular photon trace part of the scene is updated (by the normal BiDir way), update it also on the reflection/refraction first camera bounce image.

Voila. It seems to solve the problem. :D

Of course the memory in the renderer will raise but that is a minor problem.


please comment.
Last edited by ior on Sat Sep 04, 2010 8:40 am, edited 1 time in total.

ior
Posts: 166
Joined: Tue Aug 24, 2010 11:47 am

Re: Caustics and fog dont render on reflection and refractio

Post by ior » Sat Sep 04, 2010 8:39 am

Detected a problem that i did not spoke in previous post:

when there is several transparent and reflective materials in the same path, the direct reflection photon trace path must be saved to memory separately for each reflective/transparent material.
The same apply for photon paths that use first reflective, then single or many other transparent reflective, then reflective. saving a path for each of these materials in the trace.
In this cases, using compressing in parts of trace paths in common, can be used to save memory.

That seem to be all.

Except the fact that I do not know the maths behind it. :(

User avatar
lycium
Posts: 1216
Joined: Wed Sep 12, 2007 7:46 am
Location: Leipzig, Germany
Contact:

Re: Caustics and fog dont render on reflection and refractio

Post by lycium » Sat Sep 04, 2010 7:59 pm

We're already looking at a number of approaches to solve this SDS problem ;)

ior
Posts: 166
Joined: Tue Aug 24, 2010 11:47 am

Re: Caustics and fog dont render on reflection and refractio

Post by ior » Sun Sep 05, 2010 10:58 am

lycium wrote:We're already looking at a number of approaches to solve this SDS problem ;)
That is grate! :D

Have you reached any solid conclusion about what type of approach you are going to use?
Does my modified BiDir proposal makes sense and is helpful to you?
when are you thinking in having that approach implemented in a public release?

User avatar
lycium
Posts: 1216
Joined: Wed Sep 12, 2007 7:46 am
Location: Leipzig, Germany
Contact:

Re: Caustics and fog dont render on reflection and refractio

Post by lycium » Wed Sep 08, 2010 11:56 am

We don't have any conclusive winners unfortunately, today we'll put some more work into it however.

Regarding your proposed method, it sounds like you're referring to photon mapping, which Indigo doesn't use - we don't have any photon updating going on, so this doesn't really work with BDPT as far as I can tell (it uses infinitely small intersection points and infinitely thin ray paths).

We'd like to finish our experiments before trying other approaches, unfortunately time does not permit we try most ideas suggested to us :(

ior
Posts: 166
Joined: Tue Aug 24, 2010 11:47 am

Re: Caustics and fog dont render on reflection and refractio

Post by ior » Wed Sep 08, 2010 1:59 pm

lycium wrote:Regarding your proposed method, it sounds like you're referring to photon mapping, which Indigo doesn't use - we don't have any photon updating going on, so this doesn't really work with BDPT as far as I can tell (it uses infinitely small intersection points and infinitely thin ray paths).
I only used the therm photon because I didn't know how to name it, Ill call it paths for instance.

So what you are telling me is that this infinitely small intersection points and infinitely thin ray paths, are too much for ram to deal with (I forgot that to have 5000000 photons on crappy mental ray takes a lot of memory), so is not the right approach.

If I have an idea about other methods, now I will try to read the book, I will post something.

I didn't want to put pressure on you, sorry about that.

keep up with the good work!

Post Reply
46 posts

Who is online

Users browsing this forum: No registered users and 19 guests