PDA

View Full Version : more caustics accuracy



Nitisara
06-08-2004, 11:00 PM
Why caustics Accuracy is limited to 10000?
Even when it is set to maximum, with narrow spotlight it calculates very fast, but the result is not satisfactory.
Maybe 100000 or even more will be Ok.

Mylenium
06-09-2004, 01:15 AM
Well, i don't think that would be useful and it wouldn't solve the problem.... Actually the values in LW should get away from such abstract and ridiculously high numbers and conform to settings in percent. Of course this only made sense if you improved the caustics algorithms along with improving the usability.

Mylenium

Exper
06-09-2004, 01:54 AM
Strange...
LW's caustics seem a little slow to me (at least for quite complex solutions)...
but the results are pretty good, for stills, starting from a 300 accuracy value.

Then... if you're speaking about animation... it's a completely different situation.

Take a look here:
http://vbulletin.newtek.com/showthread.php?s=&threadid=5634
the last picture required 2h 48m on a P4 2.8 GHz...
Caustics (traced from 9 point lights) + BackDrop Radiosity + Refractions + HV.

Conclusion:
I'm agree with Mylenium...
maybe for the first time! ;)

Nitisara
06-09-2004, 06:15 AM
Thank you for showing, Exper.
But caustics accuracy depends upon model size in the scene. For small objects (10-20 cm) sometimes 10000 is not enough for stills. What to speak about animation.

Exper
06-09-2004, 08:22 AM
I know.

Maybe a silly hint:
tried Adaptive Samplig OFF
and high Softness value?
I normally set it higher than 40!

Then... LW 8.x should have updated caustics, as Chuck stated here (http://vbulletin.newtek.com/showthread.php?s=&threadid=23050&perpage=15&highlight=faster&pagenumber=2):
"Development has confirmed that they have identified the issue in the version released for pre-upgrades, and expect to correct the issue prior to the official release of LightWave [8].
......
A caveat is that errors in the Caustics and some other routines were fixed, with the result that while caustics and some other elements now render without the problems the errors were causing, they also render slower. The team felt that "slower and as intended" was the better option as opposed to "faster and not exactly what we're trying for."

We'll see! ;)

Exper
06-11-2004, 09:48 AM
Caustics are, as far as I know, actually out of Radiosity code branch.

NT Should connect Caustics to Radiosity!
Proving all that extra "datas" to caustics will be very welcome!

Then... we should have a check for "Caustics" or "Radiosity Caustics".

P.S. Panikos... you should drop a line here! ;)

Panikos
06-11-2004, 11:05 AM
Exper, thanks for the invitation :D

Caustics are part of Global Illumination, for futher info please have a look at Henrik Jensen site.
Caustics are generated by non-lambertian surfaces, i.e Reflective & Refractive.

Photon mapping (which LW uses ... no doubt, I wrote it several times in other threads) with some addition can include Caustics.

However, I need to underline something important here, that explains why LW6.0 rendering engine was implemented like this. (I mention LW6.0 cause since that time, rendering engine almost hasnt changed)

There are two types of caustics:
a) Caustics traced from Light Sources Inverse Caustics
b) Caustics calculated out of Environment, that is Backdrop, Bright Speculars/Reflections, LumSurfaces or any polygons in general etc)
Forward Caustics, I think this is how they are called.

LW6.0 included only Inverse Caustics that can be calculated without Radiosity, and ommited Forward Caustics. This was done due to the sake of speed, and because developers thought that this was sufficient, or nobody asked for Forward Caustics at that time.

So, nowadays, after research and experience, myself, Exprer and other people ask for both - Inverse & Forward Caustics, not to forget dispersion.

Worley's FPrime generates Inverse Caustics by boosting Specularity and ColorHighlights.
:)

Panikos
06-11-2004, 11:01 PM
Part II:

Caustics are present in nature.
Through a transparent ball, the surrounding environment is projected/focused onto a caustic shape, as light rays are manipulated/filtered according to the index of refraction of the material.
The visible part of the caustic is mostly the projection of the brightest rays. Naturally 100% of the rays are projected, The weak/darker rays after the projection are almost lost, or they are too subtle to be seen.
If you consider dispersion, the calculations are multiplied by 3, because each color component is treated differently, according to the wavelength.
Added to this is the focusing of the caustic. The caustic appears in focus if the refracting surface is close to the receiving surface, i.e a floor. If you move the refracting surface away, caustics gets out of focus, or are lost/weak.

