![](/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) |
Warp wrote:
>
> JRG <jrg### [at] hotmail com> wrote:
> > If this doesn't work either, render at bigger resolution and re-size
> > your picture with your favourite paint program.
>
> How is this different from using +a0.0?
+a0.0 forces all pixels to go to the full depth.
+a0.1 at a higher resolution simulates a minimum depth of anti-aliasing,
without forcing full depth for all pixels.
A minimum aa depth might be a useful feature.
--
Rusty is rendering!
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) |
JRG <jrg### [at] hotmail com> wrote:
> Anyway, IMHO, it's better to render at bigger resolution. This is a pretty common
> technique to avoid many AA pitfalls.
I still don't understand how that's different from using +a0.0.
(What +a0.0 does in practice is exactly what you propose: It kind of renders
an image at higher resultion and "scales" it down to the desired resolution.
This happens because it sends the extra rays for *each* pixel regardless of
what there is in the image; that's exactly the same as rendering at higher
resolution. You can control the extra resolution with +r.)
--
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}// - 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) |
John VanSickle <evi### [at] hotmail com> wrote:
> +a0.0 forces all pixels to go to the full depth.
Ie. exactly what rendering at higher resolution does.
> +a0.1 at a higher resolution simulates a minimum depth of anti-aliasing,
> without forcing full depth for all pixels.
Yes, but rendering at higher resolution forces povray to shoot more rays
even though it wouldn't be necessary.
--
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}// - 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 <3ca75d03@news.povray.org>, Warp <war### [at] tag povray org>
wrote:
> > +a0.1 at a higher resolution simulates a minimum depth of anti-aliasing,
> > without forcing full depth for all pixels.
>
> Yes, but rendering at higher resolution forces povray to shoot more rays
> even though it wouldn't be necessary.
+a0.0 forces it to shoot all the rays for every pixel. Rendering at a
higher resolution and resizing lets you control the minimum sampling
density (making your objects more likely to be visible) while still
taking advantage of adaptive sampling for faster rendering.
An additional "minimum samples" control would do the same thing, without
the additional external step of reducing the final image in size, which
will give different results with different programs.
--
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) |
+a0.0 worked perfectly. Plus it fixed some artifacts I had with image maps.
Thanks a bunch!!
"Warp" <war### [at] tag povray org> wrote in message
news:3ca678ed@news.povray.org...
> Chris Becker <cmb### [at] rit edu> wrote:
> > I have a very thin object that is not showing up correctly because some
> > pixels pick it up and others don't hence creating jaggies, even with
> > anti-aliasing. My question is, what do I adjust in anti-aliasing to
improve
> > this? And does increasing or decreasing the threshold provide for a
better
> > sample?
>
> Try +a0.0 if it helps. (Note that it will slow down the rendering a
lot.)
>
> --
> #macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb
M()}}
> N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
> N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}// -
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) |
Currently this is the best povray can do (+a0.0 +r9). Notice
the aliasing artefacts on the horizontal lines.
http://luxlab.com/tmp/aa.png
Rendered at 500% resolution (+a0.3 +r3), low-pass filtered
(Gaussian 2.5 pixels) and resampled.
http://luxlab.com/tmp/aa_hq.png
I like the one with clean lines.
_____________
Kari Kivisalo
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) |
> Rendered at 500% resolution (+a0.3 +r3), low-pass filtered
> (Gaussian 2.5 pixels) and resampled.
> http://luxlab.com/tmp/aa_hq.png
>
> I like the one with clean lines.
>
>
> _____________
> Kari Kivisalo
Kari, what is the difference between your method and rendering at 500 %,
applying a mosaic filter (5 pixels) and resizing with method "nearest
neighbor"?
Norbert
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 Mon, 1 Apr 2002 09:33:30 +0200, "Norbert Kern"
<nor### [at] t-online de> wrote:
>Kari, what is the difference between your method and rendering at 500 %,
>applying a mosaic filter (5 pixels) and resizing with method "nearest
>neighbor"?
Gaussian blur uses a Gaussian distribution of samples and is more
'natural' than a mere average. They are both low-pass filters, one
just happens to be closer to reality, IMHO.
Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] vip bg
TAG e-mail : pet### [at] 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) |
> Gaussian blur uses a Gaussian distribution of samples and is more
> 'natural' than a mere average. They are both low-pass filters, one
> just happens to be closer to reality, IMHO.
>
>
> Peter Popov ICQ : 15002700
thanx
Norbert
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) |
Norbert Kern wrote:
>
> Kari, what is the difference between your method and rendering at 500 %,
> applying a mosaic filter (5 pixels) and resizing with method "nearest
> neighbor"?
http://luxlab.com/tmp/aa_mosaic.png
Scene (thin lines) from http://www.povworld.org/povray/aa.html
plane{z,0
pigment{gradient y
pigment_map{
[0 rgb 1]
[0.47 rgb 1]
[0.47 rgb 0]
[0.53 rgb 0]
[0.53 rgb 1]
[1 rgb 1]
}
}
finish{ambient 1} scale .1 rotate y*-50
}
camera{location <0,0,-5> look_at 0}
The most important part is the Gaussian blur. I used 500% resolution
just to get those very thin lines. For normal a scene 200% to 300% and
1 to 1.5 pixel blur radius should be enough. The 50% blur radius seemed
to be the minimum required to prevent visible aliasing. The image will
look soft. Sharpening filter will just bring back the the jagged edges.
It's a delicate balance between artefect free and sharp image :)
_____________
Kari Kivisalo
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |