CS 445: Introduction to Computer Graphics David Luebke University of Virginia Review.

Slides:



Advertisements
Similar presentations
Graphics Pipeline.
Advertisements

03/16/2009Dinesh Manocha, COMP770 Texturing Surface’s texture: its look & feel Graphics: a process that takes a surface and modifies its appearance using.
3D Graphics Rendering and Terrain Modeling
David Luebke5/11/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
CS 445 / 645: Introductory Computer Graphics
1 Dr. Scott Schaefer Hidden Surfaces. 2/62 Hidden Surfaces.
CS248 Midterm Review. CS248 Midterm Mon, November 4, 7-9 pm, Terman Aud Mostly “short answer” questions – Keep your answers short and sweet! Covers lectures.
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Object-Order vs. Screen-Order Rendering April 24, 2003.
Sep 21, Fall 2005ITCS4010/ Computer Graphics Overview Color Displays Drawing Pipeline.
(conventional Cartesian reference system)
1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.
1 Jinxiang Chai CSCE 441 Computer Graphics. 2 Midterm Time: 10:10pm-11:20pm, 10/20 Location: HRBB 113.
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
CS248 Midterm Review. CS248 Midterm Mon, November 3, 7-9 pm, Gates B01 Mostly “short answer” questions – Keep your answers short and sweet! Covers lectures.
Status – Week 277 Victor Moya.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Visibility II Week 7,
CS248 Midterm Review Michael Green and Sean Walker (based on the work of previous TAs)
Sep 21, Fall 2006IAT 4101 Computer Graphics Overview Color Displays Drawing Pipeline.
IAT 3551 Computer Graphics Overview Color Displays Drawing Pipeline.
Spatial Data Structure: Quadtree, Octree,and BSP tree Mengxia Zhu Fall 2007.
Coordinate Systems X Y Z (conventional Cartesian reference system) X Y Z.
Part I: Basics of Computer Graphics Rendering Polygonal Objects (Read Chapter 1 of Advanced Animation and Rendering Techniques) Chapter
CS248 Midterm Review. CS248 Midterm Mon, November 5, 7-9 pm, Terman Aud Mon, November 5, 3-5 pm, Gates 392 Mostly “short answer” questions Covers through.
02/04/03 Page 1 Rendering Visibility Lighting Texturing.
Geometric Objects and Transformations Geometric Entities Representation vs. Reference System Geometric ADT (Abstract Data Types)
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Computer Graphics Inf4/MSc Computer Graphics Lecture 11 Texture Mapping.
Hidden Surface Removal
David Luebke9/7/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
Basics of Rendering Pipeline Based Rendering –Objects in the scene are rendered in a sequence of steps that form the Rendering Pipeline. Ray-Tracing –A.
Computer Graphics Panos Trahanias ΗΥ358 Spring 2009.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Programmable Pipelines. Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
MIT EECS 6.837, Durand and Cutler Graphics Pipeline: Projective Transformations.
C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 Going-through.
Ray Tracing Chapter CAP4730: Computational Structures in Computer Graphics.
CS 480/680 Computer Graphics Image Formation Dr. Frederick C Harris, Jr.
David Luebke10/21/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
Rendering Overview CSE 3541 Matt Boggus. Rendering Algorithmically generating a 2D image from 3D models Raster graphics.
CS 445 / 645: Introductory Computer Graphics Light.
COMPUTER GRAPHICS CSCI 375. What do I need to know?  Familiarity with  Trigonometry  Analytic geometry  Linear algebra  Data structures  OOP.
Game Programming 06 The Rendering Engine
David Luebke11/14/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
Binary Space Partitioning Trees Ray Casting Depth Buffering
David Luebke11/26/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
David Luebke12/7/2015 CS 551 / 645: Introductory Computer Graphics Review for Midterm.
David Luebke 1 12/8/2015 Visibility CS 445/645 Introduction to Computer Graphics David Luebke, Spring 2003.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
MIT EECS 6.837, Durand and Cutler The Graphics Pipeline: Projective Transformations.
David Luebke1/10/2016 CS 551 / 645: Introductory Computer Graphics David Luebke
CS 445 / 645 Introduction to Computer Graphics Lecture 24 Final Exam Prep Lecture 24 Final Exam Prep.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
David Luebke 1 2/5/2016 Color CS 445/645 Introduction to Computer Graphics David Luebke, Spring 2003.
DPL2/10/2016 CS 551/651: Final Review David Luebke
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
CS 445 / 645: Introductory Computer Graphics Review.
David Luebke2/23/2016 CS 551 / 645: Introductory Computer Graphics Color Continued Clipping in 3D.
Computer Graphics Inf4/MSc 1 Computer Graphics Lecture 5 Hidden Surface Removal and Rasterization Taku Komura.
Computer Graphics Ken-Yi Lee National Taiwan University (the slides are adapted from Bing-Yi Chen and Yung-Yu Chuang)
Computer Graphics Overview
CS 551 / 645: Introductory Computer Graphics
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
CSCE 441: Computer Graphics Hidden Surface Removal
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Presentation transcript:

