Some Resources. What won t I learn? What will I learn? Topics

Similar documents
CIS 581 Interactive Computer Graphics

MMGD0206 Computer Graphics. Chapter 1 Development of Computer Graphics : History

Welcome to CS 4/57101 Computer Graphics

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

National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor

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

Lecturer Athanasios Nikolaidis

Introduction to Computer Graphics. Overview. What is Computer Graphics?

Animation & Rendering

CSC Graphics Programming. Budditha Hettige Department of Statistics and Computer Science

Computer Graphics. CS52 Fall computer graphics introduction 2006 fabio pellacini 1

Computer Graphics. CS52 Winter computer graphics introduction 2008 fabio pellacini 1. introduction

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

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

Introduction to Computer Graphics. Knowledge basic concepts 2D and 3D computer graphics

Lecture 0 of 41: Part B Course Content. Advanced Computer Graphics: Course Organization and Survey

Computer Graphics Lecture 2

COMPUTER GRAPHICS CS

Lecture 0 of 41: Part A Course Organization. Introduction to Computer Graphics: Course Organization and Survey

3D GRAPHICS. design. animate. render

ce Hours: MW 12:30 PM 1:30 PM (till 12/12/18), or by appointment

Computer Graphics (CS 543) Lecture 1 (Part 1): Introduction to Computer Graphics

CSE4030 Introduction to Computer Graphics

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

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

CS451Real-time Rendering Pipeline

CHAPTER 1 Graphics Systems and Models 3

CS450/550. Pipeline Architecture. Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012

EF432. Introduction to spagetti and meatballs

Exercise 1 Introduction to OpenGL

Computer Graphics Fundamentals. Jon Macey

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

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

CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS SPRING 2016 DR. MICHAEL J. REALE

Computer Graphics Introduction. Taku Komura

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

Computer Graphics. Bing-Yu Chen National Taiwan University

CS5620 Intro to Computer Graphics

Rasterization Overview

INTRODUCTION. Computer Graphics

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

API Background. Prof. George Wolberg Dept. of Computer Science City College of New York

Luxo Jr. Plan. Team. Movies. Why Computer Graphics? Introduction to Computer Graphics. Pixar Animation Studios, 1986 Director: John Lasseter

Chapter 1 Introduction

Computer Graphics and Visualization. What is computer graphics?

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

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

CS 543: Computer Graphics. Introduction

EF432. Introduction to spagetti and meatballs

CSE528 Computer Graphics: Theory, Algorithms, and Applications

Course Title: Computer Graphics Course no: CSC209

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

Computer Graphics. Chapter 3 Computer Graphics Software

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

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

Computer Graphics - Chapter 1 Graphics Systems and Models

Goals. Computer Graphics (Fall 2008) Course Outline. Course Outline. Course Outline. Demo: Surreal and Crazy World (HW 3)

Binghamton University. EngiNet. Thomas J. Watson. School of Engineering and Applied Science. State University of New York. EngiNet WARNING CS 560

3D Rendering Pipeline

character design pipeline) callum.html

Graphics for VEs. Ruth Aylett

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

Graphics and Interaction Rendering pipeline & object modelling

Bellevue Community College Summer 2009 Interior Design 194 SPECIAL TOPIC: SKETCHUP

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

Computer Graphics. Introduction. Prof. SHENG Bin, CS, SJTU

Graphics for VEs. Ruth Aylett

COMP30019 Graphics and Interaction Rendering pipeline & object modelling

Lecture outline. COMP30019 Graphics and Interaction Rendering pipeline & object modelling. Introduction to modelling

Books: 1) Computer Graphics, Principles & Practice, Second Edition in C JamesD. Foley, Andriesvan Dam, StevenK. Feiner, John F.

Computer Graphics 1, Fall 2005

CSCD18: Computer Graphics. Instructor: Leonid Sigal

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

CSC 8470 Computer Graphics. What is Computer Graphics?

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

Programming with OpenGL Part 1: Background

INTRODUCTION. Slides modified from Angel book 6e

Foundations of 3D Graphics Programming

