Introduction Week 1, Lecture 1



Similar documents
Introduction Week 1, Lecture 1

Introduction to Computer Graphics

Instructor. Goals. Image Synthesis Examples. Applications. Computer Graphics. Why Study 3D Computer Graphics?

Introduction to Computer Graphics

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

NURBS Drawing Week 5, Lecture 10

Lecture Notes, CEng 477

Computer Graphics. Anders Hast

NURBS Drawing Week 5, Lecture 10

A Short Introduction to Computer Graphics

COMP-557: Fundamentals of Computer Graphics McGill University, Fall 2010

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

Computer Graphics. Computer graphics deals with all aspects of creating images with a computer

CS130 - Intro to computer graphics. Dr. Victor B. Zordan vbz@cs.ucr.edu Objectives

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.

COMPUTER GRAPHICS Computer Graphics

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

CS 4300 Computer Graphics. Prof. Harriet Fell Fall 2012 Lecture 1 September 5, 2011

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

Computer Graphics. Introduction. Computer graphics. What is computer graphics? Yung-Yu Chuang

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Interactive Computer Graphics

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

Institution : Majmaah University. Academic Department : College of Science at AzZulfi. Programme : Computer Science and Information Course :

CS 4810 Introduction to Computer Graphics

CAD and Creativity. Contents

Fundamentals of Computer Graphics

William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline

Teaching Introductory Computer Graphics Via Ray Tracing

Computer Graphics. Overview. Thomas Funkhouser Princeton University C0S 426, Fall Introduction. Applications. Syllabus. Coursework.

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list

Lezione 4: Grafica 3D*(II)

How To Teach Computer Graphics

MMGD0203 Multimedia Design MMGD0203 MULTIMEDIA DESIGN. Chapter 3 Graphics and Animations

Dhiren Bhatia Carnegie Mellon University

MassArt Studio Foundation: Visual Language Digital Media Cookbook, Fall 2013

GRAFICA - A COMPUTER GRAPHICS TEACHING ASSISTANT. Andreas Savva, George Ioannou, Vasso Stylianou, and George Portides, University of Nicosia Cyprus

SkillsUSA 2014 Contest Projects 3-D Visualization and Animation

Computer Graphics. Introduction. Aleksandra Pizurica. Ghent University

CPIT-285 Computer Graphics

CS 325 Computer Graphics

INTRODUCTION TO RENDERING TECHNIQUES

C O M P U T E R G R A P H I C S. Computer Graphics. Introduction I. Guoying Zhao 1 / 58

CSCD18: Computer Graphics

Computer Graphics ( / ) Prof. Misha Kazhdan misha@cs.jhu.edu

Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008

TEACHING INTRODUCTORY COMPUTER GRAPHICS WITH THE PROCESSING LANGUAGE

Introduction to Computer Graphics

Advanced Rendering for Engineering & Styling

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

CSE452 Computer Graphics

An introduction to Global Illumination. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

1. INTRODUCTION Graphics 2

Computer Graphics Hardware An Overview

Self-Positioning Handheld 3D Scanner

Computer Graphics AACHEN AACHEN AACHEN AACHEN. Public Perception of CG. Computer Graphics Research. Methodological Approaches

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

AML710 CAD LECTURE 1. Introduction to CAD. Motivation Principles of CAD / CAM. AML710 Computer Aided Design

BUILDING TELEPRESENCE SYSTEMS: Translating Science Fiction Ideas into Reality

Digital Imaging and Image Editing

Certificate Courses in Animation

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

How To Learn To Program In Csc 406 Computer Graphics

Adobe Illustrator CS5

How To Use Design Mentor

Enhanced LIC Pencil Filter

Computer Graphics Global Illumination (2): Monte-Carlo Ray Tracing and Photon Mapping. Lecture 15 Taku Komura

3D Math Overview and 3D Graphics Foundations

ICS : 435. Computer Graphics Applications. Instructor : Da'ad Albalawneh

Comp 410/510. Computer Graphics Spring Introduction to Graphics Systems

Outline. Quantizing Intensities. Achromatic Light. Optical Illusion. Quantizing Intensities. CS 430/585 Computer Graphics I

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005

How To Draw A 3D Virtual World In 3D Space (Computer Graphics)

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA

IT 386: 3D Modeling and Animation. Review Sheet. Notes from Professor Nersesian s IT 386: 3D Modeling and Animation course

A Basic Summary of Image Formats

3D Animation Graphic Designer

Links. Blog. Great Images for Papers and Presentations 5/24/2011. Overview. Find help for entire process Quick link Theses and Dissertations

Essential Mathematics for Computer Graphics fast

CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University

