|
![](/i/fill.gif) |
I'm kind of wishing I'd tried this earlier. The voronoi pattern (which
I've posted about before and included in the latest MegaPOVPlus release)
uses a kd-tree data structure similar to that used for photons. My
implementation is very generic, and allows other data to be included.
Anyways...take a very slow pattern, and sample it at many points. Dump
those points and values in a kd-tree, and at render time, collect the
points in a given radius around each point and average them together
weighted by some falloff function. The result renders very fast, and
smoothes out grainy appearance. You can determine an acceptable
compromise between grainyness and detail by adjusting the radius for
gathering samples. It can also give a more efficient way of storing a
voxel map, especially when only a relatively small proportion of the map
is "filled", since only the voxels actually used are stored.
This image took 30 seconds to render on a 933MHz PowerPC G4. The pattern
map construction time is a bigger issue: about 6 minutes for half a
million points with the settings and algorithm I used. However, since
this is done in a preprocessing step, it is still fast enough to use
with focal blur, media, etc, and increasing the image size has a
relatively small influence on total render time. Without the pattern
map, I estimate it would take at least 15-30 minutes, and would still
appear very grainy.
I have made another pattern (another interface for the same one, really)
called the "smudge" pattern which allows you to specify the individual
points with colors, pigments, etc, the result being somewhat like the
blob pattern. It is something like spray painting or airbrushing. Like
the voronoi pattern, it obviously isn't terribly useful for direct hand
coding, but some interesting effects are possible using various
algorithms to generate the points.
--
Christopher James Huff <cja### [at] earthlink net>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: <chr### [at] tag povray org>
http://tag.povray.org/
Post a reply to this message
Attachments:
Download 'smudge.png' (38 KB)
Preview of image 'smudge.png'
![smudge.png](/povray.binaries.images/attachment/%3Ccjameshuff-6F569A.21053228022005%40news.povray.org%3E/smudge.png?ttop=441697&toff=5550&preview=1)
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
Christopher James Huff <cja### [at] earthlink net> wrote:
> I'm kind of wishing I'd tried this earlier. The voronoi pattern (which
> I've posted about before and included in the latest MegaPOVPlus release)
> uses a kd-tree data structure similar to that used for photons. My
> implementation is very generic, and allows other data to be included.
>
Hi Christopher,
This looks very useful indeed! All my proximity pattern attempts have taken
ages to render. How big is the MegaPOVPlus download? I wonder if it would
fit onto a floppy disk... I'm using the library for my Internet access :(
-Sam
Post a reply to this message
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <web.422a1a19a11908b8a401a3b0@news.povray.org>,
"Samuel Benge" <stb### [at] hotmail com> wrote:
> This looks very useful indeed! All my proximity pattern attempts have taken
> ages to render. How big is the MegaPOVPlus download? I wonder if it would
> fit onto a floppy disk... I'm using the library for my Internet access :(
Nowhere close...it's about 8MB. Also, this is something I've been
experimenting with since that release, it's not in there.
--
Christopher James Huff <cja### [at] gmail com>
POV-Ray TAG: <chr### [at] tag povray org>
http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |