[comp.graphics] Ray tracing & Gouraud shading

leech@unc.cs.unc.edu (Jonathan Leech) (08/30/87)

Summary:

Expires:

Sender:

Followup-To:

Distribution:

Keywords:


In article <575@sugar.UUCP> peter@sugar.UUCP (Peter da Silva) writes:
>If the faces are shaded (either flat or via Phong or Giroud shading) then it's
>not doing ray tracing. Phong shading, where you average the normals to the
>surface across the face, is similar to what you do to smooth ray traced
>objects. Unless I'm completely wet, though, Giroud shading is done by averaging
>the colors of the corners across the face... which is completely alien to
>what you do with ray tracing.

    You could do this with ray tracing if you wanted. All ray tracing
does for you is compute object intersections. What you do with them
varies. Usually a surface normal falls out of the object intersection
routines and is used in the lighting calculations. The nice thing
about Gouraud shading in combination with a classical polygon
rendering algorithm is that you only compute colors at the vertices
(expensive) and the other per-pixel color calculations are simple
interpolations.

    The nice thing about ray tracing is that intersection algorithms
which are (usually) sublinear in the number of objects can be used(1).
This makes it suitable for very complex databases where objects
usually do not cover many coherent pixels, making interpolation
techniques worthless.

    (1) Ref.  SIGGRAPH & CG&A papers by Rubin & Whitted, Glassner,
	Kaplan, Kay & Kajiya, Fujimoto, Snyder, etc. etc. Maybe it's
	about time for a survey article on ray-tracing hierarchies
	along the lines of the classical ``A Comparison of 10
	Hidden-Surface Algorithms.''

    I wonder if anyone knows how to make radiosity sublinear? At a
first guess you would want to do something like multigridding. I think
this is the important issue which must be addressed before radiosity
becomes practical, just as it was for ray-tracing. Maybe someone from
Cornell could comment?
-- 
--
    Jon Leech (leech@dopey.cs.unc.edu) [Note changed address!]
    __@/