POV-Ray : Newsgroups : povray.general : Anti_Alias problems : Anti_Alias problems Server Time
1 Aug 2024 18:27:51 EDT (-0400)
  Anti_Alias problems  
From: Sigma
Date: 30 Jun 2005 04:10:01
Message: <web.42c3a7ff8f0659db711f65090@news.povray.org>
Note I've discovered an anti-aliasing problem that occurs when the threshold
is above 0 (doesn't matter type 1 or 2).  I've not tested with a threshold
of 0.

Basically low resolution or details that are only 1 or 2 pixels large upon
render have some weird effects when anti-aliased.  Sometimes a detail (say
a line) is 2 pixels wide, 1 pixel wide, or completely vanished (I guess it
misses render).

I was trying to render some icons/cursors at 32x32 and details that get
shifty are really hard to do right.  To get somethings to render
"correctly" at low resolutions I had to horribly distort the higher
resolution renders.  I've had to change images (and animations) that looked
correct when rendered at 640x640 because at 32x32 the regions, which were
supposed to be become lines, and were disproportionate.


---simplified example---  Note I'm not including all details but what should
be enough

camera {
  up       y*(3/5)
  right    x* (image_width/image_height) * (3/5)
  location <0,0,-100>     // position
  look_at  <0,0,0>     // view
  angle    3.0          // field
}

#declare Bar=
superellipsoid {
  <.75,  // east-west exponent (0.0 ... 1.0)
  1.0>   // north-south exponent (0.0 ... 1.0)
  scale <1,.1,.05>
}


union{
  object{Bar translate <0,1.25,0> }
  object{Bar translate <0,-1.25,0>}
  box {
    <-.075, -1.25, 0.0>
    < .075,  1.25, 0.1>
    texture {
      pigment{ color rgb <.5,.5,.5>}
      finish{
        ambient   1.0
        diffuse   0.0
      }
    }
  }

  translate <-.23,0,0>  // Change to -.24 to make the box not render
  texture{aqua}  // texture not include - fill in something with ambient
glow
}

--- note when rendered at 32x32 with anti-aliasing (I tried method 2 for
this example the center line from the box will show up as two lines.  When
changing the translate by .01 the render goes from 2 pixels wide to 0
pixels wide.

One possible cause:  ---Different render

When something being rendered is under a pixel at the resolution, it is
possible for the anti-alias to miss the pixel completely (where method 2
also misses, however that isn't with a threshold of 0, but 1/256).  I
noticed this when I was moving an object around and using gimp to check the
alpha values of the two lines of pixels, as it got closer to 100% and 0%,
the a line completely disappeared where the 100% and 0% should have been
(background is alpha channel).  I shifted it back a little to the side and
saw it draw two lines one at 97% visible (3% alpha) line and a 16% visible
line.

I decided to increase thickness and move the object into the blind spot.  It
then became 3 lines where the center is completely opaque


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.