Graphics and Visualization (GV)

Similar documents
Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

CHAPTER 1 Graphics Systems and Models 3

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner

Lahore University of Management Sciences. CS 452 Computer Graphics

Mathematical Tools in Computer Graphics with C# Implementations Table of Contents

Lahore University of Management Sciences. CS 452 Computer Graphics

Computer Graphics I Lecture 11

Review. Stephen J. Guy

Animation & Rendering

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

MODELING AND HIERARCHY

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Computer Graphics Introduction. Taku Komura

Computer Graphics: Programming, Problem Solving, and Visual Communication

CS GAME PROGRAMMING Question bank

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include

782 Schedule & Notes

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves

EF432. Introduction to spagetti and meatballs

CSE528 Computer Graphics: Theory, Algorithms, and Applications

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

Chapter 7. Conclusions and Future Work

Course Title: Computer Graphics Course no: CSC209

Lecture 1. Computer Graphics and Systems. Tuesday, January 15, 13

Models and Architectures

- Location: Annenberg Text: Mostly Self-Contained on course Web pages. - Al Barr

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

Introduction to Computer Graphics with WebGL

COM337 COMPUTER GRAPHICS Other Topics

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing

Welcome to COMP 770 (236) Introduction. Prerequisites. Prerequisites

CS451Real-time Rendering Pipeline

Topic 0. Introduction: What Is Computer Graphics? CSC 418/2504: Computer Graphics EF432. Today s Topics. What is Computer Graphics?

Computer Graphics. Instructor: Oren Kapah. Office Hours: T.B.A.

Lecture 12: Advanced Rendering

Advanced Graphics

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

EF432. Introduction to spagetti and meatballs

CS380: Computer Graphics Introduction. Sung-Eui Yoon ( 윤성의 ) Course URL:

LECTURE 2: VR SYSTEMS AND VIRTUAL WORLDS

Models and Architectures. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

2.11 Particle Systems

CIS 581 Interactive Computer Graphics

Introduction to Computer Graphics

CHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY CS2401 COMPUTER GRAPHICS QUESTION BANK

Level of Details in Computer Rendering

Topics and things to know about them:

Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye

For each question, indicate whether the statement is true or false by circling T or F, respectively.

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST

Computer Graphics. - Ray Tracing I - Marcus Magnor Philipp Slusallek. Computer Graphics WS05/06 Ray Tracing I

Cornell CS4620 Fall 2011!Lecture Kavita Bala (with previous instructors James/Marschner) Cornell CS4620 Fall 2011!Lecture 1.

Modeling 3D Objects: Part 2

Overview of 3D Object Representations

Direct Rendering of Trimmed NURBS Surfaces

CSE528 Computer Graphics: Theory, Algorithms, and Applications

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing

Shape modeling Modeling technique Shape representation! 3D Graphics Modeling Techniques

Com S 336 Final Project Ideas

Beginning Direct3D Game Programming: 1. The History of Direct3D Graphics

Computer Graphics Disciplines. Grading. Textbooks. Course Overview. Assignment Policies. Computer Graphics Goals I

Points and lines, Line drawing algorithms. Circle generating algorithms, Midpoint circle Parallel version of these algorithms

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside

Graphics and Interaction Rendering pipeline & object modelling

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev

CS 464 Review. Review of Computer Graphics for Final Exam

3D GRAPHICS. design. animate. render

Lecturer Athanasios Nikolaidis

6.837 Introduction to Computer Graphics Quiz 2 Thursday November 20, :40-4pm One hand-written sheet of notes allowed

Computer Animation. Algorithms and Techniques. z< MORGAN KAUFMANN PUBLISHERS. Rick Parent Ohio State University AN IMPRINT OF ELSEVIER SCIENCE

Ray Tracer System Design & lrt Overview. cs348b Matt Pharr

Chapter 1 Introduction

SEOUL NATIONAL UNIVERSITY

Intro to Ray-Tracing & Ray-Surface Acceleration

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

REYES REYES REYES. Goals of REYES. REYES Design Principles

gltf 2.0: Status and Outlook

Ray Casting of Trimmed NURBS Surfaces on the GPU

