Billy Biggs 97049311 firstname.lastname@example.org
Haines, Eric, "Point in Polygon Strategies," Graphics Gems IV, ed. Paul Heckbert, Academic Press, p. 24-46, 1994 http://www.acm.org/pubs/tog/editors/erich/ptinpoly/. Tomas Möller and Ben Trumbore., "Fast, minimum storage ray-triangle intersection." Journal of Graphics Tools, 2(1):21--28, 1997. http://www.graphics.cornell.edu/pubs/1997/MT97.html.The adaptive supersampling technique is taken from Foly & van Dam. My reference for colour and gamma functions is, as always, Poynton. The model of the teapot is from an example nVidia model, and the phone handset (yes, that's what it is) is from an unknown source.
Source code and executable for the raytracer is here.
|My scene: Flying teapot, blue sphere, and flying phone handset. Teapot model has over 8400 polygons. 2x supersampled. Two point light sources. Phong exponent of 50. (Yes, I'm going to code vertex normal support next, just to make that teapot look better).|
|My scene with vertex normals: Flying teapot, blue sphere, and flying phone handset. No vertex normals for the flying phone handset because of the silly model format used to generate it. This code was not in the raytracer I submitted for assignment 1, and I just put this up here because it's a cool contrast to the image above.|
These are the primaries specified by both ITU-R BT.709 and sRGB. Given these chromanicities, we are given a relationship between the coordinates and the values of , , and . For example, the value of any colour can be expressed as a linear combination of the values for , , and individually. Since we can derive those from the chromanicities, we define constants , and to represent the factors of which the chromanicities contribute to the resulting value. To solve these values, I'm using the notation and ideas from the method described in Foley/van Dam.
In order to compute the values of , and , we need a known reference point. For this we will use the D65 white point (black body at 6500K) and use unity luminance () and map this to .
We can now use these to solve for , and by taking the inverse of the following:
Submitting back, we get the final matrix:
Inverting this we get the desired matrix:
|Raw version, relative sensitivity on the y axis, wavelength in nanometers along the x axis.|
|Normalized version such that each integral sums to unity. Again, relative sensitivity on the y axis, wavelength in nanometers along the x axis.|
|Plot of xy chromaticities with the sRGB gamut hilighted by slightly higher luminance. x values along the x axis, y values along the y axis, with 0,0 in the lower left corner of the image. This image was converted to sRGB for a display gamma of 2.2 (using the crazy 2.4 curve specified in the standard).|
|Plot of u'v' chromaticities with the sRGB gamut hilighted by slightly higher luminance. The u' axis is along the bottom, and the v' axis along the left so 0,0 is again in the lower left corner. This image was also corrected for a display gamma of 2.2.|
Name Last modified Size Description
Parent Directory - xy-srgb.png 29-Jan-2002 21:43 48K xy-srgb-ymapped.png 30-Jan-2002 15:49 60K uv-srgb.png 29-Jan-2002 21:43 35K textonly.html 30-Jan-2002 00:09 9.0K submission.tar.gz 30-Jan-2002 05:53 307K srgb-derivation.tex 30-Jan-2002 00:06 3.7K srgb-derivation.ps 30-Jan-2002 05:32 78K spheres.png 29-Jan-2002 23:18 41K rgbraw.png 29-Jan-2002 21:42 4.4K rgbnorm.png 29-Jan-2002 21:42 4.6K portray-0.1.tar.gz 30-Jan-2002 00:23 154K img9.png 30-Jan-2002 00:04 409 img8.png 30-Jan-2002 00:04 610 img7.png 30-Jan-2002 00:04 531 img6.png 30-Jan-2002 00:04 531 img5.png 30-Jan-2002 00:04 473 img4.png 30-Jan-2002 00:04 533 img3.png 30-Jan-2002 00:04 479 img24.png 30-Jan-2002 00:04 4.8K img23.png 30-Jan-2002 00:04 6.0K img22.png 30-Jan-2002 00:04 3.0K img21.png 30-Jan-2002 00:04 3.7K img20.png 30-Jan-2002 00:04 555 img2.png 30-Jan-2002 00:04 561 img19.png 30-Jan-2002 00:04 245 img18.png 30-Jan-2002 00:04 327 img17.png 30-Jan-2002 00:04 3.2K img16.png 30-Jan-2002 00:04 332 img15.png 30-Jan-2002 00:04 313 img14.png 30-Jan-2002 00:04 438 img13.png 30-Jan-2002 00:04 255 img12.png 30-Jan-2002 00:04 260 img11.png 30-Jan-2002 00:04 271 img10.png 30-Jan-2002 00:04 270 img1.png 30-Jan-2002 00:04 497 final.txt 30-Jan-2002 05:44 324K final.png 30-Jan-2002 05:16 30K final-vnormals.png 30-Jan-2002 23:46 27K colour/ 29-Jan-2002 23:21 - colour-0.1.tar.gz 30-Jan-2002 05:53 18K