Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site utah-cs.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!utah-cs!jwp From: jwp@utah-cs.UUCP (John W Peterson) Newsgroups: net.graphics Subject: Re: Color calc. for ray tracing, HELP Message-ID: <3106@utah-cs.UUCP> Date: Fri, 9-Nov-84 03:45:13 EST Article-I.D.: utah-cs.3106 Posted: Fri Nov 9 03:45:13 1984 Date-Received: Sat, 10-Nov-84 05:46:18 EST References: <31000007@uiucdcs.UUCP> Organization: Univ of Utah CS Dept Lines: 31 I'm starting on a ray tracing project but I'm having one problem. I don't know how to convert the intensity calculations from the reflection model into the appropriate RGB values for display. I know it has something to do with integrating certain functions to get the XYZ values and then transforming these to the RGB space via a matrix multiplication. What you're refering to with the transformation matrices is probably Cornell style color and shading models. These are well described; they wrote a couple of papers on the subject in Siggraph '79 (see the procedings for that year). I believe it falls under the title "color gamut transform pairs", I don't have the procedings handy, but it's pretty easy to find it. A more recent treatment of the subject, dealing with ray-tracing, can be found in Roy Hall's paper, "A Testbed for Image Synthesis", Published in IEEE Computer Graphics and Applications last year. However, for a run-of-the-mill ray tracer using those transformations is probably overkill. Several people here at Utah have written ray-tracing systems producing very nice images by simply treating the RGB channels as completly separate. In this case, all objects and light sources have their colors specified in terms of Red, Green, and Blue, and Whitted's recursive shading equation is applied to each of these terms individually. I'm using a RAMTEK capable of 1024 simultaneous colors determined by an 8-bit value for each component of RGB. Spencer Thomas posted a program a couple months back that converted images defined with separate RGB channels into a single 8 bit image. (Though you can probably change it to do a better job with 10 bits to work with).