Jump to content

Multi-bounce Irradiance?


Recommended Posts

Hi h-folks,

Fast GI thread doesn't leave me alone yet.

I know that 1 bounce Irradiance is often enough. I know that secondary and tertiary bounces can be faked. I know that secondary and tertiary bounces are expensive. Still - having them as an option is great, isn't it?

So, hasn't anybody though about modifying the original irradiance algorithm to make it multi-bounce? I haven't made a research so far, but it doesn't sound too difficult. Or am I missing some major reason why SESI hasn't implemented it yet?

ta ta.

Link to comment
Share on other sites

I'd just like to throw in my support for this idea, as I've been wishing for this for a while. It would really help getting mantra's output a bit closer to that of "make-really-pretty-stills" renderers like Vray and Brazil for those types of images. I know mantra is heavily oriented towards production, and most users are unlikely to spend hours on a single GI render, but I'm thinking this can't be too hard to implement, and it would be oh so nice to have. :D

btw i know Vray and Brazil are used for actual work, not to start any trouble... :P

Link to comment
Share on other sites

So, hasn't anybody though about modifying the original irradiance algorithm to make it multi-bounce?  I haven't made a research so far, but it doesn't sound too difficult.  Or am I missing some major reason why SESI hasn't implemented it yet?

Which "original irradiance algorithm" would you be talking about, exactly?

Link to comment
Share on other sites

Which "original irradiance algorithm" would you be talking about, exactly?

20366[/snapback]

in "Operator type properites" there is the code of VEX_gilight. the following line made me think that there should be an irradiance function somewhere out there:

else Cl += irradiance(pp, nn, "environment", envmap......

Or am I mistaken?

Link to comment
Share on other sites

  • 3 weeks later...

Agreed. The single bounce approach is what contributes to the "dirty" colour seen here on the underside of the ball:

post-237-1125504151_thumb.jpg

I'd like to see this sort of thing addressed from SESI's side in the out-of-the-box GI light shader as well. :)

Link to comment
Share on other sites

i had often noticed the dark underside as Stu points out but not realised what the problem was. writing my own shader isnt really an option anytime soon so id like to see something in the defaults too :)

is it actually meant to be like that and the darkness requires GI (irradiance) to fix? i.e. theres nothing wrong and a multi bounce ambient occlusion is a bit of a cheat to overcome this?

Link to comment
Share on other sites

The dark splotch is the shadow from the occlusion. In this case having multiple bounces will allow light to go back and forth between the ball and ground to eliminate that grey splotch, and give you a nice, properly colored shadow instead.

Personally what I'd like to see in terms of controls for a multi-bounce GI option in Houdini:

The ability to set the ratio of energy loss for bounces. Simple slider, for ex: "Keep Energy per Bounce -> 0.7" So if the light has a strength of 1, the second bounce would have a strength of 0.7, and the third bounce a strength of 0.49, and the fourth would be 0.343, etc etc, you get the picture.

Amount of color to pick up on each bounce. Basically Saturation control. Again a simple float slider: At 1, the bounce uses the full color of the surface, while at 0 it uses the luminance value.

Also, I'm not sure if it's possible, but it would be nice if, inside your shaders, you could designate a multiplier for how much light a surface will reflect back into the scene, so when you have rays shooting around mantra can pick this up too.

Something like this would be a very good GI implementation I think. :)

Link to comment
Share on other sites

  • 2 weeks later...
but a question in other - whether is better to improve realization of a Mantra's photons? :lol:

21191[/snapback]

I will say...no. :D

I think the multi-bounce paradigm is more intuitive, so I would rather see that. Maybe other renderers have more advanced photon-mapping implementations, but from trying it in mantra it seems like getting a smooth, non-splotchy solution is pretty slow when you have a larger number of photons (maps of 100MB or so for example). So I don't see an advantage in that regard.

It also seems to have trouble with certain situations where you would really want multiple bounces: namely the sunlight shining through a window scenario. Only a tiny number of photons actually make it into the space. Maybe others have had more luck with this example?

Also I'm somewhat biased. I never liked working with photons. Not in mray, brazil or mantra. <_<

Link to comment
Share on other sites

Agreed - I've never had much luck with scattering points or photons. It's just so haphazard, and unless you want to crank the density to an insane amount just to get a reasonable result, you have to spend time manually distributing more or less points in areas of higher or lesser importance or geometric complexity.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...