Similarly, Reflective surfaces bounce the light rays and generate a reflective caustic. Dispersion here doesnt exist.

Considering all the above, the maths involved are very deep, since ray recursion plays a role too.

Panikos
06-11-2004, 11:13 PM
Part III:

Let say you have a prism and you project a bright light beam through it to generate a dispersion of light.

If you filter the dispersion rays and isolate for instance the yellow color, and try to disperse it again using a second prism, the result will be YELLOW again, because light cannot disperse more.

:D

Panikos
06-12-2004, 07:10 AM
As I wrote before, LW caustics now are calculated on a per light basis independently from Radiosity. If you enable caustics from a light, the non-lambertian surfaces that are illuminated by this light generate caustics to the neighbouring surfaces. Note that distant lights dont generate caustics.
Additionally you can exclude an object from caustics SHADING (not caustic generation - this is different) you can use the Light Exclusion in the Object Properties.

The settings for Caustics are rather simple.
Accuracy is how many light rays a non-lambertian collects to generate a caustic.
Softness is to blur the caustics to prevent flickering, something like Shadow Noise Reduction.

Some weakness I personally encountered, is that LW caustics consume a lot of RAM, especially if activate many lights to generate caustics.

As a rule of thumb, MotionBlur and many AA passes generate more constant results, with the penalty of the related rendering time.

Exper
06-14-2004, 03:59 AM
Well done... fluent english... as always! :D

No more replies here...
as far as I can see only we (me, you and recently Nitisara) are interested in better caustics. :(

Chuck annouced some Caustics fixes for the next release (LW 8 final - not the pre-ordered one).

Better than nothing!

Lynx3d
06-14-2004, 07:01 AM
I've complained about caustics several times ages ago...

One weird thing is, when you take a scene, render it, then scale everything up / down and render again, the caustics are 10 times darker / brighter respectiveley :mad:

Ok, obviously lights without falloff are not realistic either, but this sure is very annoying because you never know if 0.1 or 10000% will give you believable caustic effects...

Exper
06-14-2004, 07:16 AM
Lynx... I'm completely agree with you.

LW's caustics are really very sensitive to Scene/Objects sizes.

When I need caustics I always create oversized scenes (everything in the same oversized proportion)...
it seems the only way to create good/smooth ones using "human" Accuracy values!

Panikos
06-14-2004, 09:33 AM
Hmmm, I think Caustics accuracy is related somehow to LW-world scale.

If you scale an object, the Caustics accuracy isnt proportionally scaling.

I wonder what is 10000 accuracy for ?
A volumetric meter ?

:confused:

Exper
06-15-2004, 04:45 AM
LW's renderer Caustics branch is the most unpredictable one.

I usally use specific lights for caustics...
I parent them (or not, in a scene dependant way) to the "illumination" lights...
then using those lights I can more easy tune up the caustics effect.

The final conclusion is:
tweak as more as you can! :(

silverlw
06-15-2004, 10:46 AM
Thank you Panikos for that interesting and detailed explanation about forward and reverse caustics. I wish Newtek would explain more about how their renderer works on their webpages.

Panikos
06-16-2004, 12:48 AM
My pleasure, always ...

I find it interesting to read/write the forums.
As you already said/implied LW documentation is a button-description and this is not enough. In this way some weaknesses of LW are disquiced behind words.

It takes looong time to understand how some things work, a lot of tests/renders, a lot of reading/research.

I wish LW documentation was written in an understandable way with plain language.

Its not pleasant to do hard critisism on Newtek. However I am expecting to get reliable software in a complete form for the money I invest. "Developing incomplete tools until users complain" isnt a right policy"

Rendering Engine wasnt a priority and this is sad.

Exper
06-16-2004, 02:35 AM
Originally posted by Panikos
Rendering Engine wasnt a priority and this is sad. Agree!
Chunck announced that Renderer will be updated for 8.X ... so we'll see what they're working on (some things like Caustics will have a little update for LW 8 final).

Hoping! ;)