POV-Ray : Newsgroups : moray.win : Getting light to reflect : Re: Getting light to reflect Server Time
25 Jan 2022 02:43:53 EST (-0500)
  Re: Getting light to reflect  
From: Warp
Date: 27 Feb 2011 04:03:01
Message: <4d6a1344@news.povray.org>
Tim Cook <z99### [at] gmailcom> wrote:
> I find myself confused as to the exact distinction between diffuse and 
> specular reflectivity.

  Both are approximations of how real-life surfaces reflect light.
(Dividing into pure diffuse and pure specular comes originally from the
Phong lighting model, which is what POV-Ray still uses. The division is
done because they are very easy to calculate and in conjunction they
produce a result that looks more or less realistic for many surfaces.)

  Diffuse reflection reflects light to all directions. The weight
distribution of the reflected light is dependent only on the normal
vector of the surface (ie. the direction it's facing) but not on the
direction where the incoming light is coming from. (The direction of
the incoming light only affects how much of it is reflected, but not
its distribution.) This is the normal surface shading you get in POV-Ray
by default (when you don't specify any highlight finishes).

  Radiosity (be it what POV-Ray calls as such, or the real scaline rendering
technique called "radiosity") only takes into account pure diffuse reflection
of light when it calculates how light reflected from surfaces illuminates
other surfaces.

  Specular reflection is a pure 100% mirror reflection: Light is reflected
only in one direction (rather than all directions), this direction being
determined by the normal vector of the surface and the direction of the
incoming light. This is what you get when you specify a 'reflection' finish
on a surface.

  Photon mapping only takes into account pure specular reflection (as well
as refraction) when it calculates how light reflected from a surface
illuminates other surfaces.

  Specular reflection shouldn't be confused with specular highlighting,
which is something else completely. Specular highlights are a completely
independent surface shading technique (a rather simplistic one) which
aims to approximate what happens when a surface is not 100% diffuse, but
has some specular reflectivity to it. Most real-life surfaces are not
100% diffuse, and the distribution of reflected light is not uniform to
all directions, but has a dependence on the direction of the incoming
light. This means that more light is reflected to the specular direction
than to the other directions, causing visible highlights. The distribution
function for real-life surfaces tends to be quite complicated, and the
specular highlighting used in the Phong shading model is a really simplistic
approximation that gives ok results for many surfaces.

  The Phong shading model (which is what POV-Ray uses) is a very simplistic
model and the approximation of real-life surface properties is, blatantly
put, quite crude (and many would say that nowadays antiquated). However,
it gives ok results in most situations and, most importantly, it's very
fast to calculate, which is its biggest advantage.

> The bright-spot shine of a specular highlight is 
> simply the result of a light source being so much brighter than 
> everything it's illuminating.  Yes?

  I think you are confusing the brightest part of diffuse reflection with
the brightest part of a specular highlight. They are not at the same place.
The former is at the point where the surface is directly facing the light
source (and it does not depend on the position of the camera), while the
latter is where the angle between the normal vector of the surface and
the light source is the same as the angle between the normal vector and
the camera (which means that the location of the highlight depends on the
location of the camera, and thus moves if the camera is moved).

  Radiosity cannot produce specular highlights, only diffuse shading.

                                                          - Warp

Post a reply to this message

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