INTRODUCTION TO COMPUTER GRAPHICS Realism in Computer Graphics

  • Slides: 43
Download presentation
INTRODUCTION TO COMPUTER GRAPHICS Realism in Computer Graphics • • • Andy van Dam

INTRODUCTION TO COMPUTER GRAPHICS Realism in Computer Graphics • • • Andy van Dam October 21, 2003 These notes have been created and revised each year by many generations of CS 123 TAs and by John Hughes and Andy van Dam Updated in 2001 and 2002 by John Alex (former 123 TA and Pixarian, now a Ph. D. student at MIT) See also Chapter 14 in the book Realism 1/42

INTRODUCTION TO COMPUTER GRAPHICS Realism in Computer Graphics Roadmap • • We tend to

INTRODUCTION TO COMPUTER GRAPHICS Realism in Computer Graphics Roadmap • • We tend to mean physical realism How much can you deliver? – – • How much do you want or need? – – • geometry and modeling rendering behavior interaction And many techniques for achieving varying amounts of realism within each category Achieving realism usually requires making trade-offs – – • content users There are many categories of realism: – – • • what medium are you delivering on? (still images, movie/video special effects, VR, etc. ) how much resources are you willing to spend? (time, money, processing power) realistic in some categories and not in others concentrate on the aspects most useful to your application When resources run short, use hacks! Andy van Dam October 21, 2003 Realism 3/42

INTRODUCTION • TO COMPUTER GRAPHICS Realism and Media (1/2) What is “realism”? – King

INTRODUCTION • TO COMPUTER GRAPHICS Realism and Media (1/2) What is “realism”? – King Kong vs. Jurassic Park – Final Fantasy • • • In the early days of computer graphics, focus was primarily directed towards producing still images With still images, “realism” typically meant approaching “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 animation – natural phenomena: cloth, fur, hair, skin, smoke, water, clouds, wind – Newtonian physics: things that bump, collide, fall, scatter, bend, shatter, etc. Andy van Dam October 21, 2003 Realism 4/42

INTRODUCTION TO COMPUTER GRAPHICS Realism and Media (2/2) Real-time vs. Non-real-time • • “Realistic”

INTRODUCTION TO COMPUTER GRAPHICS Realism and Media (2/2) Real-time vs. Non-real-time • • “Realistic” static images and animations 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 apps emphasize real-time output: – graphics workstations: data visualization, 3 D design ≈10 Hz – video games ≈60 Hz – virtual reality ≈10 -60 Hz • • Real-time requirements 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 Andy van Dam October 21, 2003 Realism 5/42

INTRODUCTION Cost vs. Quality • • • GRAPHICS Trade-offs (1/4) geometry behavior rendering interaction

INTRODUCTION Cost vs. Quality • • • GRAPHICS Trade-offs (1/4) 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 techniques for achieving “realism” depends a great deal on context of use: – – • COMPUTER Many computer graphics media (e. g. , film vs. video vs. CRT) Many categories of realism to attend to (far from exhaustive): – – • TO medium user content resources (especially hardware) We will elaborate on these four points next… Andy van Dam October 21, 2003 Realism 6/42

INTRODUCTION • • TO COMPUTER GRAPHICS Trade-offs (2/4) Medium – as said before, different

INTRODUCTION • • TO COMPUTER GRAPHICS Trade-offs (2/4) 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 3 D 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 – in general, “what does the user care (most) about? ” Andy van Dam October 21, 2003 Realism 7/42

INTRODUCTION TO COMPUTER GRAPHICS Trade-offs (3/4) • Content – movie special-effects pack as much

INTRODUCTION TO COMPUTER GRAPHICS Trade-offs (3/4) • 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 – Microsoft Xbox (Nov. 2001): graphics more powerful less than $200! – n. Vidia Ge. Force FX 5900 (2003) environment-mapped, shadow-mapped, highphysically-simulated, stencil-shadowed goodness for $450 fully loaded Andy van Dam October 21, 2003 bounding boxes complete computer with than a Ge. Force 3 for texture-mapped, bump-mapped, polygon, articulated, Realism 8/42

INTRODUCTION TO COMPUTER GRAPHICS Trade-offs (4/4) Computing to a time budget (“time-critical” algos) •

INTRODUCTION TO COMPUTER GRAPHICS Trade-offs (4/4) 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). – – Andy van Dam web image downloads progressive refinement for extremely large meshes October 21, 2003 Realism 9/42

INTRODUCTION TO COMPUTER GRAPHICS Digression - Definitions • • Texture-Maps: map an image onto

