I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S Realism in Computer Graphics

• These notes have been created and revised each year by many generations of CS123 TAs and by John Hughes and Andy van Dam • Presented and updated in 2001 by John Alex (former 123 TA, now a Ph.D. student at MIT)

• See also Chapter 14 in the book

John Alex October 23, 2001 Realism 1/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S Realism in Computer Graphics Roadmap • There are many definitions of “realism” - degree of “realism” you want to achieve depends on context – medium (still images, movie/video special effects, VR, etc.) – content – users – resources (time, money, processing power) • There are many categories of realism: – geometry and modeling – rendering – behavior – interaction • And many techniques for achieving realism within each category • Many degrees of realism within each category as well • Graphics can be realistic in some categories and unrealistic in others • Achieving realism usually requires making trade-offs – concentrate on the aspects most useful to your application • When resources run short, use hacks!

John Alex October 23, 2001 Realism 2/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Realism and Media (1/2)

• Each medium has its own standard for “realism” • In the early days of computer graphics, focus was primarily directed towards producing still images • With still images, “realism” typically meant “photorealism.” Goal was to accurately reconstruct a scene at a particular slice of time • Emphasis was placed on accurately modeling geometry and light reflection properties of surfaces • With the increasing production of animated graphics—commercials, movies, special effects, cartoons—a new standard of “realism” became important—behavior • Behavior over time: – character – natural phenomena: cloth, fur, hair, skin, smoke, water, clouds, wind – Newtonian physics: things that bump, collide, fall, scatter, bend, shatter etc.

John Alex October 23, 2001 Realism 3/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Realism and Media (2/2) Real-time vs. Non-real-time • “Realistic” static images and are usually rendered in batch, and viewed later. They can often take hours per frame to produce. Time is a relatively unlimited resource • In contrast, other media emphasize real-time output: – graphics workstations: data visualization, 3D design – video games – virtual reality • Real-time media drastically reduce time available for geometric complexity, behavior simulation, rendering, etc. • Additionally, any media that involves user interaction (e.g., all of the above) also requires real-time interaction handling

John Alex October 23, 2001 Realism 4/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Trade-off (1/5) Hierarchies of needs and definitions • We have a hierarchy of questions to ask before we can decide what constitutes “realism” • Are we producing stills or animated graphics? • If animated, is it real-time? • If it’s real-time, is it interactive? • What are our computing resources? • What is our content and what is our audience? • Depending on our answers to these and other questions, we’ll come up with a delicately balanced compromise between needs and costs • It’s a matter of making the right trade-off for the situation

John Alex October 23, 2001 Realism 5/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Trade-off (2/5) Cost vs. Quality • Many computer graphics media (e.g., film vs. video vs. CRT) • Many categories of realism to attend to (far from exhaustive): – geometry – behavior – rendering – interaction • In a worst-case scenario (e.g., VR), we have to attend to all of these categories within an extremely limited time-budget • The optimal balance of resources for achieving “realism” depends a great deal on context of use: – medium – user – content – resources (especially hardware) • We will elaborate on these four points next…

John Alex October 23, 2001 Realism 6/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Trade-off (3/5)

• Medium – as said before, different media have different needs – consider a doctor examining patient’s x-rays – if the doctor is examining static transparencies, resolution and accuracy matter most – if the same doctor is interactively browsing a 3D dataset of the patient’s body online, she may be willing to sacrifice resolution or accuracy for faster navigation and the ability to zoom in at higher resolution on regions of interest • User – expert vs. novice users – data visualization: novice may see a clip of data visualization on the news, doesn’t care about fine detail (e.g., weather maps) – in contrast, expert at workstation will examine details much more closely and stumble over artifacts and small errors—“expertise” involves acute sensitivity to small fluctuations in data, anomalies, patterns, features

John Alex October 23, 2001 Realism 7/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Trade-off (4/5)

• Content – movie special-effects pack as much astonishment as possible into their budget: use every trick in the book – conversely, CAD model rendering typically elides detail for clarity, and fancy effects only interfere with communication – Scientific visualizations show artifacts and holes in the data, don’t smooth them out. Also, don’t introduce artifacts due to geometric or rendering approximations (e.g., contouring) • Resources – you settle for what you can get: – Intel 286 (1989): wireframe bounding boxes – nVidia GeForce 3 (2001) texture-mapped, environment-mapped, bump-mapped, shadow-mapped, high- polygon, articulated, physically-simulated bliss at 60 hertz for $300 – Microsoft Xbox (Nov. 2001): complete computer with graphics more powerful than a GeForce 3 for about $300

