Textures for realistic image synthesis

Textures for realistic image synthesis

Co~ff.a &Gml~ucsVol 9. NO 2. Pp 125-138. 19|5 00~?-~tq3/8 ~ $ 3 0 0 * 00 ~c ,985 Pt-t~rnon ~ LU~ Pnau, d m C ~ a t Ilnuun, Computer Graphics in Ar...

8MB Sizes 0 Downloads 70 Views

Co~ff.a &Gml~ucsVol 9. NO

2. Pp 125-138. 19|5

00~?-~tq3/8 ~ $ 3 0 0 * 00 ~c ,985 Pt-t~rnon ~ LU~

Pnau, d m C ~ a t Ilnuun,

Computer Graphics in Architecture

TEXTURES FOR REALISTIC IMAGE SYNTHESIS RICHARD J. CAREY and DONALD P. GREENBERG Program of Computer Graphics, Cot'nell Un|vermy. Ithaca. NY 14853 AbstracI--An .mportant aspect m generaUng images of real materials and surfaces ts the contnhut|on of the visual effects of textures. This study presents methods for $zmulatmg a variety of different textures Two general types of texture, geometric and spectral, are simulated. Geomemc textures mcorvorate the ~rresulantles and vanaltons which can be found in the shape and form of real surfaces Spectral textures revolve variations of the propemes of matenals which cause the absorption of specific wavelengths of hght. An integrated system for ~mase synthesis which is based on ray tracing )s used as the leslbed for the textunng research. Previous methods of texturing are adapted by ray tracing, and some nev, methods for s|mulaung heterogeneous materials are presemed. INTRODUCTION

Sur/ace propernes Light energy incident upon a surface is convened into three components: reflected, transmitted, and absorbed energy. The surface properties of a material determine the spatml distributton and the spectral composition of the reflected and transmitted components. Surface properties are commonly described in many different ways: texture, geometry, roughness, shininess, finish, color, pigmentation, opacity, transparency, etc. However, the two general categories into which surface properties can be grouped are: (1) geometric surface properties, and (2) spectral (or color} surface properties. It is useful to categorize geometric surface properties into two size ranges, macroscopic surface geometry, and microscopic surface geometry. The macroscopic geometry includes those surface features which are significantly larger than the wavelengths of visible light. Features such as " b u m p s , " "cracks," "'wrinkles." and "'surface curvature" are included in this category (see Fig. 1). The macrogeometry descriptors of a surface include the surface

normal, slope, or curvature sun'oundmg a g~ven surface position. These values represent average values over small areas, which are actuallx faceted and irregular at the microscopic level. Macroscopic features are generally used in computer graphics to obtain information about the onentauon of the surface, and thus the shading. The microscopic geometry of a surface describes those physical features of a surface which are approximately equal to the size of the wavelengths of visible light. At the microscopic level, a more complicated interaction occurs: light which hits these small features is bounced around, absorbed, shadowed, or re-emitted in many different dire~-'tions depending on the microgeometry of the surface Isee Fig. 2j. There has been extensive research in the area of modelling the effects of surface microgeometry, resulting in some experimentally proven models [l, 2]. These models are based on the assumption that surfaces are composed of microscopic facets (i.e. "'microfacets"). The degree of roughness of a surface can be categorized as a funclaon of the rms height and slope of these microfacets, Ideally, the geometry of each microfacet should

Fig. 1. Photograph of real bumby surface. 125

26

RICHARD J. CAREY and DONALD P. GREENBERG

diffuse /

~

reflection

/

absorption Fig. 2. Multiple reflecuon and absorption by microface~s.

e modelled, but this requires finding an accurate leans of measurement of the microfacet qualities, nd also requires a prohibitive amount of information. "hereforethe microsurface qualities (height and slope) re umulated based on statistical models; for example, highly polished surface will have a very small tandard deviation for microfacet heights, while a cry rough surface will have a high standard deviation )r heights (see Fig. 3). These statistical models ,'present the deviation from the average surface roperty and provide sufficient microgeometry information to be used for reflection model simulation in omputer graphics. The spectra] surface properties, the absorptton, ,'flecuon. and transmission characteristics of a ma-

terial are wavelength-dependent functions. These properties are sometimes referred tO as "'pigmentation" and are independent of the geometric surface properties of a material. However, the combined effects of the geometric and spectral properties of a surface determine the physical characteristics of the reflected light.