INTRODUCTION TO COMPUTER GRAPHICS 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 images (textures) which record the global reflection and lighting on a object. These images 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. Andy van Dam October 21, 2003 Realism 10/42

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Geometry (1/4) • The Hacked – Texture mapping: excellent way

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Geometry (1/4) • 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 for added realism • The Good – Polygonization: very finely tessellated meshings of curved surfaces – linear approximation – massively hardwareaccelerated! Andy van Dam October 21, 2003 Realism 11/42

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Geometry (2/4) The Best • Splines – no polygons at

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Geometry (2/4) The Best • Splines – no polygons at all! Continuous mathematical surface representations (polynomials) – 2 D and 3 D curved surfaces: Non. Uniform Rational B-Splines (NURBS) – control points – high order polynomials are hard to work with • Implicit Surfaces (blobbies) – F(x, y, z) = 0 – add, subtract, blend – hard to render, manip Andy van Dam October 21, 2003 Realism 12/42

INTRODUCTION The Best TO COMPUTER GRAPHICS Techniques—Geometry (3/4) • Subdivision Surfaces – subdivide triangles

INTRODUCTION The Best TO COMPUTER GRAPHICS Techniques—Geometry (3/4) • Subdivision Surfaces – subdivide triangles into more triangles, moving to a continuous limit surface – elegantly avoid gapping and tearing between features – support creases – allow multi-resolution deformations (editing of lower resolution representation of surface) Andy van Dam October 21, 2003 Realism 13/42

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Geometry (4/4) • The Gracefully Degraded – Level-of-Detail(LOD): as object

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Geometry (4/4) • 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 Andy van Dam October 21, 2003 Left: 30, 392 triangles Right: 3, 774 triangles Realism 14/42

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Rendering (1/9) Good Hacks • • • easily implemented in

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Rendering (1/9) Good Hacks • • • easily implemented in hardware: fast! use polygons only calculate lighting at polygon vertices, from point lights for non-specular (i. e. , not perfectly reflective), opaque objects, most light comes directly from the lights (“locally”), and not “globally” from other surfaces in the scene local lighting approximations – – • global lighting approximations – – – • diffuse Lambertian reflection: only accounts for angle between surface normal and vectors to the light source. fake specular spots on shiny surfaces: Phong lighting introduce a constant “ambient” lighting term to fake an overall global contribution reflection: environment mapping shadows: shadow mapping polygon interior pixels shaded by simple color interpolation: Gouraud shading – Andy van Dam Phong shading: evaluate some lighting functions on a per-pixel basis, using interpolated surface normal. October 21, 2003 Realism 15/42

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Rendering (2/9) An example: Quake III • • • Few

INTRODUCTION TO COMPUTER GRAPHICS 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 Andy van Dam October 21, 2003 Realism 16/42

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Rendering (3/9) The Best • • • Global illumination: find

INTRODUCTION TO COMPUTER GRAPHICS 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 (specular), Radiosity (diffuse), IBR (avoid geometry) Early method: Ray-tracing. Method to avoid forward tracing infinitely many light rays from light sources to eye. Work backwards to do viewer/pixel-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 – – Andy van Dam 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 October 21, 2003 Realism 17/42

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Rendering (4/9) The Best: Ray Tracing (cont. ) • •

INTRODUCTION TO COMPUTER GRAPHICS 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”) Andy van Dam October 21, 2003 Realism 18/42

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Rendering (5/9) The Best: Radiosity (Energy Transport) - Diffuse •

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Rendering (5/9) The Best: Radiosity (Energy Transport) - Diffuse • 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, viewdependent display Andy van Dam October 21, 2003 Realism 19/42

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Rendering (6/9) The Best: Radiosity (cont. ) • • Good

INTRODUCTION TO COMPUTER GRAPHICS 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 raytracing – Various methods for doing this. Looks great! Really expensive! Andy van Dam October 21, 2003 Realism 20/42

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Rendering (7/9) The Gracefully Degraded Best • • Selectively ray-trace.