John Alex October 23, 2001 Realism 8/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Trade-off (5/5) Computing to a time budget (“time-critical” algos) • A vast array of techniques have been developed for generating “realistic” geometry, behavior, rendering… • The “best” can often be traded for the “good” at a much lower computational price • We call bargain-basement deals “hacks” • Some techniques use progressive refinement (or its inverse, graceful degradation): the more time we spend, the better output we get. Excellent for situations when we want the best quality output we can get for a fixed period of time, but we can’t overshoot our time limit (e.g., VR surgery!). Maintaining constant update rates is a form of guaranteed “Quality of Service” (a networking term). – web image downloads – progressive refinement for extremely large meshes

John Alex October 23, 2001 Realism 9/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S Digression - Definitions

• Texture-Maps: map an image onto surface geometry to create the appearance of fine surface detail. A high level of realism may require many layers of textures. • Environment-Maps: multiple image maps which record the global reflection and lighting on a object. These image maps are resampled during rendering to extract view- specific information which is then applied as a texture to the object. • Bump-Maps: fake surface normals by applying a height field (intensities in the map indicate height above surface). From height field calculate gradient across surface and use this to perturb the surface normal. • Shadow-Maps: generate shadow texture by taking silhouettes of objects as seen from the light source. Project texture onto scene from light source. Note: must be recalculated for moving lights.

John Alex October 23, 2001 Realism 10/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Techniques—Geometry (1/3)

• The Hacked – Texture mapping: excellent way to fake fine surface detail—more often used to fake geometry than to add pretty colors – more complicated texture mapping strategies such as polynomial texture maps use image-based rendering techniques (see slide 23) for added realism

• The Good – Polygonization: very finely tessellated meshings of curved surfaces

John Alex October 23, 2001 Realism 11/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Techniques—Geometry (2/3) The Best • Splines – no polygons at all! Continuous mathematical surface representations (polynomials) – 2D and 3D curved surfaces: Non-Uniform Rational B-Splines (NURBS) – high order polynomials are hard to work with • Implicit Surfaces (blobbies) • Subdivision Surfaces – elegantly avoid gapping and tearing – support creases – allow multi-resolution deformations (editing of lower resolution representation of surface)

John Alex October 23, 2001 Realism 12/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Techniques—Geometry (3/3)

• The Gracefully Degraded – Level-of-Detail(LOD): as object gets farther away from viewer, replace it with a lower-polygon version or lower quality texture map. Discontinuous jumps in model detail

– Mesh decimation: save polygons

Left: 30,392 triangles Right: 3,774 triangles

John Alex October 23, 2001 Realism 13/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Techniques—Rendering (1/9) Early Hacked • The Hacked – evaluate simple lighting equation only at polygon vertices: just diffuse Lambertian reflection that only accounts for angle between surface normal and vectors to the light source. Interpolate color values across faces: Gouraud shading • The Good – for non-specular (i.e., not perfectly reflective), opaque objects, most lighting information comes from the lights, and not “globally” from other surfaces in the scene – can ignore global contributions and perform a strictly local lighting calculation – introduce a constant “ambient” lighting term to fake the lost global contributions – fake specular spots on shiny surfaces: Phong lighting and Phong shading – fast! • easily implemented in hardware – fake reflection: environment mapping – fake shadows: shadow mapping

John Alex October 23, 2001 Realism 14/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S Techniques—Rendering (2/9) An example: Quake III • Few polygons (i.e., low geometric complexity) • Purely local lighting calculations • Details created by texturing everything with precomputed texture maps – surface detail – smoke, contrails, damage and debris – even the lighting and shadows are done with textures • Bump mapping on some hardware

John Alex October 23, 2001 Realism 15/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Techniques—Rendering (3/9) The Best • Global illumination: find out where all the light entering a scene comes from, where and how much it is absorbed, reflected or refracted, and all the places it eventually winds up • Three methods: Raytracing, Radiosity, IBR • Early method: Ray-tracing. Method to avoid forward tracing infinitely many light rays from light sources to eye. Work backwards to do viewer-centric rendering: shoot viewing rays from viewer’s eyepoint through each pixel into scene, and see what objects they hit. Return color of object struck first. If object is transparent or reflective, recursively cast ray back into scene and add in reflected/refracted color – Turner Whitted, 1980 – moderately expensive to solve – “embarrassingly parallel”—can use parallel computer or networked workstations – models simple lighting equation (e.g., ambient, diffuse and specular) for direct illumination but only perfectly specular reflection for indirect (global) illumination

John Alex October 23, 2001 Realism 16/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Techniques—Rendering (4/9) The Best: Ray Tracing (cont.) • Ray-tracing good for: shiny, reflective, transparent surfaces such as metal, glass, linoleum. Can produce sharp shadows, lensed caustics (focusing of light due to interaction with curved specular surfaces). As these effects appear relatively infrequently in everyday life, grouped together they often look characteristically “computerish” • Can do volumetric effects, caustics with straightforward extensions (such as “photon maps”)

John Alex October 23, 2001 Realism 17/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Techniques—Rendering (5/9) The Best: Radiosity (Energy Transport) • Another method: Radiosity. Scene-centric rendering. Break scene up into small surface patches and calculate how much light from each patch contributes to every other patch. Circular problem: some of patch A contributes to patch B, which contributes some back to A, which contributes back to B, etc. Very expensive to solve—iteratively solve system of simultaneous equations – viewer-independent—batch preprocessing step followed by real-time, view-dependent display

John Alex October 23, 2001 Realism 18/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Techniques—Rendering (6/9) The Best: Radiosity (cont.) • Good for: indirect (soft) lighting, color bleeding, soft shadows, indoor scenes with matte surfaces. As we live most of our lives inside buildings with indirect lighting and matte surfaces, this technique looks remarkably convincing • Even better results can be obtained by combining radiosity with ray-tracing – Various methods for doing this. Looks great! Really expensive!

John Alex October 23, 2001 Realism 19/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Techniques—Rendering (7/9) The Gracefully Degraded Best • Selectively ray-trace. Usually only a few shiny/transparent objects in a given ray-traced scene. Can perform local lighting equations on matte objects, and only ray-trace the pixels that fall precisely upon the shiny/transparent objects • Calculate radiosity at vertices of the scene once, and then use this data as the vertex colors for Gouraud shading (only works for diffuse colors in static scenes)

John Alex October 23, 2001 Realism 20/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Techniques—Rendering (8/9) The Real Best: Sampling Reality • The Kajiya rendering equation (covered in CS224 by Spike) describes this in exacting detail – very expensive to compute! • Previous techniques were different approximations to the full rendering equation • Led to the development of path-tracing: point sampling the full rendering equation • Eric Veach’s Metropolis Light Transport is a faster way of sampling the full rendering equation (CS224)

John Alex October 23, 2001 Realism 21/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Techniques—Rendering (9/9) Side Note—Procedural Shading

• Complicated lighting effects can be obtained through use of procedural shading languages – provides nearly infinite lighting possibilities – global illumination can be faked with low computational overhead – but usually requires a skilled artist to get decent images • Pixar’s Renderman • Procedural shading is now in hardware – nVidia’s GeForce3 has programmable vertex shaders

John Alex October 23, 2001 Realism 22/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Image-Based Rendering (1/2) A Different Approach: • Image-based rendering (IBR) is only a few years old. Instead of spending a lot of time and money modeling every object in a complex scene, take a photo of it. You’ll capture both perfectly accurate geometry and lighting with very little overhead • Dilemma: how to generate views other than the one photo you took. Various answers.

The Hacked • QuickTimeVR. – Stitch together multiple photos taken from the same location at different orientations. Produces cylindrical or spherical map which allows generation of arbitrarily oriented views from that one position. – generating multiple views: discontinuously jump from one precomputed viewpoint to the next. In other words, can’t reconstruct missing (obscured) information

John Alex October 23, 2001 Realism 23/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Image-Based Rendering (2/2) The Best • Plenoptic modeling: using multiple overlapping photos, calculate depth information from image disparities. Combination of depth info and surface color allows on-the-fly reconstruction of “best guess” intermediary views between the original photo- positions • Lightfield rendering: sample the path and color of many light rays within a volume (extremely time- consuming pre-processing step!). Then interpolate these sampled rays to place the camera plane anywhere within the volume and quickly generate a view

John Alex October 23, 2001 Realism 24/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Temporal Aliasing (1/3) Stills vs. Animation • At first, computer graphics researchers thought, “If we know how to make one still frame, then we can make an animation by stringing together a sequence of stills” • They were wrong. Long, slow process to learn what makes animations look acceptable • One problem: reappearance of spatial aliasing • Individual stills may contain aliasing artifacts that aren’t immediately apparent or irritating – impulse may be to ignore them • Sequential stills may differ only slightly in camera or object position. However, these slight changes are often enough to displace aliasing artifacts by a distance of a pixel or two between frames

John Alex October 23, 2001 Realism 25/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Temporal Aliasing (2/3) Stills vs. Animation • Moving or flashing pixel artifacts are alarmingly noticeable in animations. Called the “crawlies”. Edges and lines may ripple, but texture-mapped regions will scintillate like a tin-foil blizzard • How to fix crawlies: use traditional filtering to get rid of spatial artifacts in individual stills

John Alex October 23, 2001 Realism 26/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Temporal Aliasing (3/3) Motion Blur • Another unforeseen problem in animation: temporal aliasing • This is like spatial aliasing problem, only over time: if we sample a continuous function (in this case, motion) in too few steps, we lose the continuity of the signal • Quickly moving objects seem to “jump” around if sampled too infrequently • One solution: motion blur. Turns out that cameras capture images over a relatively short interval of time (function of shutter speed). For slow moving objects, the shutter interval is sufficiently fast to “freeze” the motion, but for quickly moving objects, the interval is lousy enough to “smear” the object across the film. This is, in effect, filtering the image over time instead of space • Motion blur a very important cue to the eye for maintaining illusion of continuous motion • We can simulate motion blur in rendering by taking the weighted average of series of samples over small time increments

John Alex October 23, 2001 Realism 27/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Techniques—Behavior (1/4) Modeling the way the world moves • Cannot underestimate the importance of behavioral realism – we are very distracted by unrealistic behavior even if the rendering is realistic – good behavior is very convincing even when the rendering is unrealistic (e.g., data animating a stick figure still looks very “real”) • Hand-made keyframe animations – professional often develop an intuition for the behavior of physical forces that computers spend hours calculating – “cartoon physics” sometimes more convincing or more appealing than exact, physically-based, computer calculated renderings – vocabulary of cartoon effects: anticipation, squash, stretch, follow-through, etc.

John Alex October 23, 2001 Realism 28/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Techniques—Behavior (2/4) The Best

• Motion-capture – sample positions and orientations of motion-trackers over time. Trackers usually attached to joints of human beings performing complex actions. Once captured, motion extremely cheap to play back: no more storage required than a keyframe animation. Irony: one of cheapest methods, but provides excellent results – usually better than keyframe animations and can be used for a variety of characters with the same joint structure (e.g., Nancy Pollard’s research)

John Alex October 23, 2001 Realism 29/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Techniques—Behavior (3/4) The Best (cont.) • Physics simulations – expensive, using space-time constraints, inverse kinematics, Euler and Runge-Kutta integration of forces, N2-body problems. These can take a long time to solve – looks fairly convincing

John Alex October 23, 2001 Realism 30/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Techniques—Behavior (4/4) The Gracefully Degraded • Simplify numerical simulation: consider fewer forces, use bounding boxes instead of precise collision detection, etc. • Decrease number of time steps used for Euler integration • Break laws of physics (plausibly)

John Alex October 23, 2001 Realism 31/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Real-time Interaction (1/6) Frame Rate • Video refresh rate is independent of scene update rate (frame rate), should be >=60Hz to avoid flicker • Frame rate equals number of distinct images (frames) per second • Best: frame rate is as close to refresh rate as possible • Best: frame rate is close to constant – humans perceive changes in frame rate (jerkiness) – fundamental precept of “real-time:” know ahead of time (i.e., guarantee) exactly how long each frame will take – we’ll see later that this is a major advantage of polygonal scan conversion over ray tracing • Bounded above by output refresh rate – refresh rate is the number of times per second that a CRT scans across the entire display surface – includes the vertical retrace time, during which the gun is on its way back up (and is off) – must swap buffers while gun is on its way back up. Otherwise, get “tearing” when parts of two different frames show on the screen at the same time – to be constant, frame rate must then be the output refresh rate divided by some integer (at 60Hz output refresh rate, can only maintain 60, 30, 20, 15, etc. frames per second constantly)

John Alex October 23, 2001 Realism 32/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Real-time Interaction (2/6) Frame Rate (cont.) • You can imagine trade-offs between interaction and other factors of realism. Often, we will sacrifice realism of rendering, geometry, or behavior for higher frame rate and interactivity • Insufficient update rates can cause temporal aliasing—the breakup of continuity over time • Temporal aliasing destroys the illusion of immersion. Importance is application-dependent – in a CAD-CAM program, a 10 frame-per-second update rate may be acceptable because the scene is relatively static, usually only the camera is moving – in video games and simulations involving many quickly moving bodies, a higher update rate is imperative: often >60 frames-per-second are needed – motion blur is expensive in real-time graphics because it requires calculation of state and complete update at many points in time

John Alex October 23, 2001 Realism 33/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Real-time Interaction (3/6) Frame Rate and latency • Frame time is the period over which a frame is displayed (reciprocal of frame rate) • Problem with low frame rates is usually “latency,” not smoothness • Latency (also known as “lag”) in a real-time simulation is the time between an input (provided by the user) and its result – best: latency should be kept below 10ms or there is a noticeable lag between input and result – causes potentially disastrous results; a particularly nasty instance is VR-induced “cyber sickness” which causes fatigue, headaches and even nausea – lag for proper task performance on non-VR systems should be less than 100ms

John Alex October 23, 2001 Realism 34/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Real-time Interaction (4/6) Frame Rate and Latency (cont.) • Imagine a user that is constantly feeding inputs to the computer • Constant inputs are distributed uniformly throughout the frame time • Average time between input and next frame is ½ of frame time • Average latency = ½ frame time – at 30Hz, average latency is 17ms>>10ms – at 60Hz, average latency is 8.3ms<10ms – frame rate should be at least 60Hz • Must sample from input peripherals at a reasonable rate as well – often 10-20 Hz suffices, as the user’s motion takes time to execute – high-precision and high-risk tasks will of course require more – in CAVE many users prefer 1–2Hz (especially if it has geometrical accuracy) to 5–10Hz; somehow it is less disconcerting

John Alex October 23, 2001 Realism 35/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Real-time Interaction (5/6) Rendering trade-offs • Frame rate should be at least 60Hz. 30 hurts for very interactive applications (e.g., video games) – only have 16.7ms (frame time) to render frame, must make tradeoffs – VR often falls short of this ideal • What can you get done in 16.7ms? • Do some work on host (pre-drawing) • Best: multiprocessor – accept and integrate inputs throughout frame (1 CPU) – update database (1+CPUs) • swap in upcoming geometry and texture • respond to last rendering time (adjust level of detail) • test for intersections and respond when they occur • update view parameters and viewing transform – do coarse view culling, scenegraph optimizing (1 CPU per view/pipe)

John Alex October 23, 2001 Realism 36/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S

Real-time Interaction (6/6) Rendering trade-offs (cont.) • Do rest of work on graphics hardware • Best (and hacked): multipass – full-screen anti-aliasing (multi-sampling and T- buffer) – Quake III uses 10 passes to hack “realistic rendering” • 1-4 bump mapping • 5-6 diffuse lighting, base texture • 7 specular lighting • 8-9 emissive lighting, volumetric effects • 10 screen flashes • Good lighting and shading – Phong/Blinn lighting and Phong shading models – tons of texturing, must filter quickly (mipmaps) and anisotropically (ripmaps)

John Alex October 23, 2001 Realism 37/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S Raising the Bar Improving standards over time • Bigger view, multiple views – engage peripheral vision – multiple projectors • caves, spherical, cylindrical and dome screens • render simultaneously (1+CPUs and graphics pipelines per screen) • must do distortion correction and edge blending – stereo rendering (double frame rate)

• We rarely have the patience for last year’s special effects, much less the last decade’s • The quality of “realism” increases with every new technique invented • Was “Tron” a convincing virtual reality? • “Final Fantasy” and “Pearl Harbor” are convincing to us today, but will they, too, look dated soon? • What will realism look like next year? That’s for all you Sceneview hackers to decide…

John Alex October 23, 2001 Realism 38/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S Non-Photorealistic rendering One last digression • Artistic rendering—trying to evoke hand-drawn or hand-painted styles, such as charcoal sketching, pen and ink illustration, or oil painting • For certain applications, elision of some details and exaggeration of others can be helpful (mechanical illustration, scientific visualization, etc.) • Non-realism is also used in behavior (cartoon physics), interaction (virtual tricorder and other virtual widgets), geometry (Monsters, Inc.) • There are exceptions: – Toy Story 2tm – Graphics Lab’s SKETCH system emphasizes simplified geometry as well as simplified rendering – some research has investigated “cartoon physics” and other kinds of exaggerated motion and behavior • Strategic use of non-realism is a brand new field with many opportunities

John Alex October 23, 2001 Realism 39/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S Brownies and NPR Important recent SIGGRAPH papers! • Brown and it graduates have become identified with some of the hottest research in non-realistic rendering: David Salesin, Cassidy Curtis, Barbara Meier, David Laidlaw, Spike, and Lee Markosian are all pioneers in the field.

John Alex October 23, 2001 Realism 40/41 I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S Brown’s Expertise in Realism

• Geometric modeling (Spike et al.) • Behavior/animation (Nancy et al.) • Rendering for VR (David et al.) • Interaction for VR (Andy et al.) • NPR (Spike et al.)

John Alex October 23, 2001 Realism 41/41