The common practice in computer graphics of multiplying RGB triplets to model the perception of reflected light is simple and efficient, but it does not predict color reliably, nor can it model metamerism or optical phenomena that are spectral in nature, such as iridescence. Spectral
rendering meets these goals, but the O(n) cost incurred in multiplication of n-dimensional spectra can be prohibitively expensive. Although spectra can be well approximated by linear combinations of m≪ n basis vectors, standard linear models lead to matrix-vector multiplication
with complexity O(m2) when performing lighting calculations in the lower-dimensional space. A method by Drew and Finlayson reduces this cost to O(m) with a “sharp” basis that has been transformed by an m×m matrix T, each column of which is
the solution to an optimization problem requiring specification of an interval of wavelengths. Choosing good intervals, however, is itself an optimization problem, which the authors neither pose nor solve. Instead, we construct T by optimizing the sharpness of a basis and the minimum
angle between its vectors, but obtain better results by minimizing the residual error explicitly. Alternatively, by minimizing a weighted subspace projection we can solve a simpler problem that converges to the same minimum-residual solutions. Testing these methods with a variety of spectra,
we obtain good accuracy with as few as four dimensions, permitting real-time rendering at arbitrarily high spectral resolutions for a cost that is only a fraction above that of RGB rendering.