INTRODUCTION TO COMPUTER GRAPHICS 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) Andy van Dam October 21, 2003 Realism 21/42

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Rendering (8/9) The Real Best: Sampling Realistically • The Kajiya

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Rendering (8/9) The Real Best: Sampling Realistically • The Kajiya rendering equation (covered in CS 224 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 (CS 224) Andy van Dam October 21, 2003 Realism 22/42

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Rendering (9/9) Side Note—Procedural Shading • Complicated lighting effects can

INTRODUCTION TO COMPUTER GRAPHICS 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 – n. Vidia’s Ge. Force 3+ has programmable vertex and pixel shaders – Cg – n. Vidia’s C-like language for coding vertex and pixel shaders – assembly no longer required Andy van Dam October 21, 2003 Realism 23/42

INTRODUCTION TO COMPUTER GRAPHICS Image-Based Rendering (1/2) A Different Approach: • • • Image-based

INTRODUCTION TO COMPUTER GRAPHICS 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 Analogous to image compositing in 3 -D Dilemma: how to generate views other than the one photo you took. Various answers. The Hacked • Quick. Time. VR. – 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 Andy van Dam October 21, 2003 Realism 24/42

INTRODUCTION TO COMPUTER GRAPHICS Image-Based Rendering (2/2) The Best • • Plenoptic modeling: using

INTRODUCTION TO COMPUTER GRAPHICS 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. – Treats images as 2 d slices of a 5 d function – position (xyz) and direction (theta, phi on sphere) – Drawbacks: have to resample for any new geometry. Andy van Dam October 21, 2003 Realism 25/42

INTRODUCTION TO COMPUTER GRAPHICS Temporal Aliasing (1/3) Stills vs. Animation • • At first,

INTRODUCTION TO COMPUTER GRAPHICS 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 Andy van Dam October 21, 2003 Realism 26/42

INTRODUCTION TO COMPUTER GRAPHICS Temporal Aliasing (2/3) Stills vs. Animation • • Moving or

INTRODUCTION TO COMPUTER GRAPHICS 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 Andy van Dam October 21, 2003 Realism 27/42

INTRODUCTION Motion Blur • • • TO COMPUTER GRAPHICS Temporal Aliasing (3/3) Another unforeseen

INTRODUCTION Motion Blur • • • TO COMPUTER GRAPHICS Temporal Aliasing (3/3) 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 long 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 Andy van Dam October 21, 2003 Realism 28/42

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Behavior (1/4) Modeling the way the world moves • Cannot

INTRODUCTION TO COMPUTER GRAPHICS 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. , motion capture data animating a stick figure still looks very “real”) – most sensitive to human behavior – easier to get away with faking ants, toys, monsters, fish etc. • Hand-made keyframe animations – professional animators 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. Andy van Dam October 21, 2003 Realism 29/42

INTRODUCTION The Best • TO COMPUTER GRAPHICS Techniques—Behavior (2/4) Motion-capture – sample positions and

INTRODUCTION The Best • TO COMPUTER GRAPHICS Techniques—Behavior (2/4) 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. , Brown → CMU’s Nancy Pollard’s research) – “motion synthesis”: a recent hot topic – how to make new animations out of the motion capture data that you have. Andy van Dam October 21, 2003 Realism 30/42

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Behavior (3/4) The Best (cont. ) • Physics simulations (kinematics

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Behavior (3/4) The Best (cont. ) • Physics simulations (kinematics for rigid-body motion, dynamics for F = ma) – Hugely complex modeling problem – expensive, using space-time constraints, inverse kinematics, Euler and Runge. Kutta integration of forces, N 2 -body problems. These can take a long time to solve – looks fairly convincing…but not quite real (yet) Andy van Dam October 21, 2003 Realism 31/42

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Behavior (4/4) The Gracefully Degraded • Break laws of physics

INTRODUCTION TO COMPUTER GRAPHICS Techniques—Behavior (4/4) The Gracefully Degraded • Break laws of physics (hopefully imperceptibly) – Simplify numerical simulation: consider fewer forces, use bounding boxes instead of precise collision detection, etc. – Decrease number of time steps used for Euler integration Andy van Dam October 21, 2003 Realism 32/42

INTRODUCTION TO COMPUTER GRAPHICS Real-time Interaction (1/6) Frame Rate • Video refresh rate is

INTRODUCTION TO COMPUTER GRAPHICS Real-time Interaction (1/6) Frame Rate • Video refresh rate is independent of scene update rate (frame rate), should be >=60 Hz to avoid flicker – 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 60 Hz output refresh rate, can only maintain 60, 30, 20, 15, etc. frames per second constantly) • • • 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 – polygonal scan conversion: close to constant, but not boundable, time – raytracing: boundable time, but image quality varies wildly Andy van Dam October 21, 2003 Realism 33/42

INTRODUCTION TO COMPUTER GRAPHICS Real-time Interaction (2/6) Frame Rate (cont. ) • • •

INTRODUCTION TO COMPUTER GRAPHICS Real-time Interaction (2/6) Frame Rate (cont. ) • • • Insufficient update rates can cause temporal aliasing—the breakup of continuity over time – jerky motion Temporal aliasing not only ruins behavioral realism but destroys the illusion of immersion in VR. How much temporal aliasing is ‘bad’? – 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: most games aim for 60 fps but 30 is often acceptable – motion blur is expensive in real-time graphics because it requires calculation of state and complete update at many points in time Andy van Dam October 21, 2003 Realism 34/42

