Billy Biggs 97049311 wbiggs@uwaterloo.ca
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. |
| Red | ||
| Green | ||
| Blue | ||
| White (D65) |
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:
We get:
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 -
colour-0.1.tar.gz 30-Jan-2002 08:53 18K
colour/ 30-Jan-2002 02:21 -
final-vnormals.png 31-Jan-2002 02:46 27K
final.png 30-Jan-2002 08:16 30K
final.txt 30-Jan-2002 08:44 324K
img1.png 30-Jan-2002 03:04 497
img10.png 30-Jan-2002 03:04 270
img11.png 30-Jan-2002 03:04 271
img12.png 30-Jan-2002 03:04 260
img13.png 30-Jan-2002 03:04 255
img14.png 30-Jan-2002 03:04 438
img15.png 30-Jan-2002 03:04 313
img16.png 30-Jan-2002 03:04 332
img17.png 30-Jan-2002 03:04 3.2K
img18.png 30-Jan-2002 03:04 327
img19.png 30-Jan-2002 03:04 245
img2.png 30-Jan-2002 03:04 561
img20.png 30-Jan-2002 03:04 555
img21.png 30-Jan-2002 03:04 3.7K
img22.png 30-Jan-2002 03:04 3.0K
img23.png 30-Jan-2002 03:04 6.0K
img24.png 30-Jan-2002 03:04 4.8K
img3.png 30-Jan-2002 03:04 479
img4.png 30-Jan-2002 03:04 533
img5.png 30-Jan-2002 03:04 473
img6.png 30-Jan-2002 03:04 531
img7.png 30-Jan-2002 03:04 531
img8.png 30-Jan-2002 03:04 610
img9.png 30-Jan-2002 03:04 409
portray-0.1.tar.gz 30-Jan-2002 03:23 154K
rgbnorm.png 30-Jan-2002 00:42 4.6K
rgbraw.png 30-Jan-2002 00:42 4.4K
spheres.png 30-Jan-2002 02:18 41K
srgb-derivation.ps 30-Jan-2002 08:32 78K
srgb-derivation.tex 30-Jan-2002 03:06 3.7K
submission.tar.gz 30-Jan-2002 08:53 307K
textonly.html 30-Jan-2002 03:09 9.0K
uv-srgb.png 30-Jan-2002 00:43 35K
xy-srgb-ymapped.png 30-Jan-2002 18:49 60K
xy-srgb.png 30-Jan-2002 00:43 48K