|
![](/i/fill.gif) |
In article <3d29bb77@news.povray.org>, Warp <war### [at] tag povray org>
wrote:
> A builtin version would also take a lot less memory and be a tiny bit
> faster.
Maybe more than a tiny bit faster in some situations...POV recomputes
the pigment for each sample, when it only really needs to cast more
reflection/refraction rays.
> However, it would be difficult to get the same versatility with a builtin
> version - it would have to be designed very carefully.
Right. Something similar to the existing blur patch with the added
ability to use patterns offset in specific ways...random translation,
rotation around an axis, etc.
> Of course I have the feeling that we can forget that when we get pov4
> some time in the distant future. My guess is that it will most probably have
> some kind of way of specifying quite meticulously how a surface is colored
> (something extremely similar to renderman shaders). Making any kind of
> blurred reflection with that will probably be very easy.
The existing method of specifying parameters to hard-coded shading
algorithms works pretty well for quickly creating textures and is not
likely to be removed, and that is what I am discussing this
for...something where you just plug in numbers into a texture definition
similar to what already exists. For the shaders, there could be
refraction and reflection functions that include these algorithms.
I'm thinking of a finish attribute:
finish {
surface {BLUR_AMOUNT
samples NUM_SAMPLES
...
}
surface {BLUR_PATTERN
samples NUM_SAMPLES
sample_displacement METHOD, AMOUNT
}
}
Other options could be: recompute_pigment (to force the pigment to be
computed for each sample, in case the pigment depends on the normal),
and maybe options to selectively affect reflection, transparency,
highlights, etc.
If a number is specified, it is treated as the blur amount of the
existing blur patch. If it is a pattern, it is treated as an input for
perturbing the normals for the sample rays.
An example might be:
surface {bozo
samples 16
sample_displacement translate < 10, 10, 10>
}
This would perturb the normal using the bozo pattern for 10 samples,
each translated by something from < 0, 0, 0> to < 10, 10, 10>.
--
Christopher James Huff <chr### [at] mac com>
POV-Ray TAG e-mail: chr### [at] tag povray org
TAG web site: http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |