POV-Ray : Newsgroups : povray.general : Toughts about texturing system : Re: Toughts about texturing system Server Time
9 Aug 2024 09:01:48 EDT (-0400)
  Re: Toughts about texturing system  
From: Fabien Mosen
Date: 4 Oct 2000 13:50:15
Message: <39DB6CD5.3375C6FB@skynet.be>
Rune wrote:

> > No. A "plain normal" can't exist, as a normal is a variation !
> 
> Wrong. The normal is a vector which points away from the surface and is
> perpendicular to it. When you specify a normal with a pattern, POV-Ray
> artificially modifies this normal vector. But it's there no matter if you
> modifies it or not!

I meant that the normal {..} can't be plain.  I wasn't speaking of
the general normal of a surface, but of the perturbated normal
obtained by the normal {..} statement.

Thus, the default is rather "no perturbation".

> There is no such thing as a pigment value. There are colour vectors that are
> controlled by the pigment statement.

There IS !  It is the rgbft value of the color at a given space point
(that value being determined by the pattern, color_map, and
transformations).

> There is no such thing as a normal value. There are normal vectors that are
> controlled by the normal statement.

There IS !  It is the slope value at a given point of a surface.
(that value being determined by the pattern values at adjacent points of
 the surface, and transformations).

> There is no such thing as a finish value. 

Guess what ? There IS !  It is the rgb value of the color that will
be added to the others texture elements at a given point of a surface,
that value being determined by the finish definition  (amount of 
reflection, etc..), the normal of the surface at that point,
AND the camera, lights, objects positions.

> There's the ambient value, the
> diffuse value, 

> Ambient and diffuse are
> the phong, reflection, brilliance, and metallic values, and a
> whole lot of other values. None of those values are dependent on light
> positions or other objects' positions or anything. (If I specify reflection
> to be 0.6, then it is 0.6 independent on other objects.)

That is the DEFINITION, not the resulting value !!
(and, BTW, ambient and diffuse shouldn't be in finish, since they are
 view-independent)

When POV-Ray searches the finish value for a pixel, it doesn't search 
the "0.6", since it *already* knows that, it searchs for the color of 
the reflected ray, which will be multiplied by 0.6 before being 
"incorporated" with the pigment and normal values.

> But the appearances of the pigment and normal are also dependent on those
> things. If I make a pigment with a white colour it will look red if I have a
> red light_source only.
> So you see, everything is dependent on each other, not just the finish.

The finish is MORE fundamentally dependant on those things, since it
needs camera/lights/objects data to give its value for some point of
a surface.  Pigment and normal have an independant value, which is,
later,
affected by environment.  So, finish RELY on environment, while pigment
and normal are AFFECTED by environment.

> Besides, you can't obtain the normal vector at some point either, so you
> have no "proof".

 You could obtain the normal at some point of a surface.  It's not
availiable, but it's possible (you "just" have to interpolate
the values of adjacent points on the surface).  
 In fact, a simple macro using 'trace' and 'eval_pattern' could give 
you that value, but it's impossible (or tell me how) to get the
equivalent 
finish information.

Fabien.


Post a reply to this message

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