POV-Ray : Newsgroups : povray.binaries.images : Early Holiday Render : Re: Early Holiday Render Server Time
3 Mar 2024 07:30:11 EST (-0500)
  Re: Early Holiday Render  
From: Chris R
Date: 23 Nov 2023 22:05:00
Message: <web.656011c7c5d369f88226e4e5cc1b6e@news.povray.org>
"Bald Eagle" <cre### [at] netscapenet> wrote:
> "Chris R" <car### [at] comcastnet> wrote:
> > This became the isosurface shape function.
>
> That's an isosurface?  :O
>
>
> > To get rid of the squarish edges and make them softer, I would like to figure
> > out how to do a gradient fill in gimp that would start with the color of the
> > piece, and when it gets near the black line edges start fading to black.
>
> Have you tried just changing the threshold that you're evaluating the isosurface
> at?
> At 0, it should be crisp, as you increase the threshold, you should start to
> round over any corners.
> So what you eventually do is determine how much you need to "inflate" your shape
> by, scale it down by that much, and then re-inflate to the original size by
> increasing the threshold.   Then you have a rounded version of the same size.
>
> - BW


surface texture beyond what normals provide.  To be clear, here, each piece of
the nativity is an isosurface, but they all use the same image map, just picking
different colors to determine which piece to create from it.

I generally leave the threshold at 0, and subtract off fudge factors or noise
functions from the actual shape function instead.  It has the same effect.
Here, because my image map currently has a single solid color for each piece,
the color distance function essentially returns a fixed negative number if the
thickness/2 and add in noise for scratches and varnish strokes.  If I could find
a way to get the image map to bleed the colors at the edges of the pieces, I
could have gradation in the color distance function and that would modify the
thickness of the wood at that point so I could bevel or round the edges.

#local imgpfn = function {
   pigment {
   }
}

#local Color_match = function(r1,g1,b1,r2,g2,b2) {
   max(
      abs(r1-r2),
      abs(g1-g2),
      abs(b1-b2)
   )
}

function {
   max(

Color_match(imgpfn(x,y,0).red,imgpfn(x,y,0).blue,imgpfn(x,y,0).green,R,G,B),
      abs(z) - thickness/2
   )
}


Post a reply to this message

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