`
`Volkswagen 1011 - Part 3 of 6
`
`
`
`mean» some: llJtllWl.l.
`
`spilt into two constituents. The process continues recursively until all polygons
`are contained by a plane. Obviously the procedure creates more polygons than
`were originally in the scene but practice has shown that this is usually less than
`a factor of two.
`
`‘The process is shown for a simple example in Figure 6.24. The first plane cho-
`sen. plane A. -containing a polygon from oh'_|er:t 1. splits object 3 into two parts.
`The tree builds up as before and we now use the convention INFDUT so say
`which side of a partition an entity Ites since this now has meaning with respect
`to the polygonal objects.
`For to near ordering was the original scheme used with ESP trees. Rendering
`polygons into the l‘-tame buffer in this order results in the so-called palrtter's algo-
`rithm - near polygons are written ‘on top of’ farther ones. Near to far ordering
`can also be used but in this case we have to mark in some way the fact that a
`pixel has already been visited. Near to far ordering can be advantageous In
`extremely complicated scenes it some strategy Is adopted to avoid rendering
`completely occluded surfaces, for example, by comparing their Image plane
`extents with the [already rendered] pro|ections of nearer surlaces.
`Thus to generate a visibility order for a scene we:
`
`no De-soencl the tree with View point coordinates.
`I At each node, we detennine whether the view point is in front of or behind
`the node plane.
`
`I Descend the far side subtree first and output polygons.
`
`I Descencl the near side snhtree and output polygons.
`
`This results in a hack to front ordering for the polygons with respect to the cur-
`rent view point position and these are rendered into the frame buffer in this
`order. if this procedure is used then the algorithm suffers from the salon elli-
`ciency disadvantage as the Z-buffer - reridererl polygons may he subsequently
`obscured. However. one of the disadvantages of the Z-buffer is immediately over-
`come. Polygon ordering allosvsthe unlimited use oftransparency with no addi-
`tional effort. Transparent polygons are simply composited accorrllrig to their
`transparency value.
`
`0222
`
`
`
`rue t'.it.iiFI-tics FIIELIHE rat: etuoeetno on atconrrmmc rlocesses
`
`" .7:-.1..£_l:.I.-.."'-_'_—-_—_j
`
`it-iultl-pass rendering and accumulation butters
`
`The rendering strategies that we have outlined have all been single pass
`approaches where a rendered image is composed by one pass through a graph.
`ics pipeline. in Section 6.6.3 we looked at a facility that enabled certain upera.
`tions on separately rendered images with uz components to be combined. in
`this section we will look at multl-pass rendering which means composing a sin.
`gle image of a scene front a combination of images of that scene rendered by
`passing it through the pipeline with different values for the rendering parasite»
`ters. This approach is possible due to the continuing expansion of hardware and
`memory dedicated to rendering, manifested in texture mapping hardware which
`has substantially irtcreas-ed the visual complexity of real time imagery generated
`on a PC, and the availability of multiple screen resolution buffers such as a step.
`cil but'.fer and an accumulation butter {as well as the frame buffer and Z-bu:tl'er}_
`The accumulation buffer is a simplified version or the h~hul'fer and the avail.
`ability or such a facility has led to an expansion of the algorithms that employ
`a multl-pass technique.
`as the name implies. an accumulation buffer accumulates rendered images
`and the standard operations are addition and multiplication combined into an
`‘acid with weight’ operation. In practice an accumulation buffer may have higher
`precision than a screen buffer to diminish the effect of rounding errors. The use
`oi‘ an accumulator buffer enables the effect of particular single pass aigoritlurts
`to be obtained by a number of passes. litter the passes are complete the line]
`result in the accumulation buffer is t:ran.st"erred into the screen buffer.
`
`The easiest example is the common anti-aliasing algorithm {see Section 14.?
`lot full details of this approach] which is to generate a virtual image. at ii‘ at the
`resolution of the final image, then reduce this to the final image by using a
`filter. The same effect can be obtained by littering the view port and generating
`it images and accumulating these with the appropriate weighnng value which is
`a function of the litter value. in Figure 6.25. to generate the four images that are
`required to sample each pixel four times we displace the view window through
`a '.-*2 pixel distance horizontally and vertically. To find this displacement we only
`have to calculate the size of the view port in pixel units. [Note that this cannot
`be implemented using the simple viewing system given in Chapter 5, which
`assumes that the view window is always centred on the line through the view
`point.)
`in this case we only save on memory. However. in many instances an algo-
`rithm implemented as a IEIEIIIIU-r]!II.i§ rendering is of lower complexity than the
`single pass equivalent. additional examples of motion blur. soft shadows and
`depth of field are given in I-iaeb-erli and Altetey ussot. These effects can be
`achieved by distributed ray tracing as described in chapter it} and the marlteti
`difference between the complexity of the two approaches is obvious.
`To create a motion blurred image it is only necessary to accumulate a seriesoi
`mtagesmnderedwiuiediemovhigobiectsindwscenechangefltelrposidonmu
`
`0223
`
`
`
`mum-pass Imnealtio mo accusruta-rion aursres
`
`rig:-5.15
`umi-passsuper-sanlplng.
`tajnlasedlrnage
`f'”"“P"°-|’PM"i-ibllfllle
`gamponentipassoid-re
`I15-Iilaedirrilgoffotr
`aihaiuinixdurfour
`pnsfi}«F0I't.h|sf!II$a|;lIe
`1||wp¢i'l'li.Il!'lfli.'OdI.Ip
`l'IIUil:helel'l'.hy'.I":|:lJrI|
`rfinensionl-.
`
`time. Exactly analogous to the anti-aliasing example. we are now anthallasing in
`the time domain. There are two approaches to motion blur. We can display a sin-
`gle image by averaging it imagesl:-uilt up in the accumulation buffer. Alternatively
`we can display an image for every calculated image by averaglxtg over a window
`of ti frames moving in time. To do this we accumulate Ii images initially. .-it the
`next step the frame that was accumulated tr-‘i frames ago is re-rendered and sub-
`tracted from the accumulation huifer. Then the contents of the accumulation
`
`buffer are displayed. Thus, alter the initial sequence is generated, each time a
`frame is displayed two frames have to be rendered-the in - llth and thectiitetit
`one.
`
`Simulating depth of field is achieved (approximately) by jit-iering both the
`View window as was done for anti-aliasing and the VIEW’ point, Depth of field is
`the effect seen in a photograph where. depending on the lens and aperture set-
`ting, ob]-ects a oertaln distance from the camera are in focus where others nearer
`and farther away are out of focus and binned. littering the view window nialtes
`all ob|ec-ts out oi‘ focus and jittesirtg the view point at the same time ensures
`objects in the equivalent of the focal plane remain in focus. The idea is shown
`l.n Figure s.zs. is plane of perfect focus is decided on. view port fitter values and
`view point perturbations are chosen so that a common rectangle is maintained
`hi the plane of perfect focus. The overall transfonnation applied to the view frus-
`h_m1 is a shear and translation. Again this facility cannot be implemented using
`the simple view fni.-stum in Section 5.2 which does not admit shear prolectlons.
`
`0224
`
`
`
`rm: cwnucs rn-suns in: Irnnrnmr. an m.conm+MIc rnncrssrs
`
`Flgunfirlfi
`Sinilliingdepthufflddhy
`!h&aI'luI'Igl1'II\|iewl'nJ'siJ.rn
`and-'iI'IIulaIing flievlnm
`po'I'IL
`
`I
`Vlewplllfl
`nmorpécreuincu
`
`S-nit shadow-rs are easily cneated by accumuflating 1-: passes and changing the
`position of a paint light source between passes to simulate sampling of an area
`source. Clearly this approach will also enable shadows from separate light
`sources to be rendered.
`
`0225
`
`
`
`(Z)
`
`Simulating light-object
`Interaction: local reflectlon
`
`models
`
`i".1 Reflection from a perfect surface
`
`3'22 Reflection front an imperfect surface
`13 The bl-directional reflectance distribution function
`
`7.4 Diffuse and specular components
`
`15 Perfect diffuse - empirically spread specular reflection (Phony)
`
`15 Physically based specular reflection
`
`3'2? Pre-comprnlng Blii.DFs
`
`18 Physically based diffuse component
`
`‘Introduction
`
`Local reflection models. and in particular the Plrong model {introduced in Chapter
`5]. have been part of mainstream rendering since the n11d-l9?{ls. Combined with
`interpolative shading of polygons,
`local reflection models are irrcorpolated in
`almost even! conventional tenderer The obvious constraint of locality is the
`shongest disadvantage of such models but despite the availability! of ray tracers and
`rarlioslry renderers the mainstream rendering approach is still some variation of the
`strategy described earlier — in other words a local reflection model is at the heart of
`tlreprocess. However. nowadays Itttrouldbediflicult to find areridererthat did not
`have ad hoc additions such as texture mapping and shadow calculation [see
`Chapter: B and 9]. Tiexttue mapping adds Interest and variety, and geometncal
`shadow calculations overcome the most significant drawback of local models.
`Despite the understandable emphasis on the development of global rnmels,
`there has been some considerable research effort into lrrtproving local reflectlon
`models. However. not too much attention has been paid to these. and most
`
`0226
`
`
`
`SIMULATIN-G LIc.Hr-oa|r.cr INTERACTION: Local. IIEFLEEIICIN Mot:-ets
`
`renclerers still use the Pht:-rig model: in one sense a tribute to the efficacy and
`simplicity of this technique, in another, an unfortunate ignoring of the real
`advances that have been made in this area.
`
`An important point concerning local models is that they are used in certain
`global solutions. As will he discovered in Chapter 12, most simple ray tracers are
`hybrid models that combine a local reflection model with a global ray traced
`model. A local model is used at every point to evaluate a contribution that is due
`to any direct illumination that can be seen from that point. To this is added a
`(ray traced] component that accounts for indirect illumination. (in fact, this is
`inconsistent because different parameters are used for the local and global con.
`trtbution. but it is a practice that is widely adopted.)
`In this chapter we will look at a representative selection of local models, delv-
`ing into such questions as: how do we simulate the different light reflection
`behaviour iretween, say, shiny plastic and metal that is the same colour? We can
`usually perceive such subtle differences in real objects and it is appropriate that
`we should be able to simulate them in computer graphics.
`The foundation of most local reflection models involves an empirical or imi-
`tative approach in which we devise an easily evaluated function to imitate reflec-
`tion of light from a surface or the theory of reflection from a perfect surface
`together with the simulation of an imperfect surface.
`
`@
`
`' _r£fl"E-.5-'l='-u‘iu-lNl$Gr7i23fl.'E'I-'sFflLfi‘l
`'
`lieflecflon from a perfect surface
`
`We begin by examining the behaviour of light incident on an optically smooth
`surface ~ a perfect mirror. This is determined by the Fresnel formulae - them-
`selves derived from lv1aJtvreil's wave equations. This is the source of the ray trac-
`ing formulae given in Section 1.4.6. The formula is a coefficient that relates the
`ratio of reflected and transmitted energy as a function of incident direction,
`polarization and the propenies of the material. assuming for simplicity that the
`light is unpolarlzecl {the approach usually taken in computer graphics] and trav-
`eiiing through air {approximated as a vacuum] and assuming that a factor
`known as the extinction coefficient (see Section 7.6.4] is zero we have:
`1
`
`sin’ (ti: - 9)
`
`F‘ alfiufei * mfos
`
`tan’ [qt — B}
`
`'7'-”
`
`where:
`
`iii is the angle of incidence
`is is the angle of refraction
`sin 9 = sin¢-fp (where 1.1 is the refractive index of the material}
`
`light is
`that is most
`These angles are shown in Figure ?.1. F is minimum,
`absorbed when it = t} or normal incidence. No light is absorbed by the surface
`and F is equal to unity for is = era. The wavelength dependent property of F
`comm from the fact that [1 is a function of wavelength.
`
`0227
`
`
`
`nerttcttou more an llrtPElIFEEI' sunrace
`
`Figure 7.1
`The Frfiltel equation.
`{.1} Angle: in the Fresnel
` ::};:Dfifim of
`the equation.
`
`F‘; sin‘(¢—'E|l+I3n‘(i>-El
`2
`sinqfi +3]
`Iaafio + B)
`
`M5.‘ °““'5""°“°‘
`his at
`
`“’°
`Iulote dense
`
`angle of rcfraorion
`
`L-E|=FlI|
`|T|=[l — If]|l'|
`
` -}#¢- -_~,g_--'-_s,_:.¢_e: :_'--
`
`'_ -a_1es_;s_}.p'1cI_:ar_1Q-'.iaI-{.'.l.i'¢i ‘T-§}iU77,'_'1“.E!'.=_viI“r,‘!(tsi?"'.rl'.fifi-“IT!r\!.?‘P|-N‘:ls5"3I[EI'Ffil4F'R‘.-rE'£_17.L'~1fifi$TfT-fiflfflfiflri-'i'flRI;RT '
`Reflection from an imperfect surface
`
`in practice, surfaces are not optically perfect. with the exception of glass or still
`water. surfaces exhibit a microgeometry. We can, however, still use the Fresnel
`equation it we inoorporate it in a model that simulates the microgeometry.
`Figure 12 shows one way of doing this - we consider the surface to be a collec-
`tion of microfacets which are for simplicity considered as symmetric l.r'—shaped
`pits. Over a small region we can describe the reflection or light incident on a rep-
`resentative region of such grooves to form a lobe which we can pararnetrize.
`Of course, surface microgeornetry is not the only imperfection that occurs in
`reality. For example, shiny metal surfaces age and acquire a film of dirt as well as
`large imperfections like scratches. This kind of ‘real’ surface is much more diffi-
`cult to model and it has to be emphasized that a surface whose microgeometry
`is modelled in the way described is still assumed to be perfectly clean — an
`unlikely practical event.
`
`0228
`
`
`
`simuuirmc. uc.i-rr—oaircr rnrtnacriow; Loc.-it Iiertecrlon I-IUEIELS
`
`Figure 7.2
`Simulating a rough surface
`with a collection of
`microfaeets each corislcler-ed
`as a perfect mirror.
`la} Modelling in surface as
`a collection of ‘If-shaped
`grooves. (bl Relleclion lobes
`for different values ol In it a
`Gaussian clstrittllon.
`
`Ell‘
`
`Disuibulim of
`
`: nticrofacttorierrlation
`
`Average surface
`rvorrnal orierltulon
`
`Syrnrnelrit: V-shaped
`g|'ooI.re5- ‘microfacets’
`
`Gaussian. M = 0.2
`
`Gaussian. or 2 I16
`
`---.-- 1.-:~, '.'_-, .:.‘_v-‘.*- .-',:.f1_-r_"..N§ .-'.»-.+—::..-
`.-'.-r;:s- .'.°-s--.-r.»..\:'-r'.i-_.-i~-'.-=-:-i--.-
` i:'~'-' :'~'fiF"1'-4'25‘-'-=7ilf:viu-it J".-li'fll.='.'.-?rW9I"-'.~«i-'.|;FiI*.'°!
`The hi-directional reflectance distribution function
`
`-at ;,--1.;~r_1.-_.-_-;.-.-_..w_--_-_r=r-;-s_.
`
`n’
`
`in:
`
`In general, light reflected from a point on the surface of an object is categorized
`by a bi-directional reflection distribution function, or BRDF. This term empha-
`sizes that the light reflected in any particular direction (in computer graphics
`we are mostly interested in light reflected along the viewing direction 1*] is a
`function not only of this direction but also of the direction of the Incoming
`light. A BRDF can be written as:
`
`BRDF = flail» "llinr firth ¢'rH]=
`
`and many models used in computer graphics differ amongst themselves accord-
`ing to which or these dependencies are simulated, Figure 13 shows these angles
`together with a BRDF computed for a particular set of angles. The rendered BRDF
`shows the magnitude of the reflectecl light {in any outgoing direction] for an
`infinitely thin beam of light incident in the direction shown. in practice, light
`may be incident on a surface point from more than one direction and the total
`reflected light would be obtained by considering a separate BRDF for each
`incoming light beam and integrating.
`
`0229
`
`
`
`THE Ill-DIRECTIONAL sti‘-.FtEI:T.ANt:E olsrrrisurrou ruucrton
`
`Flgre 13
`llld‘I'ectiI:II1al rel‘1ect'rv'Ity
`function. -[a] A BIIDF relates
`Iifltl incident in direction
`1 to light reflected along
`eireclion II" as a function of
`the angles '3-n. fa. 94-Ii. IM-
`{Is} An eotaI'|'I|:I|e of a BRDF.
`
`For many years computer graphics has worked with simple, highly constrained
`llRDFs such as that shown in Figure }".3. Figure 1-1 gives an idea of the difference
`between such computer graphics models and what actually happens in practice.
`The illustrations are cross-sections of
`the BRDF in the plane contain-
`ing L and R, the mirror direction for different angles of 3, the angle of incidence
`(and reflection]. in particular, note the great variation In the shape of the reflec-
`tion lobes as a function of the wavelength of the incident light, the angle of inci-
`dence and the material. In the case of aluminium we see that it can behave either
`like a mirror surface or a directional diffuse surface depending on the wavelength
`of the incident light. When we also take into account that, in practice, incident
`light is never monochromatic {and we thus need a separate BRDF for each wave-
`length of light that we are considering} we see that the behaviour of reflected
`light is a far more complex phenomenon than we can model by using simple
`approximations like the Phorrg model at three wavelengths.
`no important distinction that has to be made is between isotropic and
`anisotropic surfaces. an isotropic surface exhibits a fl‘-RDF whose shape is inde-
`pendent of the incoming azimuth angle at». {Figure 1.3]. An anisotropic surface is.
`for example, brushed aluminium or a surface that retains coherent patterns from
`a milling machine. in the case of a brushed suriace the magnitude of the specu-
`lar lobe depends on whether the incoming light is aligned with the grain of the
`surface or not.
`
`Another complication that occurs in reality is the nature of the atmosphere.
`lviost BFlDFs used in local reflection models are constrained to apply to light
`reflected from opaque materials in a vacuum. We mostly do not consider any
`scattering of reflected light in an atmosphere [in the same way that we do not
`consider light scattered by an atmosphere before it reaches the obiect]. The rea-
`son for this is, of course, simplicity and the subsequent reduction of light inten-
`sity calculations to simple comparisons between vectors categorizing surface
`shapes, light directions and viewing direction.
`We might imagine that if we have a BRDF for a material that the light-obiect
`interaction is solved. l-Ic.-wever, a number of problems remain to this day despite
`a quarter of a century of research. Some of these are:
`
`0230
`
`
`
`suuuumuc. m:H'r-mu:-:1 mmmznum LO-CAL nenecnnn muons
`
`fmmtld
`HFmwHKmnhr
`different mauerials and
`wmdmmmfiflm
`irlustration by He at at.
`['3 99111-
`
`Plan: containing 1!. and R the minor dimcliun
`
`Ammmmm
`1=2.Clum
`
`id}
`
`0231
`
`
`
`DIF FUSE -END SPEEUIJII COMPONENTS @
`
`Where do we get the BRDF from {particularly for real as opposed to perfect
`materials}? Some data are available for some materials in the metallurgical
`literature but this is by no means complete.
`At what scale do we attempt to represent a BRDFE What is the area of the
`region that we should consider receives incident light? Should this be large
`enough so that the statistical model is consistent over the surface? Should it
`be large enough to include surface imperfections such as scratches? This is
`very much an unaddressed problem.
`How do we represent the BRDF? This final point accounts for most variation
`amongst models.
`in particular,
`the distinction between empirical and
`physically based models is often made. An empirical model is one that
`imitates light—obiect interaction. For example, in the Phong model a simple
`mathematical function is used to represent the specular lobe. In the Cook
`and Torrance model a statistical ditribution represents the surface geometry
`and this is termed a physically based model (Cook and Torrance 1932). it is
`interesting to note that there is no general agreement on the visual efficacy
`of empirical versus physically based models. Often a better result can be
`obtained by carefully tuning the parameters of an empirical model than by
`rising a physically based model.
`What follows is a review of the early local reflection models and a short selec-
`tion oi more recent advances. in particular we start by looking at the defects
`inherent in the Phong model and how these can be overcome. The material is
`by no means a comprehensive review, but is intended as a representation of
`these departures from the Phong model that have been simulated to provide
`ever more subtle variations on the way in which light ‘paints’ an object.
`
`ts
`
`Diffuse and specular componen
`
`-'r‘I_'-'..'
`Ii.".'
`'-ill:-'."'.‘-..'2':'|1'-'S."a-.._.-'-:.I'll:
` l'$_1,"-_~;g-.'=-.*_«_re‘_._npt'{-u-;.'-__-il~'.--fi':3ElHa\.nlE'3m:ai2;.'E::)°"dioE’-a'q.+r¥1}.'|.v.l,i.flia1.-d'oI'A'i"'J-;:.-I .-1'.t-_.-'1'-'.-I"Ta-T--'--3'1E=.-"\.i~é'_'£I"-5'-'.ni'-:.'-.".-"xiii"-‘-1.—"'
`Local reflection models used in computer graphics are normally considered as a
`combination of a diffuse and a specular component. This works well for many
`cases but it is a simplification. The simpler models of specular reflection consider
`some imperfect behaviour to be a modification of perfect specular reflection.
`Perfect specular reflection occurs when light strikes a perfect mirror surface and
`a thin beam of light incident on such a surface reflects according to the well-
`known law: the outgoing angle is equal to the angle of incidence. Perfect diffuse
`reflection occurs when incident light is scattered equally In all directions from a
`perfect matte surface. which could in practice be a very fine layer of powder.
`Combining separately calculated specular and diffuse components imitates the
`behaviour of real surfaces and is an enabling assumption in many computer
`graphics models. imitating the subtle visual differences between real surfaces has
`mostly been achieved by inoorporating various effects into the specular compo-
`nent as we shall now examine by looking at a selection of such models. These
`are:
`
`0232
`
`
`
`@) SIMULATING ur;ar—oa1scr lNT£lIACTIl‘.‘.INr rocm. ttsriecrtott Moons
`
`[13 The Phong model - perfect diffuse reflection combined with empirically
`spread specular reflection (Phong 19395}.
`
`(2) A physically based specular refection model developed by Flllnn [l9??) and
`Cook and Torrance (1932).
`
`{3} Pre-calculating B-ilDFs to be indexed during a tendering process Cabral er oi.
`U933").
`
`[4] A physically based diffuse model developed by Hanrahan and lireuger (1993).
`
`This selection is both an historical sample and an illustration of the diverse
`approaches of researchers to local reflection models.
`
` 1£-..‘Kitd‘-5:1.’-‘I'. fialfmfifitrlnkifl-IflflUH.'1DE§- 1flfikfl1_.Wisfiflfi.&1K‘ ".!‘.'iI.‘:s2I.'.l-'.‘a'_'.‘.l‘..t'.— -.$m mmw
`Perfect diffuse — empirically spread specular reflection (Pltong l9I+'5)
`
`This is, in fact, the Phong reflection model. We have already discussed the prac-
`ticalities of this, in particular, how it is integrated into a rendering system or
`strategy, Here we will look at it from a more theoretical point of view that
`enables a comparison with other direct reflection models.
`The Phong reflection model accounts for diffuse reflection by l.ambert's
`Cosine Law, where the intensity of the reflected light is a function of the cosine
`between the surface normal and the incoming light direction.
`Phong used an empirically spread specular term. Here the idea is that a prac-
`tical surface. say, shiny metal, reflects light in a lobe around the perfect mirror
`direction because it -can be considered to be made up of tiny mirrors all oriented
`
`in slightly different directions. instead of being made up of a perfectly smooth
`mirror that takes the shape of the object. Thus the coarseness or roughness of the
`(shiny) surface can be simulated by the index n - the higher is is, the tighter the
`lobe and the smoother the surface. all surfaces simulated by this model have a
`plastic-like appearance.
`(leornetrically, in three-dimensional space the model produces a cone of rays
`centred on R whose intensity drops off exponentially as the angle between the
`ray and It increases.
`A more subtle aspect of real behaviour, and one that accounts for the differ
`ence in the loo]: of plastic and shiny metal, is missing entirely front this model.
`This is that the amount of light that is specularly reflected depends on the ele-
`vation angle Iiltlfligure 13] of the incoming light. Drive a car into the setting sun
`and you experience a blinding glare from the road surface — a dull surface at mid-
`day with little or no specular component. It was to account for this behaviour.
`which for any ohiect accounts for subtle changes in the shape of a highlight as
`a function of the incoming light direction. that an early local reflecrion model.
`based on a physical microfacet simulation of the surface, emerged.
`We can say that, although the direction of the specular bump in the Fhong
`model depends on the incident direction - the specular bump is symmetrically
`disposed about the mirror direction — its magnitude does not vary and the Phong
`model implements a BRIJF ‘reduced’ to:
`
`0233
`
`
`
`elnrslcatur nasco SPECU1..Mt nertrcrlon @
`
`BRDF = flflna, ¢ln.'f:'
`
`The BRDF shown in Figure ?.3 was calculated using the Phong reflection model.
`
`uarli {tin o
`and Torrance 1932)
`
`Two years after the appearance of Phong’s work in 19?5, J. B-[inn {19?.'-"J pub-
`lished a paper describing how a physically based specular component could be
`used in computer graphics. In 1932, Cook and Torrance extended this model to
`account for the spectral composition of highlights - their dependency on mate-
`rial type and the angle of incidence of the light. These advances have a subtle
`effect on the size and colour of a highlight compared with that obtained from
`the Phong model. The model still retains the separation of the reflected light
`into a diffuse and specular component, and the new work concentrates entirely
`on the specular component, the diffuse component being calculated in the same
`way as before. The model is most successful in rendering shiny metallic—like sur-
`faces, and through the colour variation in the specular highlight being able to,
`for example, render similarly coloured metals differently.
`The problem of highlight shape is quite subtle. A highlight is just the image
`of a light source or sources reflected in the object. Unless the object surface is pla-
`nar, this image is distorted by the oi:-iect. and as the direction of the incoming
`light changes, it falls on a different part of the object and its shape changes.
`Therefore we have a highlight image whose overall shape depends on the cut-
`vature of the obiect surface over the area struck by the incident light and the
`viewing direction, which determines how much of the highlight is visible from
`the viewing direction. These are the primary factors that determine the shape of
`the patches of bright light that we see on the surface of an oblect and are easily
`calculated by using the Phong model.
`The secondary factors which determine the highlight image are the depen-
`dence of its intensity and colour on the angle of incoming light with respect to
`a tangent plane at the point on the surface under consideration. This identifies
`the nature of the material to us and enables us to distinguish between metallic
`and non-metallic obiects.
`Curiously. despite producing more accurate highlights, these models were not
`taken up by the graphics community and the cheaper and simpler Phong model
`remained the more popu tar. as indeed it does to this day. The possible reason for
`this is that the differences produced by the more elaborate models are subtle.
`Objects rendered by the Phong model, although inaccurate and incorrect in
`highlight rendering, produce objects that look real. in most graphics applica-
`tions, then and now, this is all that is required. l-"hoto—reali5m, the much stated
`goal, of three-dimensional computer graphics, depends on very many factors
`other than local reflection models. To make obiects look more real, only in this
`manifestly narrow sense, was perhaps not deemed to be worth the cost.
`
`0234
`
`
`
`sruutarrnc uc.rrr-oartcr rrcrcnatrron: LOCAL ststscnori Moons
`
`What is meant by a physical simulation in the context of light reflcction is
`that we attempt tn model the micro-geometry of the surface that causes the light
`to reflect. rather than simply imitating the behaviour, as we do in the Fhong
`model, with an empirical term.
`This early simulation of specular highlights has four components, and is
`based on a physical microfatet model consisting of symmetric ‘ii-shaped grooves
`occurring around an average suriace (Figure 12}. We now describe each of these
`components in turn.
`
`Modelling the micro-geometry of the surface
`
`A statistical distribution is set up for the orientation of the microfaoets and this
`gives a term D for the light emerging in a particular {viewing} direction. A sim-
`ple Gaussian can be used:
`
`9 = k QKPI-iaimiill
`
`where t: is the angle oi the microiacet with respect to the normal of the (mean)
`surface, that is the angle between N and H. and H1 is the standard deviation of
`the distribution. Evaluating the distribution at this angle simply returns the
`number of microfacers with this orientation, that is the number of microfacets
`that can contribute to light emerging in the viewing direction. Two reflection
`lobes for m = 0.2 and 0.6 are shown in Figure ?.2(b].
`Using microfacets to simulate the dependence of light reflection on surface
`roughness makes two enabling assumptions:
`
`{1} it is assumed that the microiacets, although physically small, are large with
`respect to the wavelength of light.
`
`[2] The diameter of the incident beam is large enough to intersect a number of
`microfacets that is sufficient to result in representative behaviour -of the
`reflected light.
`
`in BEIDF terms this factor controls the extent to which the specular role bulges.
`
`Shadowing and masking effects
`
`Where the viewing vector, or the light orientatit:-n vector begins to approach the
`mean surface. interference effects occur. These are called shadowing and mast»:-
`ing. Masking oocurs when some reflected light is trapped and shadowing when
`incident light is intercepted, as can be seen from Figure 15.
`The degree of masking and shadowing is dependent on the ratio inn‘: [Figure
`?.5[b)] which describes the proportionate amount of the facets contributing to
`reflected light that is given by:
`
`G = l —I.Hz
`
`0235
`
`
`
`PHTSICALLV sum SPECULAI nenecnan @
`
`fl
`
`re 15
`-
`gilhtemmm of light with
`, micrdacet reflecting
`“place. (3) 5l'I&dtM|‘i|'Ig and
`masldng. {bl Ammnt of
`ighl which escapes depends
`on 1 - Mb.
`
`0236
`
`
`
`siiuuurrmo UGHT-OBJECT mrenacnoiv: LO-EAL esriscnon moons
`
`In the case where ii reduces to zero then all the reflected light escapes and:
`G = I
`
`A detailed derivation of the dependence of lift: on L, V and H was given by
`Blinn (1937). For masking:
`
`Gm = 2{N+fl'}{N-I-’]!V-H
`
`For shadowing the situation is geometrically identical with the role of the vec-
`Iiors L and V interchanged. For masking we have:
`
`o. = Zfili-flfiiltf-Llfl?-II
`
`The value of G that must be used is the minimum of G. and G... Thus:
`
`G = min fl, 13,, Gm}
`
`Viewing geometry
`
`Another pure geometric term is implemented to account for the glare effect
`mentioned in Section 15. its the angle between the view vector and the mean
`surface normal is increased towards 90“. an observer sees more and more micro-
`facets and this is accounted for by a term:
`
`UN-V
`
`that is. the increase in area of the microfacets seen by a viewer is inversely pro-
`portional to the angle between the viewing direction and the surface normal. If
`there is incident light at a low angle then more of this light is reflected towards the
`viewer than if the viewer was intercepting light from an angle of incidence close
`to normal. This effect is countered by the shadowing effect which comes into play
`also as the viewing orientation approaches the mean surface orientation.
`
`The Fresnel term
`
`The next tenn to consider is the Fresnel term, F (see Section 11}. This term con-
`cerns the amount of light that is reflected as opposed to being absorbed — a
`factor that depends on the material type considered as a perfect mirror surface-
`which our individual microfacets are. in other words we now consider behaviour
`for a perfect planar surface having previously modelled the entire surface as a set
`of such microfacets which individually behave as perfect minors. This factor
`detennines the strength of the reflected lobe as a function of incidence angle and
`wavelength. ‘l'he wavelength dependence accounts for subtle colour effects in
`the specular highlight.
`The coefficients required to calculate F for any angle of incidence are not usu-
`ally k