History Unfortunately, most computer graphics rendering algorithms to date assume homogeneous surface propemes. Arbitrary colors are a ~ n e d to each object or polygon, representing the maximum intensity for that item. For diffuse (Lambertian) shading, the precise color is determined as a function of the angle

o = standard deviation

m e a n height

smooth eu~ace Fig. 3. Microfacet heiilhti: mulh vs. smooth.

Textures for realmicimage synthesas between the surface normal and the light source, [3]. Phong [4] generalized light reflection into three basic components: ambient, diffuse, and specular reflection. The amount of light which was diffusely reflected as compared to specularly reflected was a function of an empirical term which represented the roughness of a surface. An exponential term was used in the d~rectional distribution function of the specular reflection to represent the glossiness of a surface. Bltnn [5] proposed an improved reflection model which applied some of the research results of Torrance and Sparrow [2] to produce a significantly more accurate specular reflection. The geometric roughness was modelled as the average orientation of the mscrofacets on the surface. Mapping techniques were applied to the roughness term in the specular reflection equation, producing surfaces with patterns of variable roughness. Cook {6. 7] also used the Torrance-Sparrow hypothesis [5], and further proposed an improved reflection model which computed the spectral energy distnbution of light reflected from a surface, Geometric surface characteristics such as surface roughness, microfacet slope, and microfacet orientation were modelled on a statistical basis and used to predict both the spatial and spectral distribution of the reflected light. Surface reflective properties and light source illumination functions were represented by real spectral energy distributions on a wavelength basis, rather than arbitrary RGB color triplets. Cook also applied the Fresnel equations for reflection. resulting in more accurate specular highlight intensities and color for metallic surfaces. Biinn [8. 9] subsequently derived a technique for simulating wrinkled or bumpy surfaces by applying mapping concepts to a macroscopic geometric perturbation function of a surface (i.e., "'bump" maps). This m a p contained the geometric perturbation of the surface in the direction of the normal. These perturbations were assumed to be small in terms of geometric distortion, but significantwith ~ to the effecton the direction of the surface normals. Recently, complex surface macrogeometries have been modelled by Voss [I0] using "fractals,"[l I], to render extremely complex, irregular shapes. These functmns are extremely suitablefor modelling natural formations and have been used to generate some strikinglyrealisticcomputer images. Carpenter [12] used fractal approximations, "stochastic processes," to produce images of landscapes and terrain. This algorithm applied a recursive semi-random process to a surface subdivision algorithm generating irregular,mountain-like formations. Catmull [I3] produced the firstformal attempt at color texturing of curved surfaces. He proposed a bicubic surface rendering algorithm which used recursive subdivision to reduce the surface to flat polygons whose projected area was smaller than a pixel. The color of each polygon was computed by mapping into the parametric space of a color image represented by a rectangular array of RGB color

127

samples, and averaging the colors in the mapped polygon. Blinn and Newell [14] improved this approach b.~ applying a weighting function, or "'filter." to the color image to be mapped, which minimized the effects of spatial aliasmg. They also extended the concept of color ,mage mapping to "'environment'" mappmg. This technique maps an illuminauon funcuon for a three-dimensional environment onto the interior of a large sphere. Objects are then pos]tioned mmde the sphere and rendered, producing images of objects with mirror reflectmns of the environment. Recently, the most realistic images have been produced by "ray tracing". Ray tracang algorithms introduced by WhRted [15] and Kay [16], generate images on a pixel by pixel basis. Rays are sent through each pixel on the image plane and are intersected with the closest object m the environment. Subsequent rays are sent out from the point of intersection in the reflected and refracted ray directions and recursively propagated through the environment. These rays provide global specular illumination information for shading. The final pixel intenmty is determined by taking into consideration the color of the first intersected object and the contributmns of each of the reflected and refracted rays. Although these algorithms are computationally expensive, they arc currently the most tractable method for including global illumination information. Recently, Hall [17], Kajiya [18], and Weghorst and Hooper [19] have all introduced methods to improve the computational el~clency of the ray tracing algorithms, resulting in increased acceptability and usage of this approach.