COMPUTERS ARE YOUR FUTURE CHAPTER 5 APPLICATION SOFTWARE: TOOLS FOR PRODUCTIVITY

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Advanced Computer Science. Friday 18 th January 2008.

CSE 167: Lecture 13: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering

Video Game Programming ITP 380 (4 Units)

Touchstone -A Fresh Approach to Multimedia for the PC

Computer Graphics. Overview CS 217. Introduction. Applications. Systems & software. Course evaluations. What is computer graphics?

CUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS

Transcription:

CS 430/536 Computer Graphics I Introduction Week 1, Lecture 1 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University http://gicl.cs.drexel.edu 1

Overview Course Policies/Issues Brief History of Computer Graphics The Field of Computer Graphics: A view from 66,000ft Structure of this course Homework overview Introduction and discussion of homework #1 2

Computer Graphics I: Course Goals Provide introduction to fundamentals of 2D and 3D computer graphics Representation (lines/curves/surfaces) Drawing, clipping, transformations and viewing Implementation of a basic graphics system simple frame buffer with XPM format ties together 3D projection and 2D drawing 3

New Graphics & Vision Track? Take CS 430 & CS 435 and one other CS 430 Computer Graphics * CS 431 Advanced Rendering Techniques CS 432 Interactive Computer Graphics CS 435 Computational Photography * Can double-up 432 with HCI Track * Required 4

Interactive Computer Graphics Now offered every year Learn and program OpenGL Computer Graphics I was a pre-requisite Useful for Games classes Most final projects are games Part of the HCI track 5

Advanced Rendering Techniques Not sure when it will be offered again 3D Computer Graphics Ray tracing algorithm Lighting, rendering, photorealism Bezier & polygonal meshes Hierarchical models 7

ART Student Images 8

Computer Graphics I: Technical Material Course coverage Mathematical preliminaries 2D lines and curves Geometric transformations Line and polygon drawing 3D viewing, 3D curves and surfaces Splines, B-Splines and NURBS Solid Modeling Color, hidden surface removal, Z-buffering 9

Computer Graphics I: Course Highlights Bresenham s scan conversion algorithm Cohen-Sutherland clipping algorithm Sutherland-Hodgman polygon clipping The De Casteljau Algorithm Polygon filling B-Splines, NURBS, De Boor s Algorithm Z-buffer algorithm; backface culling 10

Computer Graphics I: Course Management Issues All course policies are in the syllabus Extensive use of PDF handouts Must read email every day There will be 6 programming assignments (plan on 8-to-15 hrs) Suggestion: print out handouts before class, use them to take notes Grad students submit a paper presentation Final exam on material not covered by the programming assignments READ THE SYLLABUS!! 11

Computer Graphics I: Collaboration Policies Thou Shall write your own code do your own math attribute any work that is not your own talk amongst yourselves, share ideas Thou Shall Not Share/copy code Use ideas without attribution Utilize geometry/graphics libraries All code will be auto checked for plagiarism Violations will result in an automatic F 12

Go to class web page 13

CG Technical Areas Geometric Modeling Mathematics and algorithms that define 2D and 3D geometric objects 14

CG Technical Areas Human/Computer Interaction Methods for creating graphics data via user input Surface Drawing, Steven Schkolne 15

CG Technical Areas Lighting and Shading Math, physics and algorithms that specify how light interacts with matter 16

CG Technical Areas Rendering Algorithms that take geometry, lighting, shading and viewing information and generate an image 17

CG Technical Areas Visualization Techniques for visually communicating and exploring scientific, medical or abstract data 18

CG Technical Areas Perception Study of how humans perceive light and information 19

CG Technical Areas Animation Algorithms for making models change over time 20

CG Technical Areas Simulation Using physics to make models move 21

CG Technical Areas Software and Hardware Designing software and hardware systems to implement graphics algorithms 22

Computer Graphics: In The Beginning 1963 Ivan Sutherland s Sketchpad Modified oscilloscope for drawing The original CAD system A Brief History Courtesy Marc Levoy @ Stanford U 23

Graphics Hardware History Good summary of the development of the graphics processor http://accad.osu.edu/~waynec/history/lesson15.html Part of an excellent on-line history of computer graphics and animation http://accad.osu.edu/~waynec/history/lessons.html 26

Computer Graphics from 66,000ft Display types Display/Rendering algorithms Application areas Entertainment CAD/CAM Scientific & medical visualization Training & education Synthetic realities Art and design Games 27

2D Graphics Raster: Pixels X11 bitmap, XBM X11 pixmap, XPM GIF TIFF PNG JPG Lossy, jaggies when transforming, good for photos. Vector: Drawing instructions Postscript CGM Fig DWG Non-lossy, smooth when scaling, good for line art and diagrams. 28

