POV-Ray : Newsgroups : povray.unofficial.patches : Why the scaling of normals in megapov is wrong : Re: Why the scaling of normals in megapov is wrong Server Time
2 Sep 2024 14:20:15 EDT (-0400)
  Re: Why the scaling of normals in megapov is wrong  
From: Nieminen Juha
Date: 15 Dec 1999 06:08:23
Message: <385776a7@news.povray.org>
Ken <tyl### [at] pacbellnet> wrote:
:>   A normal pattern actually simulates a heightfield.

: Am I missing something here ?

: As far as I know a normal has no releationship to a height field in any
: way what so ever. The models are entirely different.

  I think that you are a bit confused... :)
  The normal modifier indeed simulates a heighfield by just changing the
normal vectors like a heightfield would (but it doesn't change the actual
shape of the object). This affects the shading of the surface. If shadows
are not calculated, then the shading of a heightfield would be identical
to the shading of an equivalent normal modifier (at least if we are looking
from up).
  The idea behind the normal modifier is that when the changes in the shape
of an object is small enough (like a rough surface) we only need the shading
and the actual shape is not important. The normal modifier is cheaper to use.

: When you apply a normal to a surface it's properties are controlled
: explicitly by two parameters. The first is the float value after the
: pattern type i.e. normal { bumps 1 } which sets the normal depth. The
: second is the scale of the pattern which only effects the scale of the
: pattern itself and not the depth of the normal pertubation. Scaling the
: normal will not affect the depth of the normal pertubation and was never
: intended to. It may effect the depth of the pattern but it will not
: change the depth or height of the pertubation itself. If you want this
: value to change then you must change the float value after the pattern
: type and not rely on the scale value to do this for you. Any other model
: for the normal would not be correct.

  Here you are completely right.
  As I said, scaling uniformly an object does not change the slope in any
part of its surface. Thus, the slope of the normals stay unmodified.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

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