Objeciive$ It can be seen that the methods for rendenng images of real, thRe-dimensional environments have progressively become more accurate and complex. However, the methods for describmg object appearance has not kept pace. If the object descriptions are represented by more realistic, natural occurrences, (e.g. irregularity and variability), then more realistic images could be expected. Specifically. the objects require an element of randomness or variability in their surface geometry and spectral coloration descriptions. This study presents new methods for modelling and simulating geometric and spectral textures within the framework of a ray tracing methodology. Improvements are presented which respond to the rigorous demands of the models of light reflection used in ray tracing. The goal of these methods is not to model the physical reality of geometrical or spectral texture, but to simulate the effects that these textures have on reflected light. The approach taken here is to transform all of the parameters of the light reflection model (normal, surface, roughness, spectral reflectivity, etc.), which are usually represented as constant values, into variable parameters.

RICHARDJ. CAREYand DONALD P. GR£ENllERG

128

GEOMETIUC SUitlFACE PIIOPEirrY SIMULATION

The geometry of an optically smooth surface can be easily modelled by a continuous mathematical function. However, most real surfaces are not optically smooth. They have regular and-irregular geometric features which cannot be easily modelled by simple mathematical expressions. To model reahstic surfaces it ts thus necessary to develop techniques which simulate the effects of geometric surface irregularities.

Macrogeomelr)' stmulalion One approach to representing more complex shapes is to combine a geometric surface description (polygon. quadric, cubic), sometimes called a "'primitive" shape, with a geometric perturbation function. The penurbauon function represents a deviation of the surface from the primitive description. This function can be defined as the geometric perturbauon (i.e.. "bumps") of the surface in the direction of the normal (see Fig. 4). Blinn [8, 9] was the first to use this method to produce images of "bumpy" surfaces. His algorithm was based on the observation thin the primary effect "'small" surface irregularities have upon a surface description is to shift the surface normal direcuon, and thus the intensity distribution of the reflected light. He developed a method for generating the amount and direction of these normal perturbations from a description of the geometric irregularities (i.e.. "'bumps"). His method performs the visible surface calculation on the unperturbed surface, while performing the shading calculations on the perturbed surface. This caused the silhouettes of bumpy surfaces to remain smooth. A similar concept was incorporated into a ray tracing system to simulate macrogeometry effects that otherwise were too cumbersome to model. Since ray tracing considers global illumination of the environment by sending reflected and transmitted rays out from the point of intersection of the primary ray, the direction of these spawned rays is dependent on the

Prlmltlve Goomotrlc Function

~. primary ray d i n ~ i o n and the surface normal. By perturbing the normals in the manner described, the ray propagation paths are substantially altered. Figure 5 illustrates some bumpy surfaces rendered in this manner.

Mwrogeometry szrnulallon The microscopic geometry of a surface describes those geometric features which are approximately equal to the size of the wavelengths of visible hght. This is sometimes referred to as the surface "roughness," "glossiness," or "sheen." In physical terms, microgeometry is defined by the sizes and orientations of the microfacets comprising the surface. Ideally, each individual microfacet should be geometrically represented in the microscopic description of the surface. However. the storage reqmrements for such a task are so excessive that the mlcrogeometry is represented as probabilities of microfacet orientations by "facet distribution" functions. In computer graphics, the description of the microgeometry of a surface is implicitly contained within the reflection model which is used. Historically, light reflection models generally describe surface roughnexs in two ways, The fit~ roughness description is implied by specifying the proportion of incident light which is specularly reflected versus the proportion which is diffusely reflected. In most reflection models, (e.g. Phong), two general, interrelated roughness coefficients are specified, a diffuse coefficient (Kd) and a specular coefficient (Ks). Kd represents the percentage of incident light diffusely reflected, and Ks represents the percentage of incident light which is specularly reflected. The second roughness dcscnpuon imphes the microfacet distribution of the surface by specifying the spatial distribution of the specularty reflected light. Depending on the reflection model used, these distribution functions range from simple cosine functions to exponential functions to theoretically-based statistical models. The function represents the probability

Por'turbatlon Function

Perturbod Geomotrlc Function

V~ 4. Geometric function combined with a perturbation function.