2D Graphics Raster: Vector: 29

Adobe Photoshop: 2D Raster Graphics 30

2D Raster Graphics 31

Adobe Illustrator: 2D Vector Graphics 32

2D Vector Graphics 33

3D Rendering 1960s - the visibility problem Roberts (1963), Appel (1967) - hidden-line algorithms Warnock (1969), Watkins (1970) - hidden-surface algorithms Sutherland (1974) - visibility = sorting 1970s - raster graphics Gouraud (1971) - diffuse lighting Phong (1974) - specular lighting Blinn (1974) - curved surfaces, texture Catmull (1974) - Z-buffer hidden-surface algorithm Crow (1977) - anti-aliasing Courtesy Marc Levoy @ Stanford U 36

Toward Reality in the 1980s global illumination Whitted (1980) - ray tracing Goral, Torrance et al. (1984), Cohen (1985) - radiosity Kajiya (1986) - the rendering equation 3D Rendering photorealism Cook & Torrance (1982) rough surface reflectance Cook (1984) - shade trees Perlin (1985) - shading languages Hanrahan and Lawson (1990) - RenderMan Courtesy Marc Levoy @ Stanford U 37

http://www.graphics.cornell.edu/research/intro/model_complexity.jpg 38

Away from Reality early 1990s - nonphotorealistic rendering Drebin et al. (1988), Levoy (1988) - volume rendering Haeberli (1990) - impressionistic paint programs Salesin et al. (1994-) - automatic pen-and-ink illustration Meier (1996) - painterly rendering Courtesy Marc Levoy @ Stanford U 39

And Back Again late 1990s & 2000s - photon mapping, subsurface scattering and participating medium H. Wann Jensen 40

Application Areas Entertainment CAD/CAM Scientific & Medical visualization Training & Education Synthetic Realities VR, AR, etc. Art and design Games Pixar 41

Lord Of the Rings Troll 42

Application Areas Entertainment CAD/CAM Scientific & Medical visualization Training & Education Synthetic Realities VR, AR, etc. Art and design Games " = M ( è)!! è + V( è, è! ) + G(è) + F(è, è! s ) Regli et al @ Drexel 43

Application Areas Entertainment CAD/CAM Scientific & Medical Visualization Training & Education Synthetic Realities VR, AR, etc. Art and design Games Lombeyda & Breen @ CalTech 44

Application Areas Entertainment CAD/CAM Scientific visualization Training & Education Synthetic Realities VR, AR, etc. Art and design Games Boeing Hamburg U, Germany 45

Application Areas Entertainment CAD/CAM Scientific visualization Training & Education Synthetic Realities Telepresence UCLA VR, AR, etc. Art and design Games Augmented Reality FakeSpace Cave 46

Application Areas Entertainment CAD/CAM Scientific visualization Training & Education Synthetic Realities VR, AR, etc. Art and design Games Kimmel Center 47

Application Areas Entertainment CAD/CAM Scientific visualization Training & Education Synthetic Realities VR, AR, etc. Art and design Games 48

Programming Assignments No APIs: OpenGL, GLUT, Mesa, DirectX Just line and filled polygon rendering Color in last assignment Output in the form of 2D bitmaps XPM: X11 Pixmap Format Program source (and makefile) turned in via Bb Learn Executable MUST RUN on Linux (tux) Whatever language you want, so long as you can deliver a program that TA can run (c, c++, java, ) 50

For programming assignments Use XPM as B/W software frame buffers We will be implementing parts of the 2D Engine, 3D Engine and Pixel Cache of a graphics accelerator Issue: How to translate the mathematics of 2D/3D shapes to the 2D screen? Tip: Renew your friendship with your linear algebra textbook Read homeworks ahead. It will help you to structure your code for future requirements. 51

Assignment Dependencies Every HW - Read in geometry and write images HW1 - Clip 2D lines and draw them HW2 - Clip 2D polygons and draw edges with HW1 HW3 - Use HW2 to clip 2D polygons and fill in interiors HW4 - Project 3D polygon edges (3D lines) into 2D. Draw them with HW2 HW5 - Project 3D triangles into 2D. Combine HW3 and HW4 and extend visible surface calculation HW6 Generate lines and draw with HW1 52

Programming Assignments Dependencies 53

Data Structures Initially B/W, then RGB Frame Buffer 2D Lines 2D/3D polygons (vertices and edges) Triangle mesh 3D camera/scene 54

When it s all over! 55

Don t forget ICG & ART! 56

Programming assignment 1 Input PostScript-like file Output B/W XPM Primary I/O formats for the course Create data structure to hold points and lines in memory (the world model) Implement 2D translation, rotation and scaling of the world model Implement line drawing and clipping Due January 20th Get started now! 57