INTRODUCTION TO COMPUTER GRAPHICS Real-time Interaction (3/6) Frame Rate and latency • • •

INTRODUCTION TO COMPUTER GRAPHICS 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 10 ms or there is noticeable lag between input and result – noticeable lag affects interaction and task performance, especially for an interactive “loop” – large lag 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 100 ms Andy van Dam October 21, 2003 Realism 35/42

INTRODUCTION TO COMPUTER GRAPHICS Real-time Interaction (4/6) Frame Rate and Latency (cont. ) •

INTRODUCTION TO COMPUTER GRAPHICS 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, collect and process one (aggregate) input per frame Average time between input and next frame is ½ of frame time Average latency = ½ frame time – at 30 Hz, average latency is 17 ms>10 ms – at 60 Hz, average latency is 8. 3 ms<10 ms – therefore, frame rate should be at least 60 Hz • 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 (Phantom (haptic) does 1000 Hz!) – in CAVE many users prefer 1– 2 Hz (especially if it has geometrical accuracy) to 5– 10 Hz; somehow it is less disconcerting Andy van Dam October 21, 2003 Realism 36/42

INTRODUCTION TO COMPUTER GRAPHICS Real-time Interaction (5/6) Rendering trade-offs • Frame rate should be

INTRODUCTION TO COMPUTER GRAPHICS Real-time Interaction (5/6) Rendering trade-offs • Frame rate should be at least 60 Hz. 30 hurts for very interactive applications (e. g. , video games) – only have 16. 7 ms (frame time) to render frame, must make tradeoffs – VR often falls short of this ideal • • • What can you get done in 16. 7 ms? Do some work on host (pre-drawing) Best: multiprocessor host and graphics cards – 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) Andy van Dam October 21, 2003 Realism 37/42

INTRODUCTION TO COMPUTER GRAPHICS Real-time Interaction (6/6) Rendering trade-offs (cont. ) • • Do

INTRODUCTION TO COMPUTER GRAPHICS Real-time Interaction (6/6) Rendering trade-offs (cont. ) • • Do rest of work (as much as possible!) on specialized graphics hardware Best (and hacked): multipass – combine multiple fast, cheap renders into one good-looking one – full-screen anti-aliasing (multi-sampling and T-buffer, which blends multiple rendered frames) – 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 (explosions) Good lighting and shading – Phong/Blinn lighting and Phong shading models – tons of texturing, must filter quickly (mipmaps) and anisotropically (ripmaps) Andy van Dam October 21, 2003 Realism 38/42

INTRODUCTION TO COMPUTER GRAPHICS Raising the Bar Improving standards over time • Bigger view,

INTRODUCTION TO COMPUTER GRAPHICS 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? “Lord of the Rings” looks realistic now, but for how long? What will realism look like next year? That’s for all you Sceneview hackers to decide… Andy van Dam October 21, 2003 Realism 39/42

INTRODUCTION TO COMPUTER GRAPHICS Non-Photorealistic rendering One last digression • • Artistic rendering—trying to

INTRODUCTION TO COMPUTER GRAPHICS 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 (paintbrushes, virtual tricorder and other virtual widgets in VR), geometry (Monsters, Inc. ) Examples of non-realism: – Finding Nemo – 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 Andy van Dam October 21, 2003 Realism 40/42

INTRODUCTION TO COMPUTER GRAPHICS Non-Photorealistic rendering Examples • Cartoon Shading – you’ll be doing

INTRODUCTION TO COMPUTER GRAPHICS Non-Photorealistic rendering Examples • Cartoon Shading – you’ll be doing this in modeler! • WYSIWYG NPR – Draw strokes right onto 3 d models, paper by Spike and other Brownies! • NPR allows for more expressive rendering than traditional lighting Andy van Dam October 21, 2003 Realism 41/42

INTRODUCTION TO COMPUTER GRAPHICS Brownies and NPR Important recent SIGGRAPH papers! • Brown and

INTRODUCTION TO COMPUTER GRAPHICS 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. Andy van Dam October 21, 2003 Realism 42/42

INTRODUCTION TO COMPUTER GRAPHICS Brown’s Expertise in Realism • • • Geometric modeling (Spike

INTRODUCTION TO COMPUTER GRAPHICS Brown’s Expertise in Realism • • • Geometric modeling (Spike et al. ) Animation (Barb Meier) Rendering for VR (David et al. ) Interaction for VR (Andy et al. ) NPR (Spike et al. ) Andy van Dam October 21, 2003 Realism 43/42