Textures for realistic image ~ynthesas of microfacets specularly reflecting-light in a specified direction, thus implying the orientation of the microfacets. in the Phong model [4]. this function is specified by a single parameter." the "'specular glossiness exponent," (Ns). This exponent represents the "spread" of the specular reflection, and implicitly models the average distribution of the microfacets of the surface around the mirror direction. Smooth surfaces have a relatively high specular exponent, and rough surfaces have a relauvely low specular exponent. These terms are usually defined as constant values for an entire surface. However. in reality, surfaces exist which have varying degrees of diffuse and specular reflecuon across boundaries. Also note that in computer graphics, these two parameters, the general roughness and the microfacet distribution, are usually defined and evaluated independently. However, in reahty both represent surface roughness and should be related. The vanability of the diffuse and specular coefficients can be simulated by using a perturbation algorithm similar to the normal perturbauon method, although the values of the coefficients should be constrained so that they sum to umty. Furthermore, as the specular coefficient (Ks) increases, the specular exponent (Ns) should also incre~_~. Again. mapping procedures are used to implement variability into the roughness terms. The texture maps are penurbation functions which represent deviauons from the average roughness terms, These can be generated in a variety of ways such as random functions, procedural models, fractal functions, theoretically-based models, pattern generators, etc. The images in Fig. 6 illustrate some examples of surfaces which have the general roughness terms and the microfacet distribution varied by peturbauon functions, in all cases, the perturbation function was the same for both the general roughness terms and the microfacet distribution. VARYING COLOR PIIOPERTIES SIMULATION The color properties of many surfaces are usually modelled as constant, homogeneous materials, (i.e. ideal, perfect materials); all points on the surface have identical surface properties. However, most real materials actually have color properties which vary across the surface, (e.g. wood grain and marble). Several approaches to simulating materials which have spatially varying spectral properties are discussed.

Color texture mapping "Texture mapping" is a well-known computer graphics technique which refers to the process of mapping colors from a digital image onto a surface. The color images can be created by a variety of input methods, i.e., photogxaphic scanning, "paint" progrmm, mathematical functions, etc., but are stored ~ arrays of RGB intensities. Thus, an "RGB source image" is

129

a recumsular array of red/green/blue intensities spaced at the resolution at which the data was acquired. In order to simulate proper material charactemtics. the reflection/transmission and light emlsston spectra are described as wavelength-dependent funcuons. However, when the spectral surface properties of objects and light sources are represented by spectral curves, color texture mapping of RGB images is not consistent. One solulaon is to construct a spectral energy distribution curve for each element of the RGB image from the RGB values. The spectral curves of the input device. Le.. scanner filters, can be used to construct a spectral curve for a given RGB color triplet. Assume that the RGB triplet values art within a range of 0.0 to 1.0. and that the tntensiues vary linearly w~th the digital representation. Each component of the RGB color triplet can be thought of as representing a scale factor for the intensity curve of each respective channel. A composite spectral energy curve for the triplet values can be constructed by combining the three scaled intensity curves. When scanning procedures are used. these results should actually be multiplied by the spectral emission curve of the light source to obtain a correct source image. When the digital image has been created by "painting," the three phosphor curves of the monitor are used. For general wavelength dependent calculations, the color computation is actually performed upon n spectral samples of the curves, where n is constant for each shading calculation. The RGB triplets can be transformed directly into spectral samples, w~thout r~eonstructing the entire spectral curve. The conversion from RGB tristimulus values into n spectral samples is performed as a linear matrix transformation. This can be accomplished by presampling the red, green, and blue input (e.g., phosphor or filter) curves at specified locations and stonng the curve samples. Although this method cannot always reproduce the same effect as the original source, it is a reasonable approximation, and is consistent with the other wavelength-dependem calculations. Figures 7ab show examples of some color texture mapped surfaces in which the color textures were generated by vadeo scanning.

Spectral reflect/pity perturbations One method for simulating heterogeneous spectra for realistic surfaces and materials uses a penurbation method similar to that used for geometric perturbations. This approach defines a spectra perturbation funcuon which varies the surface reflect/pity curve with ~ to position on the surface and has the effect of introducing spectral material irregularities into the surface description. The surface is assigned mean surface spectral curves (reflect/pity and/or transmission) and a spectral perturbation function which is applied to the mean spectra. A perturbation range is also a~i~ned which defines the maximum and minimum bounds of the