CIS 581 Interactive Computer Graphics (slides based on Dr. Han-Wei Shen s slides) Requirements. Reference Books. Textbook

Rasterization Overview

3D Rasterization II COS 426

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes

Visualization. CSCI 420 Computer Graphics Lecture 26

CSCI-6962 Advanced Computer Graphics

Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1

Chapter 4. Chapter 4. Computer Graphics 2006/2007 Chapter 4. Introduction to 3D 1

Surface Modeling. Polygon Tables. Types: Generating models: Polygon Surfaces. Polygon surfaces Curved surfaces Volumes. Interactive Procedural

Clipping. CSC 7443: Scientific Information Visualization

VALLIAMMAI ENGINEERING COLLEGE

Overview of 3D Object Representations

CSE328 Fundamentals of Computer Graphics: Concepts, Theory, Algorithms, and Applications

Graphics Hardware and Display Devices

CPSC GLOBAL ILLUMINATION

9. Three Dimensional Object Representations

Chapter 4-3D Modeling

3D Modeling I. CG08b Lior Shapira Lecture 8. Based on: Thomas Funkhouser,Princeton University. Thomas Funkhouser 2000

COMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y.

SHADERX 7 : ADVANCED RENDERING TECHNIQUES

Engineering Real- Time Applications with Wild Magic

Transcription:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Graphics and Visualization (GV) Computer graphics is the term commonly used to describe the computer generation and manipulation of images. It is the science of enabling visual communication through computation. Its uses include cartoons, film special effects, video games, medical imaging, engineering, as well as scientific, information, and knowledge visualization. Traditionally, graphics at the undergraduate level has focused on rendering, linear algebra, and phenomenological approaches. More recently, the focus has begun to include physics, numerical integration, scalability, and special-purpose hardware, In order for students to become adept at the use and generation of computer graphics, many implementation-specific issues must be addressed, such as file formats, hardware interfaces, and application program interfaces. These issues change rapidly, and the description that follows attempts to avoid being overly prescriptive about them. The area encompassed by Graphics and Visual Computing (GV) is divided into several interrelated fields: Fundamentals: Computer graphics depends on an understanding of how humans use vision to perceive information and how information can be rendered on a display device. Every computer scientist should have some understanding of where and how graphics can be appropriately applied and the fundamental processes involved in display rendering. Modeling: Information to be displayed must be encoded in computer memory in some form, often in the form of a mathematical specification of shape and form. Rendering: Rendering is the process of displaying the information contained in a model. Animation: Animation is the rendering in a manner that makes images appear to move and the synthesis or acquisition of the time variations of models. Visualization. The field of visualization seeks to determine and present underlying correlated structures and relationships in data sets from a wide variety of application areas. The prime objective of the presentation should be to communicate the information in a dataset so as to enhance understanding Computational Geometry: Computational Geometry is the study of algorithms that are stated in terms of geometry.

28 29 30 31 32 33 34 35 36 Graphics and Visualization is related to machine vision and image processing (in the Intelligent Systems KA) and algorithms such as computational geometry, which can be found in the Algorithms and Complexity KA. Topics in virtual reality can be found in the Human Computer Interaction KA. This description assumes students are familiar with fundamental concepts of data representation, abstraction, and program implementation. GV. Graphics and Visualization (2 Core-Tier1 hours, 1 Core-Tier2 hours) Core-Tier1 hours Core-Tier2 hours Includes Electives GV/Fundamental Concepts 2 1 N GV/Basic Rendering GV/Geometric Modeling GV/Advanced Rendering GV/Computer Animation GV/Visualization 37 38

39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 GV/Fundamental Concepts [2 Core-Tier1 and 1 Core-Tier2 hours] For nearly every computer scientist and software developer, an understanding of how humans interact with machines is essential. While these topics may be covered in a standard undergraduate graphics course, they may also be covered in introductory computer science and programming courses. Part of our motivation for including immediate and retained modes is that these modes are roughly analogous to polling vs. event driven programming. This is a fundamental question in computer science: Is there a button object, or is there just the display of a button on the screen? Note that most of the outcomes in this section are at the knowledge level, and many of these topics may be revisited in greater depth. [Core-Tier1] Basics of Human visual perception (HCI Foundations). Image representations, vector vs. raster, color models, meshes. Forward and backward rendering (i.e., ray-casting and rasterization). Applications of computer graphics: including game engines, cad, visualization, virtual reality. [Core-Tier2] Polygonal representation. Basic radiometry, similar triangles, and projection model. Use of standard graphics APIs (see HCI GUI construction). Compressed image representation and the relationship to information theory. Immediate and retained mode. Double buffering. Students should be able to: 1. Describe the basic process of human visual perception including the perception of continuous motion from a sequence of discrete frames (sometimes called flicker fusion ), tricolor stimulus, depth cues, contrast sensitivity, and the limits of human visual acuity. [knowledge level] 2. Describe color models and their use in graphics display devices. [knowledge level] 3. Differentiate between vector and raster rendering. [knowledge level] 4. Introduce the algorithmic distinction between projecting light from surfaces forward to the screen (e.g., triangle rasterization and splatting) vs. tracing the path of light backwards (e.g., ray or beam tracing). [knowledge level] 5. Identify common uses of computer graphics. [knowledge level] 6. Model simple graphics images. [application level] 7. Derive linear perspective from similar triangles by converting points (x, y, z) to points (x/z, y/z, 1). [application level] 8. Create 2D or 3D images using a standard graphics API. [application level] 9. Describe the basic graphics pipeline and how forward and backward rendering factor in this. [knowledge level] 10. Describe the differences between lossy and lossless image compression techniques, for example as reflected in common graphics image file formats such as JPG, PNG, and GIF. [knowledge level] 11. Apply a data compression algorithm such as run-length, Haar-wavelet, JPEG encoding, Huffman coding or Ziv-Lempel. [application level] 12. Apply double-buffering in the generation of a graphics application. [application level]

87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 GV/Basic Rendering This section describes basic rendering and fundamental graphics techniques that nearly every undergraduate course in graphics will cover and that is essential for further study in graphics. Sampling and anti-aliasing is related to the effect of digitization and appears in other areas of computing, for example, in audio sampling. Rendering in nature, i.e., the emission and scattering of light and its relation to numerical integration. Affine and coordinate system transformations. Ray tracing. Visibility and occlusion, including solutions to this problem such as depth buffering, Paiter s algorithm, and ray tracing. The forward and backward rendering equation. Simple triangle rasterization. Rendering with a shader-based API. Texture mapping, including minification and magnification (e.g., trilinear MIP-mapping). Application of spatial data structures to rendering. Sampling and anti-aliasing. Scene graphs and the graphics pipeline. Students should be able to: 1. Discuss the light transport problem and its relation to numerical integration i.e., light is emitted, scatters around the scene, and is measured by the eye; the form is an integral equation without analytic solution, but we can approach it as numerical integration. 2. Obtain 2-dimensional and 3-dimensional points by applying affine transformations. 3. Apply 3-dimensional coordinate system and the changes required to extend 2D transformation operations to handle transformations in 3D. 4. Contrast forward and backward rendering. 5. Explain the concept and applications of texture mapping, sampling, and anti-aliasing. 6. Explain the ray tracing rasterization duality for the visibility problem. 7. Implement simple procedures that perform transformation and clipping operations on simple 2-dimensional images. 8. Implement a simple real-time renderer using a rasterization API (e.g., OpenGL) using vertex buffers and shaders. 9. Compare and contrast the different rendering techniques. 10. Compute space requirements based on resolution and color coding. 11. Compute time requirements based on refresh rates, rasterization techniques. 127

