POV-Ray : Newsgroups : povray.unofficial.patches : MegaPOV's PostProcessing and blurring : Re: MegaPOV's PostProcessing and blurring Server Time
7 Jun 2024 22:09:53 EDT (-0400)
  Re: MegaPOV's PostProcessing and blurring  
From: Zeger Knaepen
Date: 9 Mar 2005 11:50:55
Message: <422f296f@news.povray.org>
"ABX" <abx### [at] abxartpl> wrote in message
news:is7u211jgu7cgc8u1cv8g4nss4hhr4med0@4ax.com...
> On Wed, 9 Mar 2005 16:20:42 +0100, "Zeger Knaepen"
> <zeg### [at] studentkuleuvenacbe> wrote:
> > #macro Blur_red(S,RX,RY,Samples,Division)
> > #local Seed=seed(S);
> >    function {
> >     f_output_red(x,y)
> >     +( #declare C=0;
> >      #while (C<Samples)
> >       #declare X=(rand(Seed)-rand(Seed))*RX;
> >       #declare RY=rand(Seed)*pi;
> >       #declare Y=sin(RY)*X;
> >       #declare X=cos(RY)*X;
> >       f_output_red(x+X,y+Y)/Division+
> >       #declare C=C+1;
> >      #end
> >    0)/Samples
> >    }
> > #end
>
> One thing is that you are doing "/Division" 'Samples' times. Instead of this
> you could do "/(Samples*Division)" after sum.
>
> More difficoult improvement (in fact I'm not sure it will improve but hard to
> judge without testing) could be to move rand from parsing to runtime and
> decrease length of the function. I mean take benefits of sum() function like
>
> #macro Blur_red(S,RX,RY,Samples,Division)
>    #local Seed=seed(S);
>    function {
>      f_output_red(x,y) +
>      sum(i,0,Samples-1,f_output_red(x+f_X(i,S),y+f_Y(i,S)))/(Samples*Division)
>    }
> #end
>
> where f_X() and f_Y() are functions which simulate random generator using some
> noise pattern with your trigonometry applied.

ok, I removed the randomness and I placed the division after the sum.  It's
slightly faster, looks slightly better, but is still way to slow to be useful :(

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


Post a reply to this message

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