' RICKs,lID J. CAIUYand DONALDP. GREENSERG IMPLEMgN'rATION AND RESULTS penurbed spectral curve, (see Fig. 8). Ideall~ the i. The ability to add textures to surface and material perturbations are applied for each wavelength that the spectral curves are defined. However. since the property descriptions certainly makes images appear spectral curves are stored as n spectra] samples, the more realistic. Thus, a series of "'texture" mapping perturbation function can also be discretely stored. techniques were added to the testbed imaging system This approach can be used to apply subtle imperfec- existing at the Program of Computer Graphics at tions and irregularities into surface reflectivity. The Cornell University. The main goal in the design of this graphics testbed perturbation functions could be stochastically generated to produce realistic deviations from mean specu'a. was to construct a flexible, modular system that In all the examples presented, three spectral samples would perform all of the tasks necessary, for image were used, In = 3), and the perturbation function synthesis and impose a minimum of constraints on was stored as triplets values. The perturbation func- future research. The system separates the imaging tions are implemented as texture maps which are process into a series of functional processes whtch parametrically mapped onto the surface being eval- communicate through the use of files (Fig. 1 I ). Ray uated. The values tn these maps are normalized tracing is used as the primary image generation perturbation functions in the range - 1 . 0 to +1.0. algorithm, although any type of visible surface algoThe maximum perturbation from the mean sample rithm could be used. Details of this system can be value is then defined for each sample, defining the found in [17], and are not repeated herein. range of possible perturbations. The amount the spectral sample is perturbed is equal to the value of Texture Library~Manager The Texture Library/Manager contains an archive the normalized perturbation value function times the maximum spectral perturbation. Figure 9 illustrates of texture files, which are categorized by the type or examples of material properties defined by spectral method of texturing used, e.g. bump texture, color texture, etc., (Fig. 12). These files contain static arrays curve perturbation functions. of texture values representing some aspect of a surface property, e.g. perturbations. The texture files are Spectral transparency perturbations A method similar to reflectivity Im'turbations~ varies created in a variety of ways, including digital pmnt the average transparency of a material by a pertur- programs, video scanning methods, and stochastic bation function. The averase transparency of a ma- pattern generators. The Texture Library is organized into two general terial is the average value of the spectral transmittance curve. This parameter defines the amount of absorp- categories, geometric textures and color textures. The tion of transmitted light by the material per unit geometric textures include bump textures, microscopic distance traveled. Varying this value has the effect of roughness textures, and specular exponent textures. introducing irregularities into transparency of an The color textures include RGB image textures, reflectivity perturbation textures, transparency perobject, i.e., "smoked glass.' turbation textures, and combined spectral curve texCombined spectral curves for heterogeneous materials tures. During the environment modelling process, objects Another approach toward simulating spectrally heterogeneous surfaces and materials is to combine are assigned material and texture properties which several spectral curves into a single material. This is are used during the rendering process. The material particularly effective in modelling materials which properties include the spectral curves associated with have varying spectral characteristics, because they are the reflectance and transparency of the material, and composed of a combination of elements, each with the surface finish of the object (i.e., roughness). Once the environment is completely modelled (i.e., all known spectral curves. Consider a steel surface which is partially oxidized objects have been positioned and assigned materials), (rusted). This surface can be represented as a com- a single environment file is created which contains bination of two materials, unoxidized steel and oxi- all the information defining the environment. dized steel. The existence of each would vary with The rendering process consists of reading an envirespect to position on the surface by a boolean ronment definition file and generating an image of "mixture function.' This 'mixture function' defines this environment from some specified view. During the initialization of this process, all the textures which material exists at any point on the surface. Note that this method simulates the spectral effects specified in the environment must also be initialized. of a 'mixture,' not a chemical alloy. This method All of the textures illustrated in this paper were stored can be extended to any number of ditferent materials at a resolution of 512 by 480 by 8 bits per channel. for a given surface. The mixture functions are Several of the textures require more than one channel to determine which material is associated with a for storage. given position on the surface. Figure 10 illustrates During the actual rendering process geometric rays examples of surfaces which were rendered by this are sent into the environment and intersected with method. Note that only two materials were defined objects. When a ray intersects an object the surface for each object. pl"operty information at that point must be evaluated.

Tcxtur~ for realistic image synthesis

Fig. 5. Surfaces rendcred by ray tracing normal perturbations

