2IV60 Computer graphics set 1 - Introduction

Slides:



Advertisements
Similar presentations
Programming with OpenGL - Getting started - Hanyang University Han Jae-Hyek.
Advertisements

Computer Graphics - Graphics Programming -
1GR2-00 GR2 Advanced Computer Graphics AGR Ken Brodlie Lecture 1 - Overview.
GR2 Advanced Computer Graphics AGR
SI23 Introduction to Computer Graphics
1.1 SI31_2001 SI31 Advanced Computer Graphics AGR Ken Brodlie Lecture 1 - Overview.
1 Multimedia Systems 2 Dr Paul Newbury School of Engineering and Information Technology ENGG II - 3A11 Ext:
Computer Graphics An Introduction. What’s this course all about? 05/10/2014 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
Lecture 1 – Introduction, Overview
Lecture 0: Course Overview
OPEN GL. Install GLUT Download package di sini Dari devcpp, buka Tools->PackageManager-
Computer Graphics- SCC 342 Chapter 3: Computer Graphics Software Dr. Doaa Hegazy.
COMPUTER GRAPHICS SOFTWARE.
02/17/05CISC640/440 OpenGL Tutorial1 OpenGL Tutorial CISC 640/440 Computer Graphics TA: Qi Li/Mani Thomas
©Zachary Wartell, UNCC9/28/ :30 AM 1 Overview of OpenGL Revision: 1.2 Copyright Professor Zachary Wartell, University of North Carolina All Rights.
Chapter 2: Graphics Programming
Computer Graphics CSCE 441
Graphics Pipeline.
2 COEN Computer Graphics I Evening’s Goals n Discuss the fundamentals of lighting in computer graphics n Analyze OpenGL’s lighting model n Show.
CP411 Computer Graphics, Wilfrid Laurier University Introduction # 1 Welcome to CP411 Computer Graphics 2012 Instructor: Dr. Hongbing Fan Introduction.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Introduction Week 1, Wed Jan 5.
Advanced Graphics, Overview Advanced Computer Graphics Overview.
OpenGL (Graphics Library) Software Interface to graphics software Allows to create interactive programs that produce color images of moving 3D objects.
Further Programming for 3D applications CE Introduction to Further Programming for 3D application Bob Hobbs Faculty of Computing, Engineering and.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Introduction to Computer Graphics Ed Angel Professor of Computer Science, Electrical and.
Graphics Systems I-Chen Lin’s CG slides, Doug James’s CG slides Angel, Interactive Computer Graphics, Chap 1 Introduction to Graphics Pipeline.
Sep 30, I3I3DG&VR CE00539-m Interactive 3D Graphics and Virtual Reality Bob Hobbs Faculty of Computing, Engineering and Technology Staffordshire.
CMPE 466 COMPUTER GRAPHICS
Computer Graphics Introduction
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
3D Rendering with JOGL Introduction to Java OpenGL Graphic Library By Ricardo Veguilla
Overview of Computer Graphics Chapter 1. Bird’s Eye View  Overview of Computer Graphics –Basic concept of computer graphics, system, programming platforms,
Zhang & Liang, Computer Graphics Using Java 2D and 3D (c) 2007 Pearson Education, Inc. All rights reserved. 1 Chapter 1 Overview of Computer Graphics.
Graphics Graphics Korea University cgvr.korea.ac.kr Introduction to Computer Graphics.
Welcome to CSC 341/CSC 630 Introduction to Computer Graphics  Instructor  Susanna Wei  Office: BL 214  Phone: (610) 
COMP4070 Computer Graphics Dr. Amy Zhang. Welcome! 2  Introductions  Administrative Matters  Course Outline  What is Computer Graphics?
C O M P U T E R G R A P H I C S Guoying Zhao 1 / 16 Computer Graphics Course Introduction.
CS 480/680 Computer Graphics Course Overview Dr. Frederick C Harris, Jr. Fall 2012.
Computer Graphics Computer Graphics is everywhere: Visual system is most important sense: High bandwidth Natural communication Fast developments in Hardware.
INTRO TO COMPUTER GRAPHICS TEXT EDWARD ANGEL: EDITION 5 CS770/870
OpenGL Shading Language (Advanced Computer Graphics) Ernest Tatum.
CSC 461: Lecture 41 CSC461: Lecture 4 Introduction to OpenGL Objectives: Development of the OpenGL API OpenGL Architecture -- OpenGL as a state machine.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
1 Angel and Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Introduction to Computer Graphics Ed Angel Professor Emeritus of Computer.
1 Introduction to Computer Graphics SEN Introduction to OpenGL Graphics Applications.
Computer Graphics I, Fall 2008 Introduction to Computer Graphics.
CD2012 Principles of Interactive Graphics Lecture 01 Introduction Abir Hussain (Rome: 6.33,Tel , Web:
CSE 494/598 Intro to Applied Computer Graphics Anshuman Razdan DCST AR's Web Page AR's Web Page
CSE 581: Interactive Computer Graphics Spring 2012, UG 4 Tuesday, Thursday – 9:00AM – 10:18AM DL 0317 Raghu Machiraju Slides: Courtesy - Prof. Huamin Wang,
Lecture 6: 3D graphics Concepts 1  Principles of Interactive Graphics  CMSCD2012  Dr David England, Room 718,  ex 2271 
COMPUTER GRAPHICS CSCI 375. What do I need to know?  Familiarity with  Trigonometry  Analytic geometry  Linear algebra  Data structures  OOP.
MAE 152 Computer Graphics for Scientists and Engineers Fall 2003 Dr. Prashant V. Mahajan Senior Research Scientist AValonRF, Inc., El Cajon, CA.
Introduction to Computer Graphics 1  Principles of Interactive Graphics  CMSCD2012  Dr David England, Room 711,  ex 2271 
1 Welcome Alireza Moghaddam Humber College Lecture 1 Game 540 Alireza Moghaddam
Chun-Yuan Lin Introduction to OpenGL 2015/12/19 1 CG.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
NoufNaief.net TA: Nouf Al-harbi.
OpenGL: The Open Graphics Language Introduction By Ricardo Veguilla.
Handle By, S.JENILA AP/IT
Lecture 7 Midterm Review. OpenGL Libraries gl: Basic OpenGL library, e.g. primitives. glu: OpenGL Utility library, a set of functions to create texture.
PRESENTED BY : Dr. Sarah M.Eljack 8/31/ The course codeThe course nameCredit hours COMP413Computer graphics3 The course contents (lectures + exercises)
Graphics Programming. Graphics Functions We can think of the graphics system as a black box whose inputs are function calls from an application program;
AUTUMN Asst. Prof. Dr. Gazi Erkan BOSTANCI Slides by Robert Thomson, Süleyman Tosun and Kurtuluş Küllü.
Computer Graphics Lecture 1. Books D. Hearn, M. P. Baker, "Computer Graphics with OpenGL", 3rd Ed., Prentice Hall, 2003, ISBN
OpenGL: The Open Graphics Language Technology and Historical Overview By Ricardo Veguilla.
Computer Graphics (Fall 2003) COMS 4160, Lecture 5: OpenGL 1 Ravi Ramamoorthi Many slides courtesy Greg Humphreys.
The Graphics Rendering Pipeline
Introduction to Computer Graphics
Computer Graphics Course Introduction.
Introduction to spagetti and meatballs
Presentation transcript:

2IV60 Computer graphics set 1 - Introduction Jack van Wijk TU/e

2IV60 Computer graphics Aim: Knowledge basic concepts 2D en 3D computer graphics Lectures & instructions Assessment: Assignments and exam

Topics 2IV60 Introduction Basic math for graphics Transformations Viewing Geometric modeling Shading and illumination Visible surfaces

2IV60 2IV60: started in 2012/13 Based on 2IV10 Computergrafiek New: First  second year Bachelor Halfway: test examination in week 5 Assignments: submission in week 3 and 7 Monday instructions: exercises Thursday instructions: assignments

Lectures 16 lectures of two hours (max.) Overview of material Details (esp. algorithms, math.) Elaboration home-work exercises Questions! Demo’s

Home-work exercises Each week a new set Voluntarily, but recommended Check if things are understood Explanation later in lecture Preparation for exam (60%) Grade for exam should be at least 5.0 to pass

Instructions 16 instructions (max.) Andrei Jalba, Huub van de Wetering, Luc Engelen + student assistants Home-work exercises (mondays) Assignments (thursdays) Questions!

Assignments Modeling and visualizing moving robots

Assignments Modeling and visualizing moving robots Java + OpenGL Two rounds Deadlines: after week 3 and 7: 2/12/2013, 13/1/2013. To be done in pairs Submit: source code via Peach Judged: problem solved + explanation in comment source code 40% of final result (14% first round, 26% second)

Intermediate exam Check if course material has been understood Individual Two hours December 16, during instruction hours 10% of final result

Course material Book: Study guide Slides Donald Hearn, M. Pauline Baker, Warren Carithers. Computer Graphics with OpenGL, 4th edition, Pearson Prentice Hall, paperback. Study guide Slides Homework exercises and answers Oase.tue.nl

Why computer graphics? Fun! Visible! Everywhere Visual system offers: Parallel input Parallel processing Computer graphics: ideal for human-computer communication

Applications Graphs and charts Computer-Aided Design Virtual Reality Data Visualization Education and training Computer Art Movies Games Graphical User Interfaces H&B 1:2-32

Business graphics H&B 1:2-32

Computer-Aided Design AutoDesk IAME 2-stroke race kart engine

Data Visualization H&B 1:2-32 Bruckner and Groeller, TU Vienna, 2007 Holten, TU/e, 2007 H&B 1:2-32

Gaming H&B 1:2-32

Movies motion expression depth of field fracture water hair reflection H&B 1:2-32

Hardware Fast development History: see book Now: Graphics Processing Unit (GPU), LCD-screen

Beyond the laptop screen Microsoft Surface Apple iPad

Beyond the laptop screen 24 screen configuration, Virginia Tech Gigapixel display 50 LCD touchscreens

Beyond the laptop screen Head mounted displays Parachute trainer US Navy

Beyond the laptop screen Roll-up screen, Philips

Schematic Display Model Image interaction User

Also… Computer Graphics Model Image Pattern Recognition Image Processing

From model to image Graphics pipeline Coordinates and transformations World View NDC Display Graphics pipeline Coordinates and transformations H&B 3-1:60-61

From model to image Cylinder: Local or modeling coordinates World View NDC Display Cylinder: Local or modeling coordinates Geometric modeling H&B 3-1:60-61

From model to image Position cylinders in scene: World coordinates View NDC Display Position cylinders in scene: World coordinates H&B 3-1:60-61

From model to image Look at cylinders: Viewing coordinates World View NDC Display Look at cylinders: Viewing coordinates Visible surfaces, shading H&B 3-1:60-61

From model to image Display: Normalized Device Coordinates Model World View NDC Display Display: Normalized Device Coordinates 1 1 H&B 3-1:60-61

From model to image Display on screen: Device Coordinates Interaction World View NDC Display Display on screen: Device Coordinates 1024 768 Interaction H&B 3-1:60-61

Generating graphics Special-purpose programs Photoshop, Powerpoint, AutoCAD, StudioMax, Maya, Blender, PovRay, … General graphics libraries and standards Windows API, OpenGL, Direct3D,… H&B 3-2:61-62

CG standards Set of graphics functions, to be called from programming language Access to and abstract from hardware Standardization C, C++, Java, Delphi,… CG API Fortran, Pascal, … Drivers Display Input dev. Display Input dev. 1975 2000

Functions Graphics Output Primitives Attributes Line, polygon, sphere, … Attributes Color, line width, texture, … Geometric transformations Modeling, Viewing Shading and illumination Input functions H&B 3-2:61-62

Software standards GKS, PHIGS, PHIGS+ (1980-) GL (Graphics Library, SGI) OpenGL (early 1990s) Direct3D (MS), Java3D, VRML,… H&B 3-3:62-63

OpenGL 3D (and 2D) Fast Hardware, language, OS, company independent OpenGL architecture review board Broad support Low-level (right level!) Standard graphics terminology H&B 3-5:64-72

Intro OpenGL Few basic principles No questions asked at exam Needed for assignments Here: OpenGL 1.1 H&B 3-5:64-72

More info on OpenGL http://www.opengl.org, http://www.opengl.org/sdk/docs/man2/ The Red Book: http://www.glprogramming.com/red/ Many other web-sites No need to learn by head, aim at being able to read manual pages

OpenGL, GLU and GLUT OpenGL: basic functions GLU: OpenGL Utility library: GLUT: OpenGL Utility Toolkit library GLU and GLUT: Handy functions for viewing and geometry H&B 3-5:64-72

OpenGL and Java C: glFunction(); gluFunction(); glutFunction(); Java: JOGL gl.glFunction(); glu.gluFunction(); glut.glutFunction(); No windowing functions offered by JOGL Assignment: skeleton offered

OpenGL syntax Functions: Constants: Datatypes: H&B 3-5:64-72 glFunction: glBegin, glClear, glVertex, … Constants: GL_CONSTANT: GL_2D, GL_LINE Datatypes: GLtype: GLbyte, GLint, GLfloat H&B 3-5:64-72

Example glClearColor(1.0,1.0,1.0,0.0);// Background color glMatrixMode(GL_PROJECTION); // Set transformation glLoadIdentity; gluOrtho2D(0, 200, 0, 150); glClear(GL_COLOR_BUFFER_BIT); // Clear background glColor3f(1.0, 0.0, 0.0); // Set color to red glBegin(GL_LINES); // Draw line glVertex2i(180, 15); // - first point glVertex2i(10, 145); // - second point glEnd; // Ready with line glFlush; // Send H&B 3-5:64-72

Example

Example 3D Quick, minimal example Lots of jargon and new material Motivate studying theory Enable quick start assignment Here: viewing and modeling transformations H&B 3-5:64-72

Example 3D Aim: Draw two rectangular boxes Set up viewing transformation Specify the colors Draw the objects

Example 3D // Set up viewing transformation glViewport(0, 0, 500, 500); // Select part of window glMatrixMode(GL_PROJECTION); // Set projection glLoadIdentity(); glFrustum(-1.0, 1.0, -1.0, 1.0, 4.0, 20.0); glMatrixMode(GL_MODELVIEW); // Set camera gluLookAt(3.0, 6.0, 5.0, - eye point 1.0, 0.0, 0.0, - center point 0.0, 0.0, 1.0); - up axis

Example 3D // Clear background glClearColor(1.0,1.0,1.0,0.0);// Background color glClear(GL_COLOR_BUFFER_BIT); // Clear background // Set color glColor3f(0.0, 0.0, 0.0); // Set color to black

Example 3D // Draw two rectangular boxes glutWireCube(1.0); // unit box around origin glTranslatef(2.0, 0.0, 0.0); // move in x-direction glRotatef(30, 0.0, 0.0, 1.0); // rotate 30 degrees around z-axis glScalef(1.0, 1.0, 2.0); // scale in z-direction glutWireCube(1.0); // translated, rotated, scaled box

Example 3D Note: Objects are drawn in the current local axis-frame; glutWireCube(1.0); // unit box around origin glTranslatef(3.0, 0.0, 0.0); // move in x-direction glRotatef(30, 0.0, 0.0, 1.0); // rotate 30 degrees around z-axis glScalef(1.0, 1.0, 2.0); // scale in z-direction glutWireCube(1.0); // translated, rotated, scaled box Note: Objects are drawn in the current local axis-frame; With transformations this frame can be changed.

Next Next lectures: Basic math 2D and 3D transformation 2D and 3D viewing