Introduction. What s New in This Edition

1 Preview. Dr. Scott Gordon Computer Science Dept. CSUS. Virtual Cameras, Viewing Transformations: CSc-155 Advanced Computer Graphics

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

COURSE DELIVERY PLAN - THEORY Page 1 of 6

Computer Graphics. Bing-Yu Chen National Taiwan University

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

Overview. Computer Graphics CSE 167

CS559: Computer Graphics. Lecture 1 Introduction Li Zhang University of Wisconsin, Madison

Lecture Week 4. Images

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

Chapter IV Fragment Processing and Output Merging. 3D Graphics for Game Programming

Development of Computer Graphics

Computer Graphics: Programming, Problem Solving, and Visual Communication

To Do. Computer Graphics (Fall 2008) Course Outline. Course Outline. Methodology for Lecture. Demo: Surreal (HW 3)

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

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

Abel J. P. Gomes LAB. 1. INTRODUCTION TO OpenGL

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

Survey in Computer Graphics Computer Graphics and Visualization

Review. Stephen J. Guy

Using VTK and the OpenGL Graphics Libraries on HPCx

CS452/552; EE465/505. Clipping & Scan Conversion

Transcription:

CSC 706 Computer Graphics Course basics: Instructor Dr. Natacha Gueorguieva MW, 8:20 pm-10:00 pm Materials will be available at www.cs.csi.cuny.edu/~natacha 1 midterm, 2 projects, 1 presentation, homeworks, final Syllabus read it as it is your contract Some Resources Computer Graphics using OpenGL, Hill, Prentice Hall, 2001 OpenGL Programming Guide, Second Edition, Mason Woo, Jackie Neider, and Tom Davis, Addison-Wesley Developers Press, 1997 OpenGL Reference Manual, Second Edition, OpenGL Architecture Review Board Editors: Renate Kempf and Chris Frazier, Addison-Wesley Developers Press, 1997 Angel, Edward, Interactive Computer Graphics, Addison-Wesley, Reading, MA, 1997 What will I learn? Fundamentals of Computer Graphics Uses of Computer Graphics Programming for Computer Graphics Computer Graphics Algorithms Applied Linear Algebra Modelling Rendering Animation What won t I learn? Painting and Imaging Software (Paintshop Pro, Adobe Photoshop) CAD Packages (AutoCAD) Animation Software (Maya) Rendering Software (Renderman) 3D Modelling (3D Studio Max) The OpenGL Graphics APIs Topics Introduction to Computer Graphics Drawing Figures Drawing Algorithms Vectors for Graphics Transformations Modelling with Polygons 3D Viewing Rendering Fractals Raster Display Tools Curves and Surface Design Colour Theory Outline and approach Computer graphics is concerned with all aspects of producing pictures or images using a computer. Hardware Software Applications

So, what is computer graphics? Computer Graphics is concerned with producing images using a computer. Modelling The representation of the form of objects Rendering The appearance of objects Animation The movement of objects So, what is computer graphics? Modelling Taking the real and turning it into the virtual. Explaining real world or fantastic objects using mathematics. If the image does not exist in real life, a blueprint is drawn by an artist. A wire frame is the simplest form of model. So, what is computer graphics? Rendering Drawing the Image Colour Lighting Shading Surface Texture Shadows Reflection and Transparency Intersection So, what is computer graphics? Animation Controlling the movement of objects. Laws of Physics Biomechanics/ Kinesiology Lip Sink Special Effects Progression of a CG Character Example Where did this image come from? Wireframe Model Skeletal Model Muscle Model What software and/or hardware was necessary? Skin Hair Final Render

Preliminary answer Application: The object is an artist s rendition of the sun for an animation to be shown in a domed environment (planetarium) Software: Maya for modeling and rendering but Maya is built on top of OpenGL Hardware: PC with graphics card for modeling and rendering Main tasks in CG Main tasks: modeling: creating and representing the geometry of objects in the 3D world rendering: generating 2D images of the objects animation: describing how objects change in time Why study CG? Graphics is cool I like to see what I m doing I like to show people what I m doing Graphics is interesting Involves simulation, algorithms, architecture I ll never get an Oscar for my acting But maybe I ll get one for my CG special effects Graphics is fun Art, publicity Graphics applications Scientific visualization Education and training CAD User interfaces Geographical info