Fig. 6. Surfaces rendered wi[h microscopic texturing,

Fig. 7(a). Scanned refleclivily and Iransmissivily.

131

132

RICHARD J. CAREY and DONALD P. GREENBERG

Fig. 7(b). Scanned reflectovity and transmigsnvity

Fig. 9. Surfaces with perturbed spectral curves.

Fig. I0. Surfaccs with combined spectral curves.

Textures for realistic image synthesis

Fig. 14. Reversal tiling vs. standard tiling.

..

Fig. 15. l.Jntcxturcd balhroom

'F

Fig. 16. Textunu:l bathroom.

t .

133

Textures for reafimc tingle syntbe~

135

Perturbed Spectral Curve

Spectral Perturbation Function

Unperturbed Spectral Curve

/

t.o ~_

s .0/"

-~-

0.C

i.O"

tilt >

-i.o<

F~g. 8. Spectral perturbation function.

For textured objects, the intersection point is mapped into the parametric space of the texture end the texture value sampled. Thus, the mechanics of the texture mapping process arc similar for each type of texture. The Texture Manager performs the parametnc mapping, the texture value sampling and interpolation, and the evaluation of the texture value for use by rendering. The Texture Manager was implemented as a group of modular, functional row tines which performed single tasks nece~__~ry for

texture mapping. These routines can be categorized into four general categories: !) texture i m ~ t i o n routines, 2) mapping functions, 3) texture evaluation routines, and 4) texture sampling routines. The texture initialization routines read texture files into memory, initiafize any nece~atry texture information, and assign a texture identification number for later use. The mapping functions are specific for each type of object, (e.g. spheres, quadrics, etc.). The mapping

Entity Library Spheres

Quadrlc8 ~ Environment

Image

Image

Modelling

Rendering

Display

T Material Library

Texture Library

F ~ ! !. lma~ syntl~su system.

RICHARD J. CAREY and DONALD P. GREENBERG "4

Texture Library

Geometric Textures

t 4acroscoplc

1

I Microscopic

I imps

Color Textures

RGB Images

Spectral / PerturbaflonsJ

Combined Spectral Curves

Transparency Perturbations

I Kd/Ks

Fig. 12. Texture library.

-,tines are executed after a ray has inter- Texture tihng tured object and the texture needs to be In creating a texture map, a problem of scale "hese routines perform the transformation frequently anses. The original information of a texture tric object space (xvz) into the parametric is obtained at a specific scale, and then must be f the texture. These routines must consider properly related to the scale of the modelled environprocedures during the mapping. ment. If a texture is mapped across the entire range re evaluation routines perform the specific of a surface, drastic texture distortions can occur due ,rithm for each texture type, (e.g. bump to perspective depth effects or high surface curvature. ~ r a l perturbation texture, etc.). These Most of these problems can be avoided by using a :eive the parametric coordinates of the process referred to as "texture tiling." This method the point to be evaluated, the texture repeats the "'texture tile" in periodic cycles across the n number, and the surface propeny in- surface. The absolute size of the "'texture tile" must lecessary for the texture evaluation. For be specified in terms of global xyz coordinates in le normal perturbation routine requires order to perform the tile repetition. This method trbed normal in order to generate the solves most of the sealing problems and provides a ormal. realistic scale for the texture map. re sampling routines retrieve values from Texture tiling can produce images of surfaces map at a given u,v location. Thus, the which show obvious tile boundaries, "macropatterns." al operation is a point sampling. However, This is especially noticable in nonrandom textures lg can be achieved by combining multiple which have discernable patterns, e.g. wood grain. es with weighting functions. Most of the One solution to this problem is to reverse every other piing routines in this thesis retrieved the texture tile in both the u and v directions. This t values to the parametric u,v location method guarantees that adjacent tiles match (mirror ned bilinear interpolation between the images) in color intensity at their borders, (see amples. Fig. 14). of execution for a typical texture evalutrated in Fig. 13. The shading calculations Results nsity evaluation at a single point on a A single environment was modelled and rendered s place within the reflection model. by ray tracing. This environment was rendered twice,

Textures for realisticimase synthe~s

__•

RAY INFO

OBJECT INFO: surface geome~ surface properties

surface intersector

I ,~

1

