![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Christoph Hormann
Subject: Re: proximity/blur pattern finally adjusted
Date: 7 Mar 2002 05:33:59
Message: <3C874216.E8C54E65@gmx.de>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>
> > How is it done
>
> As previously sampling around point.
Sampling with inside/outside tests or with 'trace()'?
For the former i think caching samples and adaptive sampling are probably
very useful techniques for improving speed.
Christoph
--
POV-Ray tutorials, IsoWood include,
TransSkin and more: http://www.tu-bs.de/~y0013390/
Last updated 21 Feb. 2002 _____./\/^>_*_<^\/\.______
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) |
On Thu, 07 Mar 2002 11:33:58 +0100, Christoph Hormann <chr### [at] gmx de>
wrote:
> > > How is it done
> >
> > As previously sampling around point.
>
> Sampling with inside/outside tests or with 'trace()'?
Inside/outside - remember it's pattern/function so I don't use trace at all
> For the former i think caching samples and adaptive sampling are probably
> very useful techniques for improving speed.
Caching is afaik impossible at function level but yes, I'm currently
implementing adaptive method with as small operetions as possible.
ABX
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Christoph Hormann
Subject: Re: proximity/blur pattern finally adjusted
Date: 7 Mar 2002 07:08:19
Message: <3C875832.E9942665@gmx.de>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>
> [...]
>
> Caching is afaik impossible at function level but yes, I'm currently
> implementing adaptive method with as small operetions as possible.
>
Caching function values could be an interesting strategy for improving
function speed in general, it would of course have to be implemented
inside Povray. There are not so many situations apart blurring where you
evaluate exactly the same point several times, but it could be used like a
function image in a pigment instead of using the function directly just
without calculating the whole grid in advance.
Does this make sense somehow?
Christoph
--
POV-Ray tutorials, IsoWood include,
TransSkin and more: http://www.tu-bs.de/~y0013390/
Last updated 21 Feb. 2002 _____./\/^>_*_<^\/\.______
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) |
On Thu, 07 Mar 2002 13:08:18 +0100, Christoph Hormann <chr### [at] gmx de>
wrote:
> Does this make sense somehow?
Yes for me.
And I must say I have it implemented too, but I never named it "caching".
I prepare my function in two steps. At first create apriopriate function. At
second I create function image to eliminate diskrete characteristic and speed
isosurface creation.
But there were two main reasons of slow progress of my macro: shortest-code
contest (my best image failed becouse of render speed) and bugs in beta (every
improvement in macro leads me to some bug).
ABX
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Christoph Hormann
Subject: Re: proximity/blur pattern finally adjusted
Date: 7 Mar 2002 07:40:12
Message: <3C875FAC.A23F35BF@gmx.de>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>
> > Does this make sense somehow?
>
> Yes for me.
> And I must say I have it implemented too, but I never named it "caching".
> I prepare my function in two steps. At first create apriopriate function. At
> second I create function image to eliminate diskrete characteristic and speed
> isosurface creation.
This is not exactly what i meant, my method would also work in 3d and not
only with 2d image maps and as said it would avoid calculating the whole
grid in advance. Furthermore you could have adaptive grid stepping.
Just imagine an object with a very slow 3d (not uv-mapped) pattern
pigment. You could create a df3 from the pattern and use it, but this
would be extremely large with high resolution and you would have all the
values inside and outside the object where they are not needed. The
described method would be very suited for this.
Christoph
--
POV-Ray tutorials, IsoWood include,
TransSkin and more: http://www.tu-bs.de/~y0013390/
Last updated 21 Feb. 2002 _____./\/^>_*_<^\/\.______
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) |
On Thu, 07 Mar 2002 13:40:12 +0100, Christoph Hormann <chr### [at] gmx de>
wrote:
> This is not exactly what i meant, my method would also work in 3d and not
> only with 2d image maps and as said it would avoid calculating the whole
> grid in advance. Furthermore you could have adaptive grid stepping.
You are going exactly the same way I though about this problem. That's why I
asked about chr(0) in povray.general some day.
ABX
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) |
wrote:
> On Thu, 07 Mar 2002 11:03:27 +0100, Christoph Hormann <chr### [at] gmx de>
> wrote:
> > how fast is it?
>
> Meanwhile I've found new efficient optimization so I will wait with answer.
> (At this moment it is not fast enough to be proud)
Optimization looks really efficient. Here is image after optimizations. I
can't find any difference. While previously it took ~30 hours, now it use no
more 2 hours on my poor PII 233 with a lot of tasks. Number of samples vary
from 1 to 10001. If somebody is interested then below is output stream:
Remove bounds........On Split unions........Off
Library paths: C:\Program Files\POV-Ray for Windows v3.5\INCLUDE
C:\WINNT\Fonts
Output Options
Image resolution 800 by 600 (rows 1 to 600, columns 1 to 800).
Output file: beveler.png, 24 bpp PNG
Graphic display......On (type: 0, palette: 3, gamma: 2.2)
Mosaic preview......Off
CPU usage histogram.Off
Continued trace.....Off Allow interruption..Off Pause when done.....Off
Verbose messages.....On
Tracing Options
Quality: 9
Bounding boxes.......On Bounding threshold: 3
Light Buffer.........On Vista Buffer.........On Draw Vista Buffer...Off
Antialiasing.........On (Method 1, Threshold 0.300, Depth 3, Jitter 1.00)
Animation Options
Clock value.... 0.000 (Animation off)
Redirecting Options
All Streams to console.........Off
Debug Stream to console.........On
Fatal Stream to console.........On
Render Stream to console........On
Statistics Stream to console....On
Warning Stream to console.......On
Scene contains 1 frame level objects; 1 infinite.
Statistics for E:\bevel\beveler.pov, Resolution 800 x 600
----------------------------------------------------------------------------
Pixels: 480800 Samples: 480936 Smpls/Pxl: 1.00
Rays: 480936 Saved: 0 Max Level: 1/5
----------------------------------------------------------------------------
Ray->Shape Intersection Tests Succeeded Percentage
----------------------------------------------------------------------------
Plane 480936 480936 100.00
----------------------------------------------------------------------------
Calls to Noise: 0 Calls to DNoise: 10
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Smallest Alloc: 25 bytes Largest: 36720
Peak memory used: 325091 bytes
----------------------------------------------------------------------------
Time For Parse: 0 hours 0 minutes 1.0 seconds (1 seconds)
Time For Trace: 1 hours 47 minutes 1.0 seconds (6421 seconds)
Total Time: 1 hours 47 minutes 2.0 seconds (6422 seconds)
POV-Ray finished
CPU time used: kernel 2.65 seconds, user 5923.94 seconds, total 5926.59
seconds
ABX
Post a reply to this message
Attachments:
Download 'beveler.png' (28 KB)
Preview of image 'beveler.png'
![beveler.png](/povray.binaries.images/attachment/%3Cuc2f8u8rhhuoajslft80k4j9tcboavfv18%404ax.com%3E/beveler.png?preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Still looks good, and time is very reasonable. I messed around with your
last proximity macros, but I just don't have any scenes yet that are ready
for that kind of detail.
-Shay
news:uc2f8u8rhhuoajslft80k4j9tcboavfv18@4ax.com...
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 <ioge8ukobdf0e5u0rh8ec9dgpkeo18m0r7@4ax.com>,
W?odzimierz ABX Skiba <abx### [at] babilon org> wrote:
> Inside/outside - remember it's pattern/function so I don't use trace at all
Then it won't work for "any finite object". For example, it won't work
for triangles or bezier patches. Or rather, it would work, but by the
definition of the effect, the result will always be 0, because those
shapes have no volume.
And why doesn't it work for infinite shapes? Seems like it'd just not be
as well optimized, it would think it is always inside the bounding box.
--
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) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Thu, 07 Mar 2002 12:28:54 -0500, Christopher James Huff <chr### [at] mac com>
wrote:
> > Inside/outside - remember it's pattern/function so I don't use trace at all
>
> Then it won't work for "any finite object". For example, it won't work
> for triangles or bezier patches. Or rather, it would work, but by the
> definition of the effect, the result will always be 0, because those
> shapes have no volume.
You catch me for language details and I'm poor in such discussion. I'm working
on specialized usage for beveling and my macro works on 2D cross section on xy
plane. It use bounding to precise area of working.
> And why doesn't it work for infinite shapes?
Bocouse I don't see any reason to bevel infinite shapes :-)
> Seems like it'd just not be
> as well optimized, it would think it is always inside the bounding box.
Bounding box is not an element of optimization. It is specification for image
function area.
ABX
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |