POV-Ray : Newsgroups : povray.beta-test : AA issue with transparent PNGs Server Time
4 Nov 2024 19:17:08 EST (-0500)
  AA issue with transparent PNGs (Message 1 to 2 of 2)  
From: Slime
Subject: AA issue with transparent PNGs
Date: 9 Oct 2001 12:32:44
Message: <3bc326ac$1@news.povray.org>
Render this file as a PNG with +A0.1, and *don't* output transparency:

camera {
 location <0,0,-5>
 look_at 0
}

light_source {
 9999*<1,1,-1> // far, far away
 rgb 1
}

sphere {
 0,1
 pigment {rgbt <1,0,0,.7>}
 interior {
  media {
   emission 1
   density {spherical}
   density {bozo color_map {[0 rgb 0][1 rgb 1]} scale .2}
  }
 }
 hollow
}

background {rgb 0}

Notice that the upper left of the partially transparent sphere is mostly
black, and therefore blends into the background. Now rerender the image with
Output_Alpha=on. You'll notice that there is no antialiasing in the
upper-left of the sphere, if you look real closely. I think what's happening
here is that it recognizes that the color of the sphere at that point is
braely any different from the color of the background, less than .1, so it
doesn't anti-alias. I think it should take transparency into account, and
since the transparency of the background is zero, while it's .7 for the
sphere, and the difference is > .1, it should be anti-aliased to produce a
smooth edge.

Or perhaps I'm misdiagnosing the problem?

If anyone's too lazy to render the file for themselves, I'd be happy to post
it in binaries.images.

BTW, it'd be nice to have the ability to set the colors of the background
checker pattern when a transparent image is being rendered - sometimes it
could help fix contrast problems, help one see the image better as it's
being rendered. Oh, and thanks for fixing the problem with outputting the
background color in transparent images that happened in v3.1. =)

- Slime
[ http://www.slimeland.com/ ]
[ http://www.slimeland.com/images/ ]


Post a reply to this message

From: Warp
Subject: Re: AA issue with transparent PNGs
Date: 9 Oct 2001 12:44:18
Message: <3bc32962@news.povray.org>
I haven't tested this, but it sounds very believable that the antialiasing
compares only the *colors* of adjacent pixels and doesn't take into account
the fact that the background could be, in fact, colorless (ie. fully
transparent). It's very understandable that this has happened (after all,
the antialiasing code was made long before there was any alpha channel code
in POV-Ray).
  I agree that the antialiasing code could take into account the difference
in pixels caused not only by the colors but also by the alpha channel.

-- 
#macro N(D,I)#if(I<6)cylinder{M()#local D[I]=div(D[I],104);M().5,2pigment{
rgb M()}}N(D,(D[I]>99?I:I+1))#end#end#macro M()<mod(D[I],13)-6,mod(div(D[I
],13),8)-3,10>#end blob{N(array[6]{11117333955,
7382340,3358,3900569407,970,4254934330},0)}//                     - Warp -


Post a reply to this message

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