128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 GV/Geometric Modeling Basic geometric operations such as intersection calculation and proximity tests Volumes, voxels, and point-based representations. Parametric polynomial curves and surfaces. Implicit representation of curves and surfaces. Approximation techniques such as polynomial curves, Bezier curves, spline curves and surfaces, and nonuniform rational basis (NURB) spines, and level set method. Surface representation techniques including tessellation, mesh representation, mesh fairing, and mesh generation techniques such as Delaunay triangulation, marching cubes,. Spatial subdivision techniques. Procedural models such as fractals, generative modeling, and L-systems. Graftals, cross referenced with programming languages (grammars to generated pictures). Elastically deformable and freeform deformable models. Subdivision surfaces. Multiresolution modeling. Reconstruction. Constructive Solid Geometry (CSG) representation. 1. Represent curves and surfaces using both implicit and parametric forms. 2. Create simple polyhedral models by surface tessellation. 3. Implement such algorithms as 4. Generate a mesh representation from an implicit surface. 5. Generate a fractal model or terrain using a procedural method. 6. Generate a mesh from data points acquired with a laser scanner. 7. Construct CSG models from simple primitives, such as cubes and quadric surfaces. 8. Contrast modeling approaches with respect to space and time complexity and quality of image. GV/Advanced Rendering Solutions and approximations to the rendering equation, for example: Distribution ray tracing and path tracing Photon mapping Bidirectional path tracing Reyes (micropolygon) rendering Metropolis light transport Considering the dimensions of time (motion blur), lens position (focus), and continuous frequency (color). Shadow mapping. Occlusion culling. Bidirectional Scattering Distribution function (BSDF) theory and microfacets. Subsurface scattering. Area light sources. Hierarchical depth buffering. The Light Field, image-based rendering.

175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 Non-photorealistic rendering. GPU architecture. Human visual systems including adaptation to light, sensitivity to noise, and flicker fusion. 1. Demonstrate how an algorithm estimates a solution to the rendering equation. 2. Prove the properties of a rendering algorithm, e.g., complete, consistent, and/or unbiased. 3. Analyze the bandwidth and computation demands of a simple algorithm. 4. Implement a non-trivial shading algorithm (e.g., toon shading, cascaded shadow maps) under a rasterization API. 5. Discuss how a particular artistic technique might be implemented in a renderer. 6. Explain how to recognize the graphics techniques used to create a particular image. 7. Implement any of the specified graphics techniques using a primitive graphics system at the individual pixel level. 8. Implement a ray tracer for scenes using a simple (e.g., Phong s) BRDF plus reflection and refraction. GV/Computer Animation Forward and inverse kinematics. Collision detection and response Procedural animation using noise, rules (boids/crowds), and particle systems. Skinning algorithms. Physics based motions including rigid body dynamics, physical particle systems, mass-spring networks for cloth and flesh and hair. Key-frame animation. Splines. Data structures for rotations, such as quaternions. Camera animation. Motion capture. 1. Compute the location and orientation of model parts using an forward kinematic approach. 2. Compute the orientation of articulated parts of a model from a location and orientation using an inverse kinematic approach. 3. Describe the tradeoffs in different representations of rotations. 4. Implement the spline interpolation method for producing in-between positions and orientations. 5. Implement algorithms for physical modeling of particle dynamics using simple Newtonian mechanics, for example Witkin & Kass, snakes and worms, symplectic Euler, Stormer/Verlet, or midpoint Euler methods. 6. Describe the tradeoffs in different approaches to ODE integration for particle modeling. 7. Discuss the basic ideas behind some methods for fluid dynamics for modeling ballistic trajectories, for example for splashes, dust, fire, or smoke. 8. Use common animation software to construct simple organic forms using metaball and skeleton. 219

220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 GV/Visualization Visualization has strong ties to Human Computer Interaction as well as Computational Science. Readers should refer to the HCI and CN KAs for additional topics related to user population and interface evaluations. Visualization of 2D/3D scalar fields: color mapping, isosurfaces. Direct volume data rendering: ray-casting, transfer functions, segmentation. Visualization of: Vector fields and flow data Time-varying data High-dimensional data: dimension reduction, parallel coordinates, Non-spatial data: multi-variate, tree/graph structured, text Perceptual and cognitive foundations that drive visual abstractions. Visualization design. Evaluation of visualization methods. Applications of visualization. 1. Describe the basic algorithms for scalar and vector visualization. 2. Describe the tradeoffs of algorithms in terms of accuracy and performance. 3. Propose a suitable visualization design for a particular combination of data characteristics and application tasks. 4. Discuss the effectiveness of a given visualization for a particular task. 5. Design a process to evaluate the utility of a visualization algorithm or system. 6. Recognize a variety of applications of visualization including representations of scientific, medical, and mathematical data; flow visualization; and spatial analysis.