POV-Ray : Newsgroups : povray.binaries.images : mipmapping and trilinear interpolation : Re: mipmapping and trilinear interpolation Server Time
7 Aug 2024 21:21:02 EDT (-0400)
  Re: mipmapping and trilinear interpolation  
From: Zeger Knaepen
Date: 3 Dec 2005 20:20:16
Message: <43924450$1@news.povray.org>
"Warp" <war### [at] tagpovrayorg> wrote in message news:43922298@news.povray.org...
>   Where exactly would that difficulty be? Can you be more specific?
>
>   I disagree with that statement.
>   The only thing that trilinear interpolation would need is to
> calculate mipmaps from image maps (when requested), which is
> extremely trivial to do (and only needs 1/3 of additional memory),
> and at trace time to know the sum of ray lengths so far as well as
> the distance between image pixels, which is very trivial too.
> Calculating trilinear interpolation from these values is very easy.
>
>   "It doesn't work correctly with reflections/refractions from
> curved surfaces" is actually not a reason to not to implement those
> simple steps I described above. There are tons of images out there
> which do not need reflections/refractions to work correctly (or at
> all). There are tons of mesh-based imagemapped scenes out there
> which would greatly benefit from trilinear interpolation.
>
>   If in a certain scene the trilinear interpolation looks annoyingly
> bad in a certain reflection or refraction, the interpolation can be
> turned off and you'll get what POV-Ray currently renders. What's the
> problem? If you don't like it, you are not forced to use it.
>
>   (In a more versatile implementation you could turn interpolation
> of textures hit by reflected/refracted rays on a per-object basis.)

You think you could do it?  I would really like to try, but after taking a look
at the POV-Ray source, I really wouldn't know where to start :(

oh, and on a side note, while you're at it :), could you also implement a
no_refraction keyword and make no_image objects per default visible in
refraction? :)

cu!
--
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com


Post a reply to this message

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