![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
I have uploaded the changed source files for the new version of my
blurred transparence patch to povray.binaries.programming. This version
is based on MegaPOV 0.3.
I haven't had the time to write any decent documentation, but this is
the syntax for the blurred transparence patch, it should be pretty
obvious by it's similarities with the blurred reflection patch:
finish {
transparence {
transparence_blur AMOUNT
blur_samples SAMPLES
}
}
global_settings {
transparence {
blur_samples SAMPLES
blur_max_trace LEVEL
blur_max_adc AMOUNT
}
}
Note that it is very untested at this stage. I think I got everything
working correctly and without bugs, but some things might have been
missed. There is a known problem with layered textures(only the top
layer will blur), but it is not serious and I should have a fix sometime
soon.
Maybe I will also work on an alternate syntax for the reflection stuff,
something similar to this. It would be nice to have them more consistant
with each other.
I will upload a demo image to povray.binaries.images soon.
--
Chris Huff
e-mail: chr### [at] yahoo com
Web page: http://chrishuff.dhs.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Does it work well with ior? What about fading_distance etc?
Glass is slow enough to render. If we apply blurred reflection and
refraction to it, it will never finish! ;)
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <38900ad0@news.povray.org>, Nieminen Juha
<war### [at] punarastas cs tut fi> wrote:
> Does it work well with ior? What about fading_distance etc?
Those shouldn't cause a problem, since the same calculations are used,
just repeated several times with a bit of jitter and the results
averaged. It might also work with photons and should work with motion
blur. Since the same standard POV functions are used by my code,
everything else should work as it has before.
There is a slight difference from the way the blurred reflection patch
works. The blurred reflection patch jittered the normal to the surface,
and then used the jittered normal to calculate the reflection direction.
Doing this for the blurred transparency patch would make the blur
dependant on the ior of the object, so I wrote the transparency patch to
calculate the direction and then jitter it(keeping a "backup" of the
calculated direction). This might also be a bit faster, since the
direction calculation doesn't have to be done for each sample. Probably
not a significant difference, and probably more than cancelled out by
the other calculations of transparent textures, but faster than it would
have been.
BTW, my plastic ring demo image has an ior, you can see it's effects at
the edges.
--
Chris Huff
e-mail: chr### [at] yahoo com
Web page: http://chrishuff.dhs.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Chris Huff <chr### [at] yahoo com> wrote:
: The blurred reflection patch jittered the normal to the surface,
: and then used the jittered normal to calculate the reflection direction.
: Doing this for the blurred transparency patch would make the blur
: dependant on the ior of the object
But which way is the correct one? Which one is the physically more accurate?
It sounds to me that it's more physically accurate to make the blurred
reflection to depend on the ior. I may be wrong, though.
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <3890546f@news.povray.org>, Nieminen Juha
<war### [at] punarastas cs tut fi> wrote:
> But which way is the correct one? Which one is the physically more
> accurate?
> It sounds to me that it's more physically accurate to make the blurred
> reflection to depend on the ior. I may be wrong, though.
I am assuming you mean blurred transparence. :-)
Neither one is really more correct, since an object with high ior can
have very little blur and an object with low ior can be very blurry.
Just think of the blur amount parameter as controlling the amount of
blur, not directly controlling the size of microscopic facets or bumps.
As it is, the image is correct-the ior affects what gets blurred(which
part of the scene behind the object is visible), just not the amount of
blur.
It is just much easier to control when the amount of blur isn't affected
by the ior. If you decide to lower the ior after you have the blur
amount just right, you don't want to have to raise the blur amount to
compensate. And you can have an object with a neutral ior still be
blurry, which is probably a little bit faster rendering than one with an
ior.
--
Chris Huff
e-mail: chr### [at] yahoo com
Web page: http://chrishuff.dhs.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |