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

Similar documents
CS 130 Final. Fall 2015

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

CHAPTER 1 Graphics Systems and Models 3

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

CS451Real-time Rendering Pipeline

Computer Graphics Introduction. Taku Komura

Topics and things to know about them:

Computer Science 175. Introduction to Computer Graphics lib175 time: m/w 2:30-4:00 pm place:md g125 section times: tba

Computer Graphics I Lecture 11

I expect to interact in class with the students, so I expect students to be engaged. (no laptops, smartphones,...) (fig)

Computer Graphics: Programming, Problem Solving, and Visual Communication

CIS 581 Interactive Computer Graphics

Level of Details in Computer Rendering

Models and Architectures

Pipeline Operations. CS 4620 Lecture 14

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

CS 498 VR. Lecture 19-4/9/18. go.illinois.edu/vrlect19

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

Lahore University of Management Sciences. CS 452 Computer Graphics

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

Blue colour text questions Black colour text sample answers Red colour text further explanation or references for the sample answers

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

Spring 2009 Prof. Hyesoon Kim

Pipeline Operations. CS 4620 Lecture 10

CSE4030 Introduction to Computer Graphics

CHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY CS2401 COMPUTER GRAPHICS QUESTION BANK

CS GAME PROGRAMMING Question bank

Graphics Hardware and Display Devices

Real-Time Universal Capture Facial Animation with GPU Skin Rendering

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

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

EF432. Introduction to spagetti and meatballs


CS 354R: Computer Game Technology

Lahore University of Management Sciences. CS 452 Computer Graphics

Mattan Erez. The University of Texas at Austin

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

CS130 : Computer Graphics. Tamar Shinar Computer Science & Engineering UC Riverside

PROFESSIONAL. WebGL Programming DEVELOPING 3D GRAPHICS FOR THE WEB. Andreas Anyuru WILEY. John Wiley & Sons, Ltd.

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

CS 130 Exam I. Fall 2015

CS354 Computer Graphics Ray Tracing. Qixing Huang Januray 24th 2017

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

QUESTION BANK 10CS65 : COMPUTER GRAPHICS AND VISUALIZATION

Input Nodes. Surface Input. Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking

CSCD18: Computer Graphics. Instructor: Leonid Sigal

Reading. 18. Projections and Z-buffers. Required: Watt, Section , 6.3, 6.6 (esp. intro and subsections 1, 4, and 8 10), Further reading:

Lecturer Athanasios Nikolaidis

Introduction to Computer Graphics with WebGL

Overview. Computer Graphics CSE 167

CSE528 Computer Graphics: Theory, Algorithms, and Applications

Spring 2012 Final. CS184 - Foundations of Computer Graphics. University of California at Berkeley

CS2401 COMPUTER GRAPHICS ANNA UNIV QUESTION BANK

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

Computer Graphics 1. Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2010

MODELING AND HIERARCHY

CS 464 Review. Review of Computer Graphics for Final Exam

CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.

CS130 : Computer Graphics Lecture 2: Graphics Pipeline. Tamar Shinar Computer Science & Engineering UC Riverside

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

Course Title: Computer Graphics Course no: CSC209

EF432. Introduction to spagetti and meatballs

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

2.11 Particle Systems

Today s Agenda. Basic design of a graphics system. Introduction to OpenGL

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

SRM INSTITUTE OF SCIENCE AND TECHNOLOGY

3D Rasterization II COS 426

Spring 2011 Prof. Hyesoon Kim

CS 130 Exam I. Fall 2015

Lecture 2. Shaders, GLSL and GPGPU

The Rasterization Pipeline

Intro to Ray-Tracing & Ray-Surface Acceleration

SEOUL NATIONAL UNIVERSITY

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

CMSC427 Final Practice v2 Fall 2017

OXFORD ENGINEERING COLLEGE (NAAC Accredited with B Grade) DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING LIST OF QUESTIONS

Graphics for VEs. Ruth Aylett

Animation Essentially a question of flipping between many still images, fast enough

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

Rasterization Overview

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models

Introduction to Visualization and Computer Graphics

CS 4620 Program 3: Pipeline

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

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

History of computer graphics

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

ERKELEY DAVIS IRVINE LOS ANGELES RIVERSIDE SAN DIEGO SAN FRANCISCO EECS 104. Fundamentals of Computer Graphics. OpenGL

Overview. Computer Graphics CS324. OpenGL. Books. Learning Resources. CS131 Notes. 30 Lectures 3hr Exam

Graphics Hardware. Instructor Stephen J. Guy

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

Module 13C: Using The 3D Graphics APIs OpenGL ES

3D graphics, raster and colors CS312 Fall 2010

Modeling the Virtual World

Review. Stephen J. Guy

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Introduction to Computer Graphics

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

Introduction to OpenGL

Transcription:

CS171 Computer Graphics Time: 3pm-3:55pm MW(F) - Location: Annenberg 105 - Text: Mostly Self-Contained on course Web pages Instructor: - Al Barr barradmin@cs.caltech.edu, TAs: - Kevin (Kevli) Li - kevli@caltech.edu - Nailen Matschke nailen@caltech.edu - Parker Won pwon111@gmail.com - Kevin Yuh kyuh@caltech.edu - Andrew Zhao azhao@caltech.edu

Today s Topics Introduction, Definition of Computer Graphics Course Syllabus, Structure of Assignments Examples - Geometric Modeling - Physically-based Modeling - Rendering - Human-Computer Interaction

What is Computer Graphics? Using computers to construct models and turn them into images Images Models Computational and Mathematical Model Representations Computer(s)

Main Areas in Computer Graphics Modeling making mathematical representations of objects - e.g., Geometric models - Physical/Newtonian models, Collision models, etc. - Scientific simulation methods (molecular biology, weather, etc.) Rendering making images from these representations - Vector images (the oldest CG days, line drawings on paper, pen-plots, or in analog displays on a radar screen CRT) - Raster images (color images made out of PIXELS) - Stereo images, etc. (one image per eye, etc.) Interaction - human /computer, gestural, verbal, comunication methods from humans to computers and back, also human-to-human with computer intermediary, etc.

Computer Graphics Computer graphics: Modeling (representations of things) Rendering, (images of things) - Simulation, - Scientific visualization, and human/computer interaction. Uses mathematical principles, eg differential geometry, constrained optimization, integral equations; Physical principles, eg, mechanics of solids, physics of light. Emphasizes correct underlying mathematics and on careful realization in efficient, provably robust algorithms

Examples of Rendered Models Fur Texels for light ray probability distributions Dynamic constraints to hold chain links together and do physics

Tentative Course Topics Introduction and 3D Geometry. Rotation. 4x4 transforms, etc. Intro to Surface Representations (Polygonal, Parametric, Implicit) OpenGL and Event Programming Intro to Visibility, Rasterization Shading, Lighting calculations Ray Tracing Texture Mapping methods Anti-Aliasing, Linear Filtering Theory Quaternions, Dual Quaternions Intro. Animation, Inverse Kinematics GPU Digital filtering

Structure of Assignments Nine (or so) Assignments, generally due Wed 3pm - See web site, http://courses.cms.caltech.edu/cs171/ - click on Assignments (assignments and policies still being updated) Assignment 0: relatively straightforward mini-assignment - Setting up the OpenGL development environment, Getting familiar with using parsers and the C++ Matrix Library Eigen, Outputting images in the Portable Pixel Map (PPM) format Assignment 1: 3D Wireframe Renderer - Covers 4x4 Geometric Transformations (Translation, Rotation, and Scaling), World and Camera Coordinate Spaces, Perspective Projection and Normalized Device Coordinates (NDC), Line Rasterization using Bresenham's Line Drawing Algorithm

Assignment 2: 3D Shaded Surface Renderer, - builds on Assignment 1 to render 3D shaded surfaces based on file input. Covers Triangle Rasterization and Interpolation using Barycentric Coordinates, Surface Normals, Ambient, Diffuse, and Specular Reflections, Lighting Attenuation, Phong Reflection Model (also known as the standard Lighting Model), Depth Buffering, Backface Culling, Gouraud and Flat Shading Algorithms Assignment 3: Intro to OpenGL - You recreate the 3D shaded surface renderer program from Assignment 2 using OpenGL; add arcball mouse interface. - Covers OpenGL Syntax and Functionality, Arcball Mouse User Interface

Assignment 4: Animation (To be out) - Two animation programs: one using physics and one using keyframe interpolation. Covers Time Integrators, Symplecticity, part of Lagrangian Mechanics, The Discrete Lagrangian Integrator, Keyframes, Cubic Splines, Cardinal and Catmull-Rom Splines,Quaternions, Spherical Linear Interpolation (Slerp) Assignment 5: Meshing and Texturing (To be out) - Render bump mapped textured meshes. Covers Half-Edge Mesh Data Structure, Texture Mapping and Mipmapping, Surface Normal Computations for Meshes, Bump Mapping Assignment 6: Ray Tracing (To be out) - Geometric Optics, Shadowing, Reflection, Refraction, alg speedups.

Ray Tracing, HW 6,7 Pinhole Camera algorithm to trace computational light rays in reverse time shadows, reflections, refractions in one method Images by Al Barr, 1981, Ray Tracing Superquadrics

Ray Tracing, continued HW 7 Image (2014) by David Warrick

3D Geometry and Physics Need reliable ways to represent and run the model Geometry, movement and configuration of modeled items, cameras, etc. Everything that s needed for object color, texture, camera motion, etc. Physical interaction properties if objects are supposed to be physical like billiards Requires a powerful computational approach to scoped Language tools for time dependent shape representation, interaction, etc., also needs very robust mathematical methods. Many parts of computer graphics involve efforts using Parsers in line with the need for Languages

Inspired by common foundation for Mechanical, Biological simulation A source of motivation, long term goal for some of the research: the creation of tools for simulation and behavioral prediction of mechanical and biophysical structures

Implicit Fairing of Surface Meshes Mathieu Desbrun et al, Siggraph 99 Improved set of parameterization independent Curvature flow and Laplacian smoothing operators Original Previous New

Original Smoothed

Interactive-speed Physical Simulations Real-time flexible sheets w/ collision and contact constraints implemented on Responsive Workbench Developing methods for combining sheets and real-time deformable volumes with real-time articulated rigid bodies, with body-body contact constraints. (See Billiards demo, also Flexible demo)

Real-time Flexible sheets Mathieu Desbrun et al, CGI 99, uses inverse Euler and angular momentum correction see demo on Responsive Workbench

Finding Global contact points Old New Old New

Level Set methods for Computer Graphics Representing surface shapes with implicit functions f(x) = 0 3D level-set morphing method that allows topology changes Research for using volumes as first-rate modeling primitives.

Long Term Goals for Physically Based Modeling Develop robust mathematical methods and a PBM language ; imitate success of 2D languages used for printing, but for 3D mechanics. Enable nonexpert people to reliably specify, design, control and build computational models of physical systems of rigid, flexible, and fluid objects. Make PBM and rapid simulation a key enabling technology for Virtual Engineering, Biological Simulation, Mechanical Simulation, Manufacturing New methods to create, modify, and represent increasingly complex and/or realistic models. Modeling research augments research in rendering, interaction, visualization and performance

Example: PBM Language enables Model Extraction Pipeline

OpenGL OpenGL is a low-level graphics API (C/C++ library) -API= Application Program Interface: routines, protocols, and tools for building software applications. - A good API makes it easier to develop a program by providing all the needed building blocks. Window system independent, but Has no facility for window events/user input. Use other libraries for interaction (eg. GLUT) Vertex driven Geometric Primitives assembled from vertices ***OpenGL creates/runs a state machine***

OpenGL Overview Commands or display list per vertex operations & primitive assembly Rasterization per pixel operations Frame Buffer

Clearing the Buffers Clears the buffers using the specified values glclearcolor(glclampf red, GLclampf green, GLclampf blue, GLclampf alpha) glclear(glbitfield mask) Masks: GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, GL_ACCUM_BUFFER_BIT, GL_STENCIL_BUFFER_BIT

Drawing Primitives Begin/End drawing a primitive glbegin(glenum mode) glend() Modes: GL_POINTS, GL_LINES, GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_QUADS, GL_POLYGON

Basic Mathematical Types Scalars: s (a real number) Column Vectors: Rep of 3D Points: Column Vectors: Rep of 3D Directions: x y z x y z

Math Types, continued Matrices (3x3 rotation, 4x4 transformation) We will be using Eigen see HW 0 to set up environment. Higher order Tensors - Tensors can be defined as the abstract geometric mathematical objects that are Linear - 0 th order tensors are scalars, 1 st order are vectors, 2 nd order are matrices, etc - 3-D tensors of order N are represented with 3 n components

Summary Covered intro to Computer Graphics - Modeling, Rendering and Interaction - Need reliable mathematics and algorithms to implement these Touched on several course topics Gave several examples