[1 J

137

iI

texture Illp .-

I

lillll

I11lll tl!l II!l !llI

J~

- ! v

kkk{h[)l

~

uv

UGHT SOURCE INFO:

1[ 1

I I1"r~l I I J

mapping function

1 Irl~l I ! i 11111111 II hlllll II fill Ill

vL ,

I

intensity dist.

texture

spectral props.

texture

evoluator

sampler

value

updated surface properties

L

Texture Procedure

UGHT PROPAGATION MODEL

spectral intensity

Fig. 13. Texlur¢ mapping procedures.

first without texturing and second with various textures added, (Figs. 15 and 16). Normal perturbation mapping was used to simulate the ceramic tiling. Combined spectral curves were used for the checkered floor tiling. Color texture mapping was used on the Renoir painting and the marble details: both textures were obtained through video scanning, The perforated brass panels on the cabinets were 8¢nerated by "'cutout" texture mapping. Cut-out texture mapping uses the texture map to determine the existence or nonexistence of the surface, i.e., "'holes." CONCLUSION The surface and material property descriptions used in this paper are quite empirical. However, the

introduction of variability into these terms produces subjectively significant improvements in terms of realism. Methods were discussed which include the effects of macroscopic surface features (bumps) and microscopic geometries. The latter is accomplished by mathematically varying the proportions of specular and diffuse reflections, as well as the spread of the specularly reflecu~d light. To simulate panerns, color textures were applied to surfaces using standard RGB source images. The heterogeneity of surface colors was also smmulated by perturbing spectral refleclivlty and transparency functions, as well as combining spectral curves. All texture phenomenon, both geometric and spectral, were modelled using parametric mapping tech-

~3s

RICHARD J. CAREYInd DONALDP. GREENIIERG

niques and incorporated into a ray tracing sy~em. The results indicate that the addition of'textures into the ray tracing procedures can produce high quality images with improved realism.

~,FEitENCES 1. Petr Beckmann and Andre Sp~zzichino, The Scattering

of Electromagnnw 2. 3. 4. 5. 6. 7. 8.

Waves from Rough Surfaces.

MacMillan, 1-33, 70-98 (1963). Kenneth E. Torrance and Ephnam M. Sparrow, Theoo for off-specular reflection from roughened surface, J. Opt~calSoc Ameru:a 57, ! 105-1114, (Sc~lember 1967). Henri Goumud, Computer Display of Curved Suff__-~__. PhD disserlAtion, Univemty of Utah, Salt Lake City, 1971. Bui Tuong Phonl~ lllummatwn for Computer-Generazed Images. PhD du~rultion, Univet~ty of Utah, Salt Lake City (1973). James F. Bhnn, Models of light reflecuon for computer synthesized pictures. SIGGRAPH 1977 Proceedings. Computer Graphics, !1(2), 192-198 (1977). Robert L. Cook, A Reflection Model for Realistic I m ~ Synthesis, Masters Thesas, Cornell Univet~ty, I ~ 1981. Robert L. Cook and Kenneth E. Torrance, A reflection model for computer graphics, ACM Tranaactwns on Graphtcs I(I), 7-24 (1982). James F. Blinn, Simulauon of wnnlded surfaces, SIG-

~" GRAPH 1978 Procee~nl~ Corolla Graphics 12(3), 286-292 (1978). 9. James F. Biinn. Computer Display of Curved Surfaces. PhD dissertation, University of Utah, Salt Lake City. 1978. 10. Richard Voss, SIGGRA'PH 1983 Prcx:eedings. Compul Graphtcs 17(7k cover photo (1983) I I. Bcnolt B. Mandelbrot, The Fractal Geometry of Nature. W. H. Freeman and Coml~ny, San Francmco (1982) 12. Loren Carpenter, Computer rendering of fractal curves and surfL~S, special SIGGRAPH 1980 issue. Comput Graphws 9-15 (1980). 13. Edwin C_~tmull, A Subdiv~on Aigonthm for Computer Display of Curved Surfaces. Phd dlssertauon. Umvemty of Utah, Salt Lake City (1974). 14. James F. Blinn and M. E. Newell, Texture and reflecuon in computer generated images, Commun. ACM 19(10), 542-547 (1976). 15. Turner Whirred. An improved illumination model for display, Commun ACM 23(6), 343-349 (1980). 16. Douglas Kay and Donald Greenberl~ Transparency for computer synthesized images, ACM SIGGRAPH Proceedmgs 13(2), 158-164 (1979). 17. Roy Hall and Domdd Greenberg, A testbed for rt~hstic image synthesis, IEEE Computer Graphtcs and Apphcaliphs. 3(8), 10-20 (1983). 18. James T. Kajiya, New techniques for ray tracing procedundly defined objects, SIGGRAPH 1980 Proccedinl~ Computer Graphws 17(3), 91-102 (1983). 19. Hank Weghorst, Gary H o p e r and Donald Greenberit, Improved computational methods for ray tracang, ACM Transacttons on Graphics 3( 1), 52-69 (1984).