CS 445: Introduction to Computer Graphics David Luebke University of Virginia Review

Admin l Course evaluations: please do during class today (available on Toolkit)

Math l Mathematical foundations –Vector arithmetic –Affine spaces: points, vectors, scalars –Parametric representation of a line/ray/segment –Dot product, cross product –Matrix-matrix and matrix-vector arithmetic

Display technologies l CRTs –Underlying technology –Vector vs. raster –Framebuffer, pixel, scanline, rasterize l LCDs –Underlying technology –Pros & cons l Other – don’t need to know details –Plasma display –OLED

Rendering pipeline l Know the various stages: –Transforms n Modeling n Camera n Projection –Illuminate –Clip –Homogeneous divide –Rasterize l Be able to reason about which stages go where

Transformations l Modeling transforms –Object  world coords –Common xforms: n Translate n Rotate n Scale (uniform vs. nonuniform) –Composing xforms n Multiplying matrices – know the correct order! n Be able to compose a rotation matrix about an arbitrary axis n Be able to compose rotation & translation matrices

Transformations l Homogeneous coordinates –Homogeneous coordinate akin to a scale factor –Homogeneous points vs. vectors –Enables translation, projection l Projection transforms –Uses the homogeneous coordinate –Be ready to reason about simple projection xforms

OpenGL l Specifying transforms –Understand how to use the matrix stacks n GL_MODELVIEW n GL_PROJECTION –Understand the principles of hierarchical transforms n Nest xforms n Functions shouldn’t have side effects –Understand the concept of a scene graph

Clipping l 2D: Cohen-Sutherland –Outcodes & how to use them –Clipping a line segment to an edge l 3D: Sutherland-Hodgeman l Clipping in the graphics pipeline

Rasterization l Line rasterization –DDA –Optimization strategies l Triangle rasterization –Edge walking –Edge equations l Polygon rasterization –Parity test –Active edge table

Color l Physiology of the eye –Cornea, lens, retina –Photoreceptors n Rods (low light, luminance) vs. cones (high light levels, color) n Color-sensitivity of cones: S, M, L (B, G, R) n Density: fovea (high spatial resolution, all cones) vs. periphery (low spatial resolution, largely rods) –Metamers: different spectra with the same perceptual response n E.g., a monochromatic orange light (spectral spike) vs. combinations of red, green, tiny bit of blue: same perceived color! –Color gamuts and CIE chromaticity diagram

The Human Visual System l The human visual system has four types of sensors: rods and S, M, and L cones ν rods cones L M S sensitivity Courtesy Nathaniel Hoffman

l Rods are the most sensitive –Used in weak illumination (scotopic) conditions –Sensitivity peaks at cyan (blue-green) –Only one kind: monochromatic vision l Cones enable color vision –Used in strong illumination (photopic) conditions –Total sensitivity peaks at yellow-green –Three kinds: trichromatic vision The Human Visual System Courtesy Nathaniel Hoffman

The Human Visual System l Trichromatic vision enables us to somewhat sense the spectral distribution ν L M S sensitivity 0.1 Courtesy Nathaniel Hoffman

Metamers l A spectral power distribution is an infinite-dimensional signal. l Since we perceive color only as a three-dimensional signal, there is an infinite number of different spectral power distributions which map onto the same perceived color. l These are known as metamers. Courtesy Nathaniel Hoffman

Metamers 700nm 600nm 500nm 400nm 470nm 480nm white spectral locus more blue more redmore green more yellow Courtesy Nathaniel Hoffman

Metamers 700nm 600nm 500nm 400nm 470nm 480nm white spectral locus more blue more redmore green more yellow Courtesy Nathaniel Hoffman

Metamers 700nm 600nm 500nm 400nm 470nm 480nm white spectral locus more blue more redmore green more yellow Courtesy Nathaniel Hoffman

Metamers 700nm 600nm 500nm 400nm 470nm 480nm white spectral locus more blue more redmore green more yellow Courtesy Nathaniel Hoffman

Lighting l Illumination models –Global vs. local illumination models –Empirical vs. physically based l Know and understand the Phong model: –Local, empirical, implemented in OpenGL –Ambient, diffuse, and specular terms l Shading: flat vs. smooth (Gouraud) vs. Phong

Phong Lighting: OpenGL Implementation l The final Phong model as we studied it: l OpenGL variations: –Every light has an ambient component –Surfaces can have “emissive” component to simulate glow n Added directly to the visible reflected intensity n Not actually a light source (does not illuminate other surfaces)

Visibility in the small l Painter’s algorithm l Z-buffer l BSP trees: organize all of space (hence partition) into a binary tree –Preprocess: overlay a binary tree on objects in the scene –Runtime: correctly traversing this tree enumerates objects from back to front –Idea: divide space recursively into half-spaces by choosing splitting planes n Splitting planes can be arbitrarily oriented n Notice: nodes are always convex

Visibility in the large l View-frustum culling l Cells & portals (architectural/urban models) –Cells form the basic unit of PVS –Create an adjacency graph of cells –Starting with cell containing eyepoint, traverse graph, rendering visible cells –A cell is only visible if it can be seen through a sequence of portals n So cell visibility reduces to testing portal sequences for a line of sight… l Occlusion query (modern hardware)

Texture mapping l Establishing correspondences (parameterization): texture coordinates l Interpolating texture coordinates in screen space during rasterization l Texture map antialiasing: –know MIP-mapping, be aware of others –Related to antialiasing subject: prefiltering l Applications of texture mapping: –Bump mapping, gloss mapping, displacement mapping, light mapping

Modern GPUs l Programmable GPUs –Programmable vertex & fragment engines –Render to texture –Floating point precision l Programming model: stream computing –Registers zeroed out, no accumulators across vertices/fragments –Lends itself to efficient parallel implementation –Cg language

GPGPU l Trends: GPUs fast, getting faster faster l Approach: data as textures, computational kernels as fragment programs l Advance simulation step-by-step using render-to-texture

Ray tracing l Basic algorithm: recursive ray tracing –Reflection –Refraction –Shadows l Ray-primitive intersection –Be able to reason about common primitives, or figure out a new intersection test l Acceleration structures

Antialiasing l Reason at a high level about what aliasing is and how we can prevent/mitigate it –Basic signal theory behind Nyquist limit –Supersampling: pros and cons –Prefiltering: pros and cons –Stochastic supersampling: high freqs  noise, not aliases

LOD l Basic concept (easy) l Discrete vs. continuous vs. view-dependent : pros and cons

Shadows l Basic concept of shadow volumes –Stencil buffer –Problem case: clipping