POV-Ray : Newsgroups : povray.beta-test : wrong report about max_gradient : Re: wrong report about max_gradient Server Time
30 Jul 2024 16:22:53 EDT (-0400)
  Re: wrong report about max_gradient  
From: Warp
Date: 19 Nov 2001 09:07:45
Message: <3bf91230@news.povray.org>

: I don't like bothering but there is nothing about difference between typed value
: and outputed value. in that thread :-(

  Really? Did you actually read the whole thread? More precisely, this
article of mine:

From war### [at] tagpovrayorg Mon Nov 19 16:05:26 2001
Message-ID: <3be0175a@news.povray.org>
From: Warp <war### [at] tagpovrayorg>
Subject: Re: Isosurfaces *much* slower in beta 7?
Newsgroups: povray.beta-test

Thorsten Froehlich <tho### [at] trfde> wrote:
: * Warp: Do a sync (get change 1235) to try it.

  Ok, I did it, and there clearly is a difference.
  I tested with this small example:

#include "functions.inc"

camera { location -z*5 look_at 0 angle 35 }
light_source { <100,200,-300>, 1 }

isosurface
{ function { x^2+y^2+z^2-(1-.2*f_noise3d(x*8,y*8,z*8)) }
  contained_by { sphere { 0,1 } }
  max_gradient 2
  evaluate 1,10,.99
  pigment { rgb x } finish { specular .5 }
}


  The older version (ie. beta7) rendered that in 1 min 30 seconds in this
computer. The report was a bit odd:

Warning: The maximum gradient found was 3.555, but max_gradient of
the isosurface was set to 310.201. Adjust max_gradient to
get a faster rendering of the isosurface.

  The newer version renders the example above in 13 seconds, which is a clear
improvement.

Warning: The maximum gradient found was 3.477, but max_gradient of the
isosurface was set to 2.000. The isosurface may contain holes!
Adjust max_gradient to get a proper rendering of the isosurface.

  The max_gradient value of 3.477 seems to be correct. When I set max_gradient
to that, the isosurface renders ok.

  It seems that now 'evaluate' doesn't actually change the max_gradient, but
just calculates the correct one and reports it. The example above renders
equally whether or not the 'evaluate' is there.
  This behaviour seems logical to me.

-- 
#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.