Modeling Pigmented Materials for Realistic Image Synthesis CHET S. HAASE University and GARY W. MEYER of Oregon This article discusses and applies the Kuhelka Munk theory of pigment mixing to computer graphics in order to facilitate improved image synthesis. The theories of additive and subtractive color m]xing arc discussed and are shown to be insufficient for pigmented materials. The Kubclka Munk theory of pigment mixing is developed and the relevant equations arc derived. pigmer]t mixing experiments are performed and the results are displayed on cokw tekm’ision monitors. A paint program that uscs Kubelka Munk theory to mix real pigments is presented. Theories of color matching with pigments are extended to determine rcflectances for use in realistic image synthesis. (’categories and Subject Descriptors: 1.3.4 [Computer .s,v,<tcm.s:1.17 [Computer Graphics]: Three-Dimensional Graphics]: Graphics Graphics Utilities and Realism color, patnt .shad- jf),qr, .shfldof IIIIg, and text MI.(, (;cneral Terms: Al~oritbms, Experimentation, Additi[,nal Key Words and Phrases: modeling. pigment mixing Human Factors Color matching, color science, cnlor selection, illumination 1, INTRODUCTION The illumination model in computer graphics is constantly being refined so that it provides an ever more accurate model of reality. However, no illumination model will work unless the objects in the scene have been properly described. This fact has been realized and the surface properties of objects have been painstakingly modeled, especially as they relate to reflection direction and strength. But a comprehensive approach to object modeling should also take into account the physical makeup of those surfaces. In particular, most manufactured objects in the real world have pigmented surfaces, such as painted items, plastic objects, and textiles. To accurate] y This research was funded by a grant from Apple Computer, Inc. Additional support was provided by the Hewlett-Packard (hmpany and the Oregon Advanced Computing Institute,. .kuthors’ address: Department of Computer and Information Science, University of Oregon, Eugene, OR 97403. Permission to copy without fec all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and tbe title of tbe publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. c 1992 ACM 0730-0301/92/ 1000-305$01.50 ACM Transactions on Graphics, Vol. 11. No. 4, octoher 1992, Pages 305 335 306 . C. S. Haase and G. W. Meyer model the color of any pigmented object, the physical interactions within the pigmented surface must be included. A straightforward way of specifying color in a graphics scene is via the common red, green, and blue ( RGB ) triplet. This approach is the easiest to deal with in scene generation computations, since this specification is exactly what is needed by the computer to generate colors for the screen output. But this method is far removed from reality—the RGB method is only appropriate for additive colorants, such as colored lights (e.g., the phosphors in the monitor screen); nonemitting objects should be specified in terms of their reflective and transmissive characteristics. A second approach for specifying color is in cyan, magenta, and yellow ( CiWY ) space. This specification is in the domain of subtractive color synthesis and accurately models the effect of light transmission through a colored surface. This specification is especially important with respect to the color reproduction industry. For instance, color printer manufacturers must deal with translating images from the domain of computer monitors (in which all colors are RGB ) to the domain of hardcopy devices, in which the colors must be specified in CMY coordinates (Stone, et al., 1988). This subtractive method is also used in some screen-based painting applications, such as Small (1991) and some commercially available programs, as a better attempt to model realistic color mixing. However, as will be shown in this paper, this method is insufficient for representing pigmented surfaces, since CMY color synthesis works best for purely transmitting materials; pigmented surfaces have both transmitting and reflecting characteristics. The most accurate way of dealing with light in a synthetic imaging application is on a wavelength-by-wavelength basis [8, 14, 19]. It is only in this way that the more subtle illumination modeling and color calculation problems can be handled. The spectral energy distributions of the light sources in the environment must be given and the spectral reflectance, transmittance, and absorptance of the surfaces with which these light sources interact must be specified. Pigment mixing is an example of an optical phenomenon which must be modeled in this way. The Kubelka-Munk theory is used by the paint industry to predict the reflectance that will result when two or more pigments are mixed. This theory has been discussed within a computer graphics context [12] but has not been used to solve color synthesis problems. In this paper we introduce the Kubelka-Munk theory of pigment mixing and apply that theory to computer graphics to facilitate correct-color calculation for realistic image generation. Section 2 develops some of the significant differences in additive and subtractive color mixing and discusses the need for different mixing theory for pigmented materials. Section 3 introduces and develops the Kubelka-Munk theory of pigment mixing. Section 4 discusses the pigment-mixing experiments carried out for this project. Section 5 introduces the topic of color matching with respect to pigments; given a sample color, it is possible to calculate a pigment mixture that will render an approximation to this color. The final section provides a summary. ACM Transactions on Graphics, Vol. 11, No. 4, October 1992 Fragmented Materials for Realistic Image Synthesis Fig. 1. 307 Color television monitor gamut in CIE XYZ space 2. SUBTRACTIVE COLOR MIXING The human visual system contains three types of daylight receptors, called cones. The spectral sensitivity functions of the three cone types are different, but they do overlap significantly. Because there are only three types of cones to sample the entire visible spectrum, it is possible for two different spectral energy distributions to produce the same three cone signals. When this happens the visual system is unable to distinguish between the color sensations evoked, and the spectral energy distributions are said to be metamers. This means that satisfactory color reproduction can be achieved without having to perfectly reconstruct the original spectral energy distribution. In fact, the number, shape, and position of the spectral sensitivity functions make it possible to reproduce most colors by manipulating only the short, medium, and long wavelength regions of the spectral energy distributions used to create the reproduction. The most straightforward way of controlling the energy in these three different portions of the spectrum is to combine the light from three sources. This approach, which is called additive color synthesis, is used in the standard cathode ray tube of color televisions and monitors where three electron guns independently address the short, medium, and long (blue, green, and red) areas of the spectrum. For instance, in combining a light from the short wavelength region with one from the medium wavelength region, a spectral energy distribution is produced which elicits the visual sensation of cyan. The color television monitor gamut produced by additively mixing the light from the three red, green, and blue primaries is shown in Figure 1. A more indirect way of controlling the energy in the three different spectral regions is to place a stack of three filters in front of a light source. This approach is called subtractive color synthesis, because information is removed from the spectral energy distribution of the light source. This acACM Transactions on Graphics, Vol. 11. No. 4. Octohcr 1992. 308 . C, S. Haase and G. W. Meyer complishes the same goal as additive color synthesis but does not allow completely independent control of the short, medium, and long wavelength regions of the spectrum. For instance, suppose two subtractive colorants are used—cyan and yellow—the cyan colorant transmits energy in the medium and short regions of the spectrum (similar to the cyan produced in the additive example above), and the yellow passes energy in the long and medium regions. By combining these colorants in subtractive color mixing (further explained below), we derive a colorant which controls energy in the medium region and we see a green color; essentially, the short and long spectral energy present in both components was subtracted from the final result. Again, the visual system is being stimulated by selectively manipulating particular regions of the visible spectrum. The example of the colored filter given above is a very simplified view of subtractive color. Instead of talking about the long, medium, and short areas of the visible spectrum, we can quantify the characteristics of a given subtractive colorant on a wavelength-by-wavelength basis. In particular, at each wavelength of the visible spectrum, the colorant will allow some given percentage of light energy to pass through. This information, plotted graphically with wavelength versus the percentage of light passed through the material, gives us the transmittance curve for that filter. An example of such a curve is seen in Figure 2, where we see that more light energy toward the lower end of the spectrum is allowed to pass than light energy at the higher end. Thus, given a light source which emits equal energy at all wavelengths, the resulting color of the light passing through the example filter would be cyan. These subtractive colorants are made from some clear material in which a colored substance is dissolved at a given concentration. The transmittance data discussed above assumes a given thickness of the colorant layer, h, and a given concentration, c, of the colorant. If we change either of these variables —the thickness or the colorant concentration—we would expect the nature of the transmittance of the filter to change as well. These transmittance changes are described by the Bouguer and Beer laws. Bouguer’s law states that given a transmittance T at a particular wavelength and a thickness h, the transmittance at a thickness of nh at that wavelength is Tn. Similarly, Beer’s law states that given a transmittance T at a particular colorant concentration c and a constant thickness, the transmittance at that wavelength is Tm where the concentration is mc [10]. The effect of varying the concentration of a hypothetical dye can be seen in Figure 2. Changing the concentration or the thickness of a filter produces a locus of tristimulus values which is much different than the collection of tristimulus values created by varying the intensity of a light source that shines through a filter with constant transmittance characteristics. Given a filter that corresponds to unit concentration of the dye shown in Figure 2, Figure 3 depicts the locus of CIE XYZ tristimulus values produced by changing the intensity of the light passing through the filter. This locus is a straight line that projects to a single point on the unit plane. This means that a single pair of chromaticity coordinates can be used to describe the colors that are produced. ACM Transactions on Graphics, Vol. 11, No. 4, October 1992 Fragmented Materials for Realistic Image Synthesis Varying I I T Concentration Cyan . 309 Cone Chart = 1 1 I 1 . ..–— 400 —— . 450 500 550 600 650 700 Wavelength Fig. 2. Spectral transmittances for unit thickness and varying concentration of a cyan dye. On the other hand, when the light source remains constant and the concentration of the filter varies, the locus of CIE XYZ tristimulus values shown in Figure 4 results. The projection of this space curve onto the unit plane produces a curved line segment. This indicates that the color produced by the filter is changing and no single pair of chromaticity coordinates can fully describe the situation. Calculation of subtractive colorant mixtures is analogous to subtractive concentration calculations, as above. Whereas, in the case of varying concentrations, we multiply the transmittance at every wavelength by itself for every unit of concentration, subtractive mixtures require the multiplication of transmittances of the different colorants in the mixture. It is helpful to think of this process in terms of separate colored filters. Light passing through each filter is multiplied by the transmittance of that filter (taking into account whatever concentration of thickness that filter has), then the process is repeated for each additional filter (and color). In Figure 5 we see the effect of mixing the cyan dye from Figure 4 with two other dyes. The gamut produced by varying the individual concentrations of the colorants is substantially different from the additive color-television monitor gamut shown in Figure 1. The difference in shape between the additive and subtractive gamuts illustrates the linear versus nonlinear dichotomy that exists between these two approaches to color mixing. Water color paints can be modeled using subtractive color mixing, because the paint is usually transparent enough to allow light to pass to the substrate A(’M Transactions on (;raphim, Vol. 11, .?Jo.4, october 1992. 310 * C. S. Haase and G. W. Meyer Fig. 3. Locus of values in CIE XYZ space resulting from shining a light of varying intensity through a cyan filter with constant concentration. The intersection with the unit plane is a single point. Fig. 4. Locus of values in CIE XYZ space resulting from shining a light of constant intensity through a cyan filter of varying concentration. The intersection with the unit plane is a curved line. Fig. 5. Gamut produced in CIE XYZ space by mixing varying concentrations of cyan, yellow, and magenta dyes. and reflect back through the paint appropriately colored with respect to the transmitting properties of the watercolor [lo]. Pigmented materials such as artists’ oil paints, on the other hand, do not work as well within the subtractive domain. The preceding discussion assumed that the materials involved were transparent and allowed light to pass through the substance, ACM Transactions on Graphics, Vol. 11, No. 4. October 1992 Fragmented Materials for Realistic Image Synthesis . 311 I I Fig. 6. Light interactions within a pigmented material (after Evans, 1948), selectively absorbing light energy at certain wavelengths; but pigmented solutions consist of opaque particles in a transparent medium, quite different from the completely transparent solutions of subtractive colorants. To understand pigmented solutions, we must look at them on a particle level. Each pigment particle has both absorbing and reflecting properties. The absorption of a pigment particle is related to its transmittance, because absorption is equal to 1 minus the transmittance. But in addition to this absorption effect, there is the effect of selective reflectance, or scattering, of light energy. Scattering is the property that determines how much of the incident light is reflected from the surface of the pigment particle per wavelength. Each of these two factors (illustrated in Figure 6) can be described by spectral curves which describe the percentage of energy absorbed or scattered by the pigmented solution at each visible wavelength. Together these absorption and scattering properties produce spectral reflectance characteristics which create the color that we observe. The problem in making calculations based on these properties is that each pigment particle in the solution has the properties of scattering and absorption. In the case of the transparent solutions discussed previously, the colorant was completely dissolved in the solution or material. But in the case of pigments, the pigment material is ground up finely and distributed throughout some filler, such as linseed oil in the case of artists’ oil paints. Making calculations based on the independent properties of scattering and absorption for every pigment in the solution would require accounting for the size, density, and shape of every particle. One of the theories of scattering A(’M Transacti(]ns on Graphics, Vol. I 1, No. 4. octoher 199$2 312 . C. S. Haase and G. W. Meyer and absorption of materials, the Mie theory, uses this information to calculate various properties of individual pigment particles. But this level of detail is somewhat too complex for calculating information about pigment solutions [17]. Some other means to calculate the absorption and scattering for the overall material would be very beneficial. This, then, was the motivation for the work done by Kubelka and Munk. 3. KUBELK+MUNK THEORY Instead of looking at pigmented solutions on a particle level, Kubelka and Munk observed the effects of light energy in the entire solution. This approach incorporated the ideas behind the pigment particle scattering and absorption interactions, but allowed a much easier and more comprehensive calculation of entire pigmented systems. By using this approach, Kubelka and Munk came up with the equations that are still used in the pigment industry today. Kubelka and Munk examined what happens as light traverses a thin layer of paint applied over a substrate. At any location in the paint, light from the surface is moving deeper into the material and light that has reflected from the substrate is traveling back toward the top of the film. A certain fraction, K, of the light traveling in each direction will be absorbed by the material, and another portion, S, will be scattered. Light from each direction that is scattered is assumed to contribute to the amount of light traveling in the opposite direction. A set of differential equations were written as a result of this analysis. A complete derivation of these equations is given in the Appendix. For complete hiding (i.e., when the pigment layer is so thick that the substrate cannot be seen), the solution of the differential equations for the reflectance, R=, is /( ) K2 R.=l+; This is often rewritten – F K +2F. (1) as: K ()z= (1 - R.)2 2R. “ (2) Using Equation 1, we can now derive the spectral reflectance of any pigmented material at complete hiding if we know its respective K and S values (and the spectral properties of the solution in which the pigments are immersed). These are the equations that were used for all of the work reported in this paper. Solutions to the differential equations can also be found for the case in which the spectral characteristics of the base material affect the spectral composition of the entire system [ 16]. ACM Transactions on Graphics, Vol. 11, No. 4, October 1992 Fragmented Materials for Realistic Image Synthesis We can find the properties of mixtures of pigmented solutions by using fact that combinations of absorption and scattering are linear [9]: K,v = 313 the ~ K, c, (3) Sw= ~ s,c, ,=1 (4) 1–1 and K (-)s X: ,K, c, ~= L; ,S,c, (5) where Kiv absorption of pigment SM scattering of pigment n number of pigments (’, concentration K, absorption of i th pigment s, scattering of ith pigment. mixture mixture in mixture of i th pigment in mixture by weight of dry pigment Each equation is calculated for each wavelength. The use of these equations in predicting mixtures and matches of colors is covered in later sections of this paper. It is helpful at this point to look at the K and S values more closely in terms of their significance and their calculation. First of all, the units of K and S are not important for the purposes of these equations. As they are always used in conjunction with each other for the Kubelka–Munk equations, their significance is in their ratio. This simplifies the gathering of the absorption and scattering data significantly; instead of having to measure the actual units of K and S for any particular sample, we can use the equations above and spectral reflectance curves to derive unitless K and S values [ 15]. For example, to derive the K and S values for the titanium dioxide pigment used throughout this work, S was set equal to 1 at all wavelengths and K was determined by using a given spectral reflectance curve for R [ 11] and Equation 2 above [ 15]. Once the K and S data for one pigment (titanium dioxide, in this case) has been calculated, the K and S for any given pigment may be derived, using the equations above and data for the spectral reflectance of various mixtures of the known pigment with the pigment in question. In the case of cadmium yellow medium, one of the primary pigments used in this project, two spectral curves were used [ 11]: one of cadmium yellow medium as a masstorze (i.e., a pure pigment) and one of cadmium yellow medium as a tint (i.e., mixed with titanium dioxide in a given ratio). By using Equations 2 and 5 above, and knowing the K and S values for titanium dioxide and the relative concentrations of the pigments in A(7.M Transact][ms IInGraphics, Vol. 11, N(I. 4, octoh~,r 19%? 314 . C. S. Haase and G. W. Meyer the tinted sample, there were two equations in two unknowns, and the K and S values for cadmium yellow medium were solved for appropriately. Again, the actual units of K and S are irrelevant as long as the relative proportions of the factors are correct. However, pigment data gathered from different sources must be used with caution. For instance, if the data for two different pigments were gathered from different sources (perhaps computed using two different sets of K and S data for titanium dioxide), the pigments should not be used together in the same equations. Unfortunately, the data required by the Kubelka–Munk equations must be extremely accurate, and gathering such data can be very difficult. The method of calculating K and S given above is very straightforward, but those K and S values will only be as good as the spectral curves on which they were based. Moreover, the data must be consistent across pigments. For example, if titanium dioxide is used as the tinting agent in the K and S calculations, any insufficiencies in the data for titanium dioxide will be reflected in unsatisfactory data for all other pigments that used these values in their own K and S calculations. There are many areas in the process of data gathering which must be handled carefully. To begin with, the measurement of pigment data must be consistent with its proposed use. For instance, since this research uses oil paints for examples, we gathered data from oil paints. Spectral curves that describe the reflectance for those pigments in other solutions are insufficient for our purposes. Also, the mixing of the pigment compounds is important; the ratio of pigment to solution as well as the ratio of pigments in tints could affect the outcome. Application of the pigment compounds to the measurement background is also problematic; a layer of the pigmented solution which does not completely hide the background will be affected by that background color. Measuring the spectral curve for the mixture is another important area. The accuracy of the measuring device in addition to the suitability of the lighting and viewing conditions can strongly affect the outcome of the measurements. Several simplifying assumptions were made in the theory and equations developed by Kubelka and Munk. First of all, the pigmented solution is treated as a uniform material, assuming complete dispersion of pigment in the solution and homogeneous density of pigment particles. In reality, various forms of deviations from this idea can occur, including flocculation (clumping) and floating of the pigment particles [211. Second, diffuse lighting and viewing conditions are assumed, and there is no account for surface reflection. Finally, the pigment surface is assumed to be planar, with no light escaping from the edges of the surface. This case is seen in the above assumption that light energy is either undisturbed, absorbed, or scattered. These assumptions are discussed more fully in [4] and [21]. Further work has been done on the Kubelka–Munk equations and its shortcomings. An important example is the work of Saunderson [24], in which a formula was proposed which attempts to account for both external and internal surface reflection. This formula is used to adjust the measured reflectance from which K and S are determined. Given the Fresnel reACM Transactions on Graphics, Vol. 11, No. 4, October 1992 Fragmented Materials for Realistic Image Synthesis . 315 tlectance equation: (6) where n, refraction index of the external medium (i.e., the air) nz refraction index of the internal medium (i.e., the oil). Saunderson’s formula is as follows: R“, –kl R,=kl+ 1 –kl –ky +kzR,~ (7) where R, theoretical reflectance; mining K and S R,,, measured tometer reflectance; k[ front-surface kz internal reflectance 4. PIGMENT spectral reflectance spectral reflectance reflectance adjusted measured for use in deterby a spectropho- of the film of the film. MIXING Given a set of pigments with absorption and scattering data, we can calculate the absorption and scattering curves for any specified mixture of the pigments using Equations 3 through 5 in the previous section. The K and S curves for these pigments can then be used to derive the spectral curves for the mixtures using Equation 1. Finally, the colors of these mixtures can be displayed on the computer monitor by converting the spectral curve to CIE XYZ coordinates and then transforming into the RGB primaries of the monitor. This ability to calculate correct pigment mixtures and display those results accurately on the monitor means that we can now bring the world of realistic color selection and mixture into computer graphics. For instance, artists could use their experience with paints and palettes to select and mix colors on the computer just as they would in the studio; they are no longer limited to the RGB additive color selection methods that monitor technology has imposed. The difference between organic and inorganic paint mixtures provides a good example of why it is critical to use Kubelka-Munk theory to predict pigment mixtures. This organic/inorganic distinction is an important one for artists; mixtures of white with inorganic paints tend to “gray” out much more than those with organic pigments. For example, mixtures of napthol red (an organic paint) with titanium dioxide and cadmium red (an inorganic paint) with titanium dioxide can be compared. Although the red colors look very similar in their masstone states, their respective mixtures with white are quite different. This difference can be seen in Figure 7 where the effect is ACM Transactions on Graphics, Vol. 11, No. 4, octoher 1992. 316 . C. S. Haase and G. W. Meyer Fig. 7. Canvas painted with real pigments showing mixtures of cadmium red (top) and napthol red (bottom) with titanium white. From left to right the tint concentrations were 2, 5, 10, 20, 40, 80, and 100 percent by dry weight of pigment. demonstrated using real pigments. These differences are known to those who use paints; artists choose their palettes very carefully based on the types of colors they would like to produce from paint mixtures. The existing algorithms that are used in computer graphics to simulate paint mixing are unable to capture this difference between organic and inorganic pigments. Commercially available electronic paint programs use an RGB instead of a spectral representation for the paints that are mixed. A weighted average based upon the convolution mask of the brush profile is taken between the RGB of the paint being applied and the RGB of the background. Oddy and Willis 1221 have extended this approach to include a pigment medium, but it is still an RGB averaging technique. For efficiency, paint programs often use the non-gamma corrected RGB values, which means that the mixing cannot even be described as additive. Given the RGB values for the pure cadmium red, napthol red, and titanium white pigments used in Figure 7, a pigment mixing simulation that applies this weighted average RGB approach leads to the result shown in Figure 8. Because there is no way to directly relate the pigment concentrations used to create Figure 8 to the proportions employed in the weighted average RGB approach, the color scales in this figure were computed by linearly interpolating between the RGB values for titanium white and the RGB values for each of the two pigments. The white pigment RGB to red pigment RGB proportions are identical for corresponding swatches in the two color scales, and the initial proportions were selected so that the beginACM Transactions on Graphics, Vol. 11, No. 4, October 1992. Fragmented Materials for Realistic Image Synthesis - 317 Fig. 8. Result of using paint mixing approach employed by traditional painting programs to simulate the mixture of cadmium red and napthol red pigment with titanium white. ning colors in the real and the simulated cadmium red scales were close (an exact match was not possible). Note that because both pigments in their masstone states have almost identical RGB values, there is little difference between the cadmium red and the napthol red color scales in the simulation. Converting from an RGB to a CiWY representation has no effect on this result because the transformation is linear. A wavelength-based approach that models the pigments as cyan, yellow, and magenta filters is also incapable of capturing the mixing differences between the two pigments. In order to correctly model pigment mixing in computer graphics, a pigment-based approach, such as the Kubelka-Munk method, must be employed. This is the only way to include the absorption and scattering phenomena that take place in real paint films. An important step in this approach is to obtain data for the pigments which is suited to the purposes of the application. In our case, we were comparing our research results with artists’ oil paints, so we needed to get data for the pigments in a medium of oil. Off-the-shelf oil paints can contain various ingredients in addition to the main pigment, so we used pure dry pigment and linseed oil. To obtain K and S data for the cadmium red and napthol red pigments, it was first necessary to create masstone solutions for cadmium red, napthol red, and titanium white; this was done by mixing linseed oil with the pure pigments. Next, a tint with titanium white was created for each red pigment ACM Transactions on Graphics, Vol. 11. No. 4. October 1992. — 318 . C. S. Haase and G. W. Meyer Nap Tit New Chart 1.00 Napthol Red Masstone — 0.00 400 450 500 550 600 .— 650 700 Wavelength Fig. 9. Spectralreflectancecurvesfor titaniumwhite,naptholred, and a tint of titaniumwhite with naptholred. by combining measured amounts of dry pigment with oil. Spectral measurements were then taken of all masstones and tints (Figure 9). From the spectral curve for titanium white, we deduced K and S values for that pigment by setting S equal to one at all wavelengths and solving for K. Using these absorption and scattering values and the spectral curves for the masstones and tints for each red pigment, the K and S curves were calculated as described in the previous section (Figure 10). Finally, given the data for all three pigments, the spectral curves for arbitrary concentrations were calculated using Equation 1. The results of the Kubelka-Munk modeled canvas are seen in Figure 11. This example compares favorably with the actual paint mixtures in Figure 7. It is interesting to contrast this result with that shown for additive mixing in Figure 8. With both the real mixtures and the Kubelka-Munk modeled mixtures, there is a marked difference between the two stripes; cadmium red goes to white much faster than napthol red. But in the additive mixing example, both pigments proceed at about the same rate and the difference at any given concentration is not very significant. These differences are quantifiable, using a color difference formula. In Figure 12, we have plotted A E as measured in CIE L*a*b* coordinates for the Kubelka-Munk and additive pictures. We can see that the color differences between the pigment scales in the Kubelka-hfunk experiment are much higher for the tints at smaller red pigment concentrations. But with the additive experiment, the color diflerACM Transactions on Graphics, Vol. 11, No. 4, October 1992. Fragmented Materials for Realistic image Synthesis . 319 napthol ks new chari copy Fig. 10. K and S curves corresponding to napthol red pigment shown in Fig. 9 Fig. 11. Result of using Kubelka-Munk theory to simulate the mixture of cadmium red and napthol red pigment with titanium white. ACM Transactions on Graphics, Vol. 11, No. 4. October 1992. — 320 . C. S. I+aase and G. W. Meyer 12 Kubelka-Munk 10 Mixing 8 :6 4 2 J_____ 1 2 RGB Mixing 4 3 Swatch 5 6 7 Number Fig. 12. Color difference in CIE L*a*b * space between the cadmium in Figure 8 and between the same color scales in Fig. 11. red and napthol red scales ences remain relatively flat, showing that the mixing differences for the pigments were not picked up by the additive mixing approach. Another experiment that was performed for paint mixing calculations involved modeling a color wheel which was painted using standard off-theshelf paints and then modeled using data for the pigments in those paints. The color wheel (Figure 13) was thus constructed: the outer circle uses just the three primaries-alizarin red, prussian blue, and cadmium yellow medium—as marked on the canvas. These primaries were mixed in 50/50 proportions to derive secondaries, which lie halfway between each of the primaries. Each secondary was then mixed with each primary to derive the tertiaries, which complete the circle. The inner circle is composed of 50/50 mixtures of the primaries and secondaries with titanium dioxide, shown in the middle of the wheel. The possible gamut in CIE L*a*b* space that can be produced using these four pigments was computed using Kubelka-Munk theory and is shown in Figure 14. For comparison, consider Figure 15 which shows the position in CIE L*a*b* space of the color television monitor gamut from Figure 1. Clearly the pigments are not capable of producing colors as saturated as those created by the monitor. It is also interesting to note that a very dark color is also not possible using the four pigments selected. A simulation of the canvas shown in Figure 13 was also done and is included as part of Figure 19 which is discussed in Section 6. It should be noted that both the gamut in Figure 14 and the canvas in Figure 19 were not computed using data that we measured ourselves but from masstone and tint curves published elsewhere [11]. As described in the previous section, such data must be used with care, because of differences that may exist in materials and measurement techniques. ACM Transactions on Graphics, Vol. 11, No, 4, October 1992. Fragmented Materials for Realistic Image Synthesis . 321 Fig. 13. Canvas painted with real pigments showing mixtures of cadmium yellow (12 o’clock), alizarin red (4 o’clock), prussian blue (8 o’clock), and titanium white (center). There are many potential uses for this approach to color mixing. One of these applications is in computer painting programs; as the organic/inorganic mixing experiment pointed out, much more realistic results can be derived by using these pigment mixing techniques than by using current painting program mixing techniques. One such application that has been developed is an airbrush program that uses the Kubelka-Munk approach to color mixing to predict realistic mixing of colors on the painting canvas. Instead of using arbitrary RGB colors for the painting tool, the user selects colors from among a palette of available pigments (Figure 16). This palette is limited only by the pigment data available to the program. When the user selects a color, the K and S data for that pigment is loaded into the airbrush. Painting then occurs in the usual paint program manner except that, where colors overlap on the canvas, their mixture is correctly computed and displayed. This is accomplished by having each pixel, as well as the brush, keep track of its own current K and S values. When any pixel is painted over, new K and S values are calculated using the data for the brush and the pixel and Equations 3 and 4. Then the reflectance of the pigment mixture is determined, the RGB tristimulus values are found, and the appropriate color is displayed in that pixel. This painting program uses a K and S frame buffer technique which stores the current K and S values for each pixel at four specific wavelengths. These wavelengths were selected to compute tristimulus values from spectral energy distributions by using Gaussian quadrature [19]. Limiting the wavelength information is necessary for the purposes of real time interaction and ACM Transactions on Graphics, Vol. 11, No. 4, October 1992. 322 . C. S. Haase and G. W. Meyer Fig. 14. Gamut produced in L*u*b* space by mixing varying concentrations of cadmium yellow, prussian blue, alizarin red, and titanium white. Fig. 15. Color television monitor gamut in L*a*b* space. conservation of memory resources. Since the pigment reflectances are quite smooth, the errors caused by this low sampling rate are minimized. The program also manipulates the floating point K and S values in appropriate integer form to save memory resources. Future hardware developments may make it possible to avoid these optimization methods and still maintain good performance. 5. COLOR MATCHING Most scene generation in computer graphics involves specification of object color by RGB triplets; this method is certainly an easy way to pick a color, ACM Transactions on Graphics, Vol. 11, No. 4, October 1992. Fragmented Materials for Realistic Image Synthesis . 323 Fig. 16. Airbrush program showing pigment selection, current brush color, and artwork being worked on. Fig. 17. Use of a hue, saturation, and brightness color model to select a color to be matched. Program mixes pigment concentrations to generate a reflectance that will create the desired color. and it is also readily interpreted by the computer during scene computation. However, when color fidelity is critical and when rendering techniques, such as ray tracing and radiosity are being used, a wavelength based approach to specifying color is necessary. A database of spectral reflectances can be created [20] to facilitate the use of such curves in image synthesis. Colors available when such an approach is used are limited to the number of curves in the database. The number of possible colors can be increased, and the number of curves in the database can be decreased, by storing pigment data instead of individual reflectances. Pigment mixtures can be determined by ACM Transactions on Graphics, Vol. 11, NIL 4. October 1992. 324 . C. S. Haase and G. W. Meyer using the techniques described in the previous section. However, speci&ing color in terms of pigment concentrations is not very intuitive for most people; if a particular shade of red is imagined for some plastic object in the scene, the typical computer user would probably not be able to come up with appropriate pigment concentrations which would produce this particular red. What is required is a method for interpreting the user’s intuitive color designation and then producing a pigment specification. This problem is known in the pigment industry as “color matching.” In standard color matching problems, a sample of color is presented and a match is computed which most closely approximates that color. For instance, if you want to repaint part of your house but do not have the original paint, the paint store could give you a mixture which approximates that color using potentially very different pigments than were used originally. What we need to do in computer graphics matching is analogous. For example, in creating a graphics image, the user may want to specify the color of a wall using RGB values (which could be textually or graphically entered, depending on what user interface tools were available for the scene description). Then the matching program would convert this color into concentrations of whatever pigments provided the best match. From the preceding sections of this article it is clear that, given a set of pigments about which the proper data is known, we can predict the outcome of mixtures of those pigments. Therefore it is reasonable to assume that we can use these capabilities to calculate color matches with the pigments-that is, given certain data about an arbitrary color, it is possible to specify which pigments and concentrations are required to approximate the closest match possible to that color. For this project, we wanted a program that would allow the user to specify a color in terms of its color space coordinates, either RGB or CIE XYZ. An important additional feature was to give the user a graphical interface for this specification, so that the user did not have to know the actual coordinates but could choose the color interactively and visually. The program would also allow the user to specify various parameters and constraints for the program to use in calculating the match, such as how close the match should be and which set of pigments to use. Given this color specification, the program would compute the best color match with the given set of pigments. There are several possible approaches to this matching problem. They differ in the types of data required for the computations, the computational complexity involved, and the suitability of the results. The most straightforward approach to solving the problem is to iterate through the set of available pigments, calculate their mixtures in all possible combinations and concentrations, and choose the mixture that comes the closest to matching the sample. Although this brute-force method is certainly the slowest possible, it is also the most accurate; since all possible mixtures are checked, the result is the most correct. In addition, this method provides the greatest flexibility in terms of the data required for the calculations, because data about the sample can be provided in any suitable form. The calculations depend on the data only to the extent that it is needed to see how close a ACM Transactions on Graphics, Vol. 11, No. 4, October 1992 Fragmented Materials for Realistic Image Synthesis . 325 mixture has come to matching the sample. The search time can be limited by various means, including: restricting the set of pigments being searched, halting calculations when a mixture comes within some specified tolerance, and having the program intelligently direct the search based on some criteria such as pigment suitability. Although these methods can shorten the search time significantly, a much more efllcient method is required. Another approach to color matching is spectrophotometric matching [2, 5, 17, 23, 27], in which the calculations attempt to find a match with a spectral curve that best fits the spectral curve of the given color. While the algorithm used for this approach is much more eflicient than the brute-force approach described above, the data required for the calculations are not appropriate for our application. Since the color we would like to match may be specified only in terms of CIE XYZ or RGB, we do not necessarily have a characteristic spectral curve to match against. Clearly, another method is needed. Tristim UIUSmatching, a better approach, is the one taken in most of the color matching references used in this research, including [2, 3, 13, 17, 18]. Just as in spectrophotometric matching, this method intelligently narrows down the search using a steepest descent method of optimization to find the best match for a set of pigments. But this method also has the advantage of requiring that only the tristimulus coordinates of the sample color be matched. Tristimulus matching makes a linear approximation of the nonlinear functions involved in the Kubleka-Munk equations, so it may require several iterations to arrive at an answer (if a match is possible). Each iteration results in a new trial match which is then compared to the sample using some color difference formula. If the trial is not within a pre-specified tolerance, then a new match is calculated. If at any time the concentration values of any of the pigments become negative, then a match with these pigments is not possible. While this method is adequate for many cases of color matching, it has some disadvantages. Most significantly, this approach as described in the literature is limited to a given set of three pigments plus white. To use the formulas as is, a general match from a larger set of pigments could only be derived by iterating through the set of pigments, coming up with the best match from all sets of three. But in a general color-matching case, this may be terribly inefficient; a large pigment database would require a substantial calculation time to find the best match. Furthermore, the user may not necessarily want to be limited to three pigments in the resulting color match. If a better match could be derived from a larger set of pigments, then it would be helpful to provide that match instead. Another problem with the tristimulus method is that the amount of change required in the pigment concentrations for the next match is based on the absolute differences between the CIE XYZ coordinates of the current trial match and the sample match; a color difference formula is used to judge whether the trial is a good match, but CIE XYZ coordinates are used to derive each new trial. The color difference formula would be a better metric to use in deriving the trial matches as is done in Cogno et al. [7]. Finally, it is important to account for metamerism in any color match. Metamerism is the ACM Transactions on Graphics, Vol. 11, No. 4, October 1992. — 326 . C. S. Fiaase and G. W. Meyer degree to which a color changes in different lighting and viewing conditions. Usually, we do not want a color to appear very different across environments, so we would like to limit the degree of metamerism to some tolerance level. A matching algorithm must therefore take into account an arbitrarily large set of pigments, make better use of the color difference formula, and have the ability to control the degree of metamerism. Its main goal, of course, is to find a match which is as close to the sample color as possible. In other words, the color difference should be equal to zero. Therefore, we need to minimize the color difference function. The CIE L*a*b* color difference formula [28] is: AE = [( Aa*)2 + (Ab*)2 + (AL*) 2] ’/2 (8) where () L* = 116 ; 1/3 – 16 (9) ( 10) a*=500[Ei3-Er31 b*=200[(~r3-(:r31 (11) and x, Y, z tristimulus values of the color in question XO, YO, ZO tristimulus values of the light source Aa*, Ab*, AL* differences in values between colorants. First we note that minimizing this value can also be achieved by minimizing its square, A E2, thus we can eliminate the square root from Equation 8. To find the minimum for A E2, any of several numerical methods may be used. We used the method of steepest descent, which follows the negative of the gradient at any given point on the function to get as close to zero as possible. This is an iterative method, like the tristimulus method explained above, which takes guesses at minimum values and then refines these guesses by repeated application of the same equation. Both this method and the tristimUIUSmethod depend on some initial guess. Allen [1] describes an algorithm to derive an intelligent first guess based on spectrophotometric data. Lacking this type of data, we use an arbitrary guess for the first trial, as suggested by Billmeyer and Saltzman [6]. An important constraint which complicates the situation is that the concentrations of the pigments should remain positive. The tristimulus method, as described in the references, does not attempt to find the closest match. Instead, if a match within the specified tolerance cannot be found, its calculations return negative values for some pigment concentrations, indicating that a match is not possible. Our method, however, should be able to ACM Transactions on Graphics, Vol. 11, No. 4, October 1992. Fragmented Materials for Realistic Image Synthesis . 327 obtain the closest match possible. This ability is especially important for what we are trying to accomplish—matching RGB colors with their closest subtractive approximations; many colors in RGB space may not have exact matches with any combination of pigments. Instead of using the positive concentration value as a constraint on the problem, though, we can rewrite the concentration value c, as the square of some value q,. This will allow the equations to be solved for the optimal qi values while the Ct values remain positive. Using this technique allows us to keep the values of the concentrations positive without adding a complicating constraint to the problem. Now we can proceed with finding the gradient for A E2. This will be the direction vector toward the minimum. For the gradient we will need the partial derivatives of the formula with respect to the q, of each of the pigments involved. We know that: ~AE~ I?AE2 — _— x 2q*. (?Ct ~q, (12) Next, by the Chain Rule: (?AEP ~AE2 ~c = ——+ dx 1 These component (7X dAE2 dY ——+—— dY (?C, ac, (?AE2 az dZ dc, “ (13) partials are written as follows: (14) /IAE2 dY –lOOO Aa* + 232 AL* + 400Ab* = ( 15) 3Y2’’3X;’3 dAE2 — dz . –400Ab* (16) 3z2/3zy3 and (17) ( 18) (19) where (?R ~= 1 SM K, – KM S, H s; x 1l-& ’20) ACM Transactions on Graphics, Vol. 11, No. 4, october 1992. 328 . C. S. Haase and G. W. Meyer and k loo/’ZAsAyA ‘A, observer yA, 2A SA matching functions given light source R, spectral curve of match KM, SM K and S for the current match trial K,, Si K and S for the ith pigment A wavelength; our method uses 16 wavelengths, increments from 400 to 700 nm. spaced at 20 nm Given the current match trial, the gradient is just a vector containing the values for the left side of Equation 12. Some multiple of this gradient is added to each current q, which are then used to derive new values for each Ci. These new Ci values are used to calculate a new match trial. If the match is within a specified tolerance of the sample or if a match is not possible but the nearest minimum has been reached, then the program is finished. If not, the process is repeated. The factor by which the gradient is multiplied has a severe effect on the calculation process, determining how fast an answer can be reached and how good that answer is. For our program, we based the multiplier on a scalar factor of the current color difference between the sample and the match; trials that were further away would take longer steps than those closer in. This method helps the program avoid overshooting the minimum and having to backtrack. The other important consideration for the multiplier is for those cases in which no perfect match is possible; in these cases, we would like to derive the closest minimum. The gradient multiplier helps this process. If the program ever overshoots the minimum, it is clear that the current step size is too large. So a scaling factor is input into the equation which decreases the gradient multiplier by half. Overshooting again causes another halving of the scalar multiplier. In this way, the closer the program gets to a minimum, whether it is a match or not, the smaller steps it will take. Execution then continues until either a match or a minimum has been found. A further important enhancement can be made to this approach to account for metamerism. In order to keep the degree of metamerism as low as possible, the function to be minimized could be rewritten as some combination of equations of the form of Equation 8, where each equation was calculated for a different light source or viewing condition. Then minimizing this new formula would result in a match which was minimized across these different conditions. The effects of metamerism upon the result could be easily changed by weighting the different components of the equation appropriately. For example, let us suppose that we wished to achieve a match under CIE standard illuminant C but also wished to minimize metamerism for CIE standard illuminant A. Let us further suppose that the metamerism component of the match was only ~ as important as the initial match. Then our minimizing equation would be A E2 = 4 A E$ + A E;. ACM Transactions on Graphics, Vol. 11, No. 4, October 1992. Fragmented Materials for Realistic Image Synthesis . 329 The approach we took toward color matching provided two major advantages over the standard color matching techniques covered in the references. First, we minimize in terms of a color difference formula, so the results we get are the closest color match in terms of this formula. This is in contrast to the tristimulus approach, which minimizes over X, Y, and Z and thus only achieves a minimum in tristimulus space, which does not necessarily correspond to a minimum color difference. Second, our formula admits an arbitrary number of pigments and attempts to find a suitable match from that set, regardless of how many pigments are to be used. This is helpful in many cases where either many pigments are required to make a match or the user does not know which limited set of pigments would be adequate. The tristimUIUSmethod formula, on the other hand, requires there to be a set number of pigments. In the usual form, this number is only three, though more could be added for different light sources [13, 17]; in this case, the user would have to know ahead of time which pigments were suitable or the machine would have to iterate through a larger set of pigments until an appropriate match were found. There are some things about this approach, however, that would require further development for a full-featured color matching algorithm. First, this steepest descent approach is guaranteed to find a minimum, but it will not necessarily be the global minimum; i.e., if there are many pigments involved and the initial guess is far from the true global minimum, the equations might settle on a local minimum even though a better match might exist with some other combination. This problem can be easily addressed through pigment choice and through the initial guess, although a more automated way of achieving this is desirable. Also, the equation does not take into account the cost of the pigments, which is important in many color matching applications. Finally, there is currently no way to limit the number of pigments used in the resulting match, other than the total number of pigments involved; if the user inputs 100 pigments into the program, then the result could potentially be a mixture which uses a small concentration from each pigment. We developed a program using the above techniques and specifications. The user inputs several pieces of information for the search to begin. To choose the color to be matched, the user can input color coordinates either textually using CIE XYZ or RGB coordinates or graphically (Figure 17). Next, the user may choose which pigments should be used in determining the match. The tolerance level, which is the color difference in CIE L*a* b* space below which the computer considers the match successful, can also be specified by the user. All of these selections are handled via a dialog box (Figure 17). Using this information, the program uses the method described above, iterating through several trial matches until a minimum is found. Data for the closest match is displayed on the screen, including concentration values for each of the chosen pigments, the color difference, the resulting CIE XYZ values, a color swatch of the match color, and windows displaying the spectral curve and color of each trial used in deriving the match (Figure 18). ACM Transactions on Graphics, Vol. 11, No. 4, October 1992. — . C.S. Haaseand I Trial 1 ] Trial 8 G. W. Meyer / ——— 400 450 500 —-—. 550 -— 600 650 700 Wavelength Fig. 18. Final result ofasuccessful match bythecolor matching pro@amfor acolorselectidin the manner shown in F]g. 17. The pigments used for this match were titanium white, prussian blue, cadmium yellow and alizann red. Successive attempts by the program to create the match are shown. 6. CONCLUSION The purpose of this work was to demonstrate the capabilities of realistic pigment modeling in the field of computer graphics. Techniques used in the pigment industry have been modified to work within the domain of computer graphics to facilitate more realietic computer color specification. The opening sections of this paper motivated and validated the approach taken here. The mixing techniques discussed in Section 4 provide the basis for better, more realistic painting programs and other tools which require mixing and displaying pigmented materials. Finally, the matching techniques discussed in Section 5 show the feasibility of combining intuitive color selection with realistic color computation in generating realistic computer images. As a final example, consider the image in Figure 19. Using the matching and mixing programs described in this article we can derive spectral curves for arbitrary pigment mixtures. These curves can then be used to specify realistic colors for materials in computer generated scenes. Every color in the scene depicted in Figure 19 was described by a characteristic spectral curve. Most of the objects, except the RGB monitor picture and the white canvas, use curves which represent real pigment mixtures calculated by our programs. For example, the color wheel on the canvas is based upon the pigments used to create the artwork shown in Figure 13. With the exception of the color television picture, notice that unrealistic highly saturated colors do not occur. The range of colors possible has been constrained in a realistic way by the selection of a limited number of pigments and by the accurate simulation of their mixing properties. ACM Transactions on Graphics, Vol. 11, No. 4, October 1992. Fragmented Materials for Realistic Image Synthesis Fig. 19. Image demonstrating the use of pigment mixing and color matching techniques. All surfaces had spectral retlectances determined from pigment mixtures. APPENDIX The Kubelka-Munk equations for complete hiding given in Section 3 were used to perform the pigment mixing work described in this paper. They are derived here from the initial assumptions because this detail is not available in most of the widely available references. The situation as it occurs in a given pigmented solution is shown in Figure 20. In this figure, the pigmented solution is a paint, applied in a uniform thickness of x over a substrate of reflectance R,. Let i be the incident light which is transmitted down through the paint, either directly from the source or by scattering of light off of pigment particles. Let j be the light which is returning to the surface, either by being reflected off of the substrate or scattered from pigment particles. Suppose we are examining some very thin sub-layer of the paint, of thickness dx. The amount of light that is lost from i through the layer is: (K + S)icLx (21) and the amount lost from j is: (K + S)jdx where S is the scattering component and K is the absorption. Now we must add back to i and j that light which was scattered from light coming in the ACM Transactions on Graphics, Vol. 11. No. 4, October 1992. — 332 . C, S. Haaseand G. W. Meyer \ A dx i j \‘ x 4 T Substrate of Reflectance Fig. 20. Coordinate system used to calculate inside a pigmented surface. f3g light energy scattering and absorption other direction; i.e., the light that was scattered from the incident light is added to the light returning to the surface and vice versa. Then we have: di=(K+S)idx– –dj= (K+ S)jdx Sjdx (23) –Sidx. (24) Note that since i and j represent light vectors traveling in opposite directions, the change of their signs through the film are opposite, The solution to Equations 23 and 24 begins by setting a = (1 + K/S) and reexpressing them as di —=~i–j S dx (25) – dj Sdx Adding these two equations together — i2Sdx and rearranging leads to – –2a$ + ‘~ + 1. (27) “2 + ‘~ – + 1. (28) 1 Rule, we get: d(j/i) — S dx Setting (26) .2 idj –jdi From the Quotient =aj–i. . ‘ –2a< L r = j/i then gives us dr Sdx ‘r2 –2ar+l ACM Transactions on Graphics, Vol. 11, No. 4, Octcber 1992. (29) Fragmented Materials for Realistic Image Synthesis . 333 and therefore dr S J dx. / r’ –2ar+l= (30) We would like to know the value of the change in r as the thickness varies from O to some arbitrary thickness t.At a thickness of O, the value of r will simply be the reflectance of the substrate, R~. At a thickness of t, the reflectance is equal to some R. Using integration by partial fractions we have 1 dr R f fi~rz –2czr+l= ~ dr 1 dr R –J +b)–2b~~r–(a– –/ 2b~~r–(a b) (R-a -b)(R~-a+b) — ~ in 2b (R–a+b)(R~–a–b) where b = ~az – 1. Therefore, from Equation (R-a -b)(R~-a+b) A In 2b (R–a+b)(R~–a–b) (31) 30 = St. (32) The particular thickness that we are interested in solving for is t = x, as this thickness provides complete hiding of the substrate. We can solve for the reflectance at this thickness, R,, as t - X: ~n(R-a-b)(R~-a+b) (R-a (R-a For the following +b)(R~ -b)(R~-a+b) ~2.sth -a-b) =( R-a+ = 2Stb b)(RX (33) -a-b). (34) substitutions, R=R, RK=O we get: 1 R. = a+fi — ‘+%-T” (35) This form is one variation of the Kubelka-Munk formula for computing R,. The more common forms can be obtained from this by rearrangement and are given in the text as Equations 1 and 2, A(’M Transactions on Graphics, Vol 11. NO 4, october 19~2 . 334 . C. S. Haase and G. W, Meyer ACKNOWLEDGMENTS The authors would like to thank Robert Gamblin of Gamblin Oils for his help in understanding the world of artists’ paints, Michael Ken y for writing the Airbrush pigment painting program shown in Figure 16, Christy Wiseman for creating the artwork displayed in Figure 16, Linda Peting for developing the color space visualization program that generated Figures 1, 4, 3, 5, and 14, Sohail Mohammad for modeling the scene in Slides 8 and 11, and David Collett for his mathematical assistance in obtaining the color matching method used in Section 5. The images shown in Slides 8, 11, and 19 were produced using the Radiance software package developed by Greg Ward at the Lawrence Berkeley Laboratories and modified by Roy Ramberg at the University of Oregon to handle light on a wavelength-by-wavelength basis. REFERENCES 1. ALLEN, E. Basic equations used in computer color matching. J. Optical Sot. Am. 56, 9 (Sept. 1966), 1256-1259. 2, ALLEN, E. Analytical color matching. J, Paint Technoi. 39, 509 (June 1967), 368-376, 3. ALLEN, E. Basic equations used in computer color matching 11. Tristimulus stant theory. J. Optical Sot. Am. 64, 7 (July 1974), 991–993. match, two-con- 4. ALLEN, E, Advances in colorant formulation and shading. In MC Color77, F. W. Billmeyer, Jr, and G. Wyszecki, Eds, Adam Hilger, Bristol, England, 1978, 153-179. 5. BfiLANG~R,P. R. Linear-programming approach to color-recipe formulations. J, Optical Sot, Am. 64, 11 (Nov. 1974), 1541-1544. 6. BR.LMIIY~R,JR,, F. W. AND SALTzMti, M. Principles of Color Technology, Second Edition. Wiley, New York, 1981. D., ANDCONNO,J, C. Linear and quadratic optimization 7. C()~NO, J. A., JLIiSGMAN, for computer color matching, Cokw Res, Appl. 13, 1 (Feb. 1988), 40-42. 8. COOK, R. L. ANDTORRANCE,K, E. A Reflectance Graph. 1 (1982), 7-24. 9. DUNCAN,D. R. The colour of pigment mixtures, model for computer graphics. algorithms ACM Trans. Proc, Phys, Sot., 52 ( 1940), 390-400. 10. EVANS, R. M. 11. 12. 13. 14. An Introduction to Color. Wiley, New York, 1948. FIITSKO,J. M., Er). NPIRI Rau, Materials Handbook, Volume 4 Pigments, National Association of Printing Ink Manufacturers, Harrison, N. Y., 1983. FISHKIN. K. P. Applying color science to computer graphics. Master’s thesis, Univ. of California, Berkeley, 1983. GALL, L. Computer colour matching. In Colour 73, Adam Hilger, London, 1973, 153-178. HALL, R. A. ANDGREENIWRG,D. P. A testhed for realistic image synthesis, IEEE Comput. Graph. Appl. 3 ( 1983), 10-20. 15. JOHNSTON,R. M. 1973, 229-228. Color theory. In Pigments Handbook, T. C. Patton, Ed. Wiley, New York, (English translation by J. E. Lohr), Springer 16, KORTOM, R. G. Reflectance Spectroscopy Verlag, New York, 1969. 17. KU~HNL R. G. Computer Colorant Formulation, D, C. Heath, Lexington, Mass., 1975, 18. MARSH, J, S. AND PLANT, D, A. Instrumental colour match prediction using organic pigments. J. Oil Colour Chem. Assoc. 47 (Aug. 1964), 554–575. 19. MEYER, G. W. Wavelength selection for synthetic image generation, Comput. Vision, Graph, Image Process. 41 (1988), 57-79. 20. MEVKR, G. W. AND HALIZ, R, E. A spectral database for realistic image synthesis. Graph. Interface ’91 (1991), 47-52. 21. MrITON, P. B. Opacity, hiding power, and tinting strength. Paton, Ed. Wiley, -New-York, 19;3, 289-339, ACM Transactions on Graphics, Vol. 11, No. 4, October 1992. In Pi~ments Handbook, T. C. Fragmented Materials for Realistic Image Synthesis . 335 22. OIM)Y, R. J. ~NIJW[[.MS, P, J. A physically based colour model, COmpuf. Graph. Forum 10 (1991) 121-127. 23. PMW, R. H. ANOSTEARNS,E. I. Spectrophotometric formulation. J. Optical SW. Am. ,?4, 2 (Feb. 1944), 112 113. 24. S.4(IN1JItMcJs,J. L. Calculation of the color of pigmented plastics. .1. Optlca/ .%x, Am, .’12 (~~C. 1942),727-736. 25. SM.41.I., D. Simulating watercolor by modeling diffusion, pigment, and paper fibers, In Image Handling and Reproduction Systems Integration, W. Bender and W. Plouffe, Eds. Pr{x. SP{E1460 (Bellingham, Wash., 1991), 140-146. 26. STOW, M. C,, COWAX. W, B., ANOBMTTY, J. C. Color gamut mapping and the pr-intingof digital colorimages. AC’A4Trarrs. Graph. 7,4 (Oct. 1988),249-292. 27. WAI,OIWT,E., MCCARTIW, C. ,J., ANDBKRNS, R, S. Spectrophotometric color matching based on two-constant Kubelka Munk theory, ColorRes. App/. 13, 6(Dec, 1988), 3.58 362. 28. WysXM~I, C,, AXn STI],FX, W. S. (%lor Science: Concepts and Methods, Quantitative Data and Fornzu[ar, ,2nd Edition. Wiley, New York, 1982. Receiv~d September 1991: revised March 1992; accepted June 1992 ACM Transactions nnGraphics, Vol. 11, Nw 4.oct,Jher 1992.