Terrain modeling Entertainment: Cinema Medical Square: Final Fantasy Pixar: Monster s Inc. Entertainment: Games Video Games GT Racer 3 Polyphony Digital: Gran Turismo 3, A Spec Medical Visualization Computer Aided Design (CAD) The Visible Human Project MIT: Image-Guided Surgery Project

More Cool Pictures Scientific Visualization Video! Graphics Programming OpenGL API Graphic functions: primitive (points, lines, polygons, pixels, text, curves, surfaces) attribute (colors, fills, type face for titles of graphs) viewing (types of views) transformation (rotation, translation, scaling) input control (communicate with window system, initialize programs, deal with errors) Introduction to OpenGL What is an application programmer s interface? Software library Layer between programmer and graphics hardware and software Where does OpenGL fit in? Between application and graphics system Between high level API and system software Why OpenGL? Fast Simple Well-defined architecture Window system independent Supports high-end features Both geometric and pixel processing Standard, available on many platforms

Why OpenGL industry standard stable reliable and portable evolving scalable easy to use well-documented AP provides a full set of 3D graphics routines The Graphics Rendering Pipeline The Graphics Rendering Pipeline Rendering: The conversion of a scene into an image: Scene: Composed of models placed in 3D space. Models: Composed of collections of primitives. Primitives: Graphic components supported by a Render. Output Image: May be drawn on a monitor or printed on a laser printer or written to a raster in memory or to a file or......must consider device independence. The Graphics Pipeline: The model to image conversion broken into stages. Some version of the pipeline is implemented in graphics hardware to get interactive speeds. The viewing pipeline is a group of processes common from wireframe display through to near photo-realistic image generation, and is basically concerned with transforming objects to be displayed from specific viewpoint and removing surfaces that cannot be seen from this viewpoint. The input to the viewing pipeline is a list of objects with their points defined in their own local coordinate system, and the position and orientation of the viewpoint. The output is the same list of objects with their points defined in a two dimensional screen coordinate system. Computer Graphics and Image Processing The Graphics Rendering Pipeline Computer Graphics Input: objects model Output: realistic image Pictures that move Image Processing Input: a real image Output: objects model A sequence of images (frames) Computer Animation Video Processing

Coordinate Systems in the Graphics Pipeline OCS - object coordinate system WCS - world coordinate system VCS - viewing coordinate system CCS - clipping coordinate system NDCS - normalized device coordinate system DCS - device coordinate system Event driven programming Almost all window based programs follow the event driven paradigm program waits for events to occur takes appropriate action Events are typically stored in an event queue Application programs specify the types of events that are of interest The window system passes events to apps. Event driven programming Appropriate action is implemented by the application calling a unique, user defined function for each event of interest these functions are referred to as callback functions Associating callback functions with events is not a rendering issue, OpenGL does not provide for this GLUT (OpenGL Utility Toolkit) does Registering Events The function call: glutmousefunc(mouse) associates the callback function mouse with all mouse events button press/release When a mouse button is pressed or released in the graphics application window, the user defined function mouse is called Application ignores all mouse events without this function call OpenGL Buffers OpenGL supports a variety of buffers that can be used for advanced rendering Color buffers (front, back, right, left) Depth (z) buffer Accumulation Stencil Window system interactions must be handled outside of OpenGL

OpenGL Related Libraries OpenGL Utility Library (GLU) GLX (X Window extension), glx... WGL (MS Windows extension), wgl GLUT (OpenGL Utility Toolkit), glut OpenInventor C++ high level three-dimensional applications Clearing Clearing color has to be set glclearcolor(r,g,b,alpha) Buffers can be cleared all at once glclear(bitfield) Color buffer Depth buffer Accumulation buffer Stencil buffer OpenGL Interface