SlideShare a Scribd company logo
1 of 37
1

2/15/2014
GRADE ?
OpenGL oriented programming

Grading (100%)

2/15/2014

2

• Assignments (C/C++ based OpenGL projects and WebGL projects)
– 40%
• MidExam – 10%
• FinalProject – 20%
• FinalExam – 30%
COURSE OUTLINE
Introduction

•

Graphics Standard, API

•

Introduction to OpenGL

•

2D, 3D transformation

•

Color Lighting

•

Viewing

•

Clipping

•

Hidden Surface Elimination

•

Line Drawing Algorithms

•

Texture mapping

•

OpenGL Texture Mapping

2/15/2014

3

•
2/15/2014

4

JAVKHLAN.R
OVERVIEW
• What is Computer Graphics
• Basic graphics system
• History of Computer Graphics
• Graphics pipeline
• Application areas

2/15/2014

5

• Computer Graphics Programming course
WHAT IS GRAPHICS?
Graphics: from the Greek language → Handwriting

2/15/2014

6

• Historical meaning: general terms of handwritings, manuscripts and
reproduction techniques (copper engraving, etchings)
• Current meaning: images, diagrams, illustrations, flow charts, pixel works,
business charts, 3D’s, animations, etc
WHAT IS COMPUTER GRAPHICS?
The term computer graphics has been used in a broad sense to describe
"almost everything on computers that is not text or sound“
Typically, the term computer graphics refers to several different things:

2/15/2014

7

• the representation and manipulation of image data by a computer
• the various technologies used to create and manipulate images the images
so produced, and
• the sub-field of computer science which studies methods for digitally
synthesizing and manipulating visual content
RESEARCH FIELDS OF CG
Generative CG (1)
Design, storage and rendering of graphical models
• Object modeling based on basic graphic primitives
• Modeling of object behavior
• Rendering algorithm
• Animation
Image recognition (2)
Detection of information from images
• Recognition of lines, patterns and text
• Automated annotation of images
• Object reconstruction
Image processing (3)

Image
Description

(1)

(2)
Image

Manipulation of images
• Photoshop

8

(3)
2/15/2014
BASIC GRAPHICS SYSTEM

Output device
Input devices
Image formed in FB
INPUT DEVICES
1.Keyboard
2.Mouse
3.Trackball & Spaceball
4.Joysticks

5.Data Glove
6.Digitizer/Graphical Tablet
7.Image Scanners
8.Touch panels

2/15/2014

10

9.Light Pens
OUTPUT DEVICES
Video Display Devices
• Cathode Ray Tubes
• Vector scan/Random scan Display
• Raster scan Display
• color CRT monitors
• Flat panel Display
• Plasma panel Display
• LCD
• LED
Hard Copy Devices

2/15/2014

11

• printers
• Plotters
CONCEPTUAL FRAMEWORK FOR
INTERACTIVE GRAPHICS
Graphics library/package is intermediary between
application and display hardware (Graphics System)

2/15/2014

12

Application program maps application objects to views
(images) of those objects by calling on graphics library.
GRAPHICS DISPLAY HARDWARE
• Driven by display commands (move (x, y),
char(“A”) , line(x, y)…)
• Survives as “scalable vector graphics”

2/15/2014

 Raster (TV, bitmap) used in

displays and laser printers
 Driven by array of pixels (no semantics,
lowest form of representation)
 Note “jaggies” (aliasing errors) due to
sampling continuous primitives

13

Vector (calligraphic, stroke, etc)
HISTORY OF CG
Ivan Sutherland (1963) – SKETCHPAD

2/15/2014

14

• Using a light pen, key pad and monitor it allowed
users create accurate design drawings
DISPLAY HARDWARE
vector displays
• 1963 – modified oscilloscope
• 1974 – Evans and Sutherland Picture System
raster displays
• 1975 – Evans and Sutherland frame buffer
• 1980s – cheap frame buffers bit-mapped personal
computers
• 1990s – liquid-crystal displays laptops
• 2000s – micro-mirror projectors
digital cinema
other
• head-mounted displays
• autostereoscopic displays
RENDERING
1960s - the visibility problem

• Roberts (1963), Appel (1967) - hidden-line algorithms
• Warnock (1969), Watkins (1970) - hidden-surface algorithms
• Sutherland (1974) - visibility = sorting
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
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
early 1980s - global illumination
• Whitted (1980) - ray tracing
• Goral, Torrance et al. (1984), Cohen (1985) - radiosity
• Kajiya (1986) - the rendering equation
early 1980s - global illumination

• Whitted (1980) - ray tracing
• Goral, Torrance et al. (1984), Cohen (1985) - radiosity
• Kajiya (1986) - the rendering equation
late 1980s - photorealism
• Cook (1984) - shade trees
• Perlin (1985) - shading languages
• Hanrahan and Lawson (1990) - RenderMan
early 1990s - non-photorealistic 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
early 1990s - non-photorealistic 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
GRAPHICS PIPELINE
Geometry
Modelling Transformation

 Transform into 3D world coordinate

system

Lighting

 Simulate illumination and reflectance

Viewing Transformation

 Transform into 3D camera coordinate

Clipping

 Clip primitives outside camera’s view

Scan Conversion
2/15/2014

Image

 Transform into 2D camera coordinate

system
 Draw pixels (incl. texturing, hidden

surface…)

23

Projection

system
GRAPHICS PIPELINE
Geometry
Modelling Transformation

Lighting

 3D models defined in their own

coordinate system (object
space)
 Modeling transforms orient the

Viewing Transformation

models within a common
coordinate frame (world space)

Clipping

Projection

2/15/2014

Image

24

Scan Conversion
GRAPHICS PIPELINE
Geometry
Modelling Transformation

Lighting

Viewing Transformation

 Vertices lit (shaded) according to

material properties, surface
properties (normal) and light
sources
 Local lighting model

(Diffuse, Ambient, etc.)

Clipping

Projection

2/15/2014

Image

25

Scan Conversion
GRAPHICS PIPELINE
Geometry
Modelling Transformation

 Maps world space to eye space
 Viewing position is transformed

Lighting

to origin & direction is oriented
along some axis (usually z)

Viewing Transformation

Clipping

Projection

2/15/2014

Image

26

Scan Conversion
GRAPHICS PIPELINE
Geometry
Modelling Transformation

Lighting

 Portions of the object
outside the view volume

(view frustum) are removed

Viewing Transformation

Clipping

Projection

2/15/2014

Image

27

Scan Conversion
GRAPHICS PIPELINE
Geometry
Modelling Transformation

Lighting

 The objects are projected to
the 2D image place (screen

space)

Viewing Transformation

Clipping

Projection

2/15/2014

Image

28

Scan Conversion
GRAPHICS PIPELINE
Geometry
Modelling Transformation

Lighting

Viewing Transformation

 Rasterizes objects into
pixels

 Interpolate values as we go
(color, depth, etc.)

Clipping

Projection

2/15/2014

Image

29

Scan Conversion
MODELING AND RENDERING
Modeling
•
•
•
•
•

Create models
Apply materials to models
Place models around scene
Place lights in scene
Place the camera

Rendering
• Take “picture” with camera

Point Light

Spot Light

Directional
Light
Ambient Light
CG VS. REAL

… to the streets of London

2/15/2014

31

From video game…
(Gran Turismo 5, PS)
SOME APPLICATIONS OF COMPUTER
GRAPHICS
Some of the application areas which make heavy use of computer
graphics are:

2/15/2014

32

• Computer aided design
• Scientific visualisation
• Films
• Games
• Virtual/Augmented Reality
NOTE: There are lots more and there is huge overlap between these
different areas
COMPUTER AIDED DESIGN
SCIENTIFIC VISUALISATION
FILMS
GAMES
VIRTUAL/AUGMENTED REALITY

More Related Content

Viewers also liked

Order Independent Transparency
Order Independent TransparencyOrder Independent Transparency
Order Independent Transparencyacbess
 
SIGGRAPH 2012: NVIDIA OpenGL for 2012
SIGGRAPH 2012: NVIDIA OpenGL for 2012SIGGRAPH 2012: NVIDIA OpenGL for 2012
SIGGRAPH 2012: NVIDIA OpenGL for 2012Mark Kilgard
 
Line drawing algorithms
Line drawing algorithmsLine drawing algorithms
Line drawing algorithmsSusheel Thakur
 
NVIDIA's OpenGL Functionality
NVIDIA's OpenGL FunctionalityNVIDIA's OpenGL Functionality
NVIDIA's OpenGL FunctionalityMark Kilgard
 
Chapter 3 Output Primitives
Chapter 3 Output PrimitivesChapter 3 Output Primitives
Chapter 3 Output PrimitivesPrathimaBaliga
 
Computer Graphics Modelling and Rendering report
Computer Graphics Modelling and Rendering reportComputer Graphics Modelling and Rendering report
Computer Graphics Modelling and Rendering reportHugo King
 
OpenGL Introduction.
OpenGL Introduction.OpenGL Introduction.
OpenGL Introduction.Girish Ghate
 
CG - Output Primitives
CG - Output PrimitivesCG - Output Primitives
CG - Output Primitivesvinay arora
 
Computer graphics chapter 4
Computer graphics chapter 4Computer graphics chapter 4
Computer graphics chapter 4PrathimaBaliga
 
Intro to scan conversion
Intro to scan conversionIntro to scan conversion
Intro to scan conversionMohd Arif
 
Attributes of Output Primitives
Attributes of Output PrimitivesAttributes of Output Primitives
Attributes of Output PrimitivesRenita Santhmayora
 
Output primitives computer graphics c version
Output primitives   computer graphics c versionOutput primitives   computer graphics c version
Output primitives computer graphics c versionMarwa Al-Rikaby
 
Output primitives in Computer Graphics
Output primitives in Computer GraphicsOutput primitives in Computer Graphics
Output primitives in Computer GraphicsKamal Acharya
 
Line drawing algo.
Line drawing algo.Line drawing algo.
Line drawing algo.Mohd Arif
 
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...Saikrishna Tanguturu
 
Distributed Systems Real Life Applications
Distributed Systems Real Life ApplicationsDistributed Systems Real Life Applications
Distributed Systems Real Life ApplicationsAman Srivastava
 

Viewers also liked (20)

Order Independent Transparency
Order Independent TransparencyOrder Independent Transparency
Order Independent Transparency
 
SIGGRAPH 2012: NVIDIA OpenGL for 2012
SIGGRAPH 2012: NVIDIA OpenGL for 2012SIGGRAPH 2012: NVIDIA OpenGL for 2012
SIGGRAPH 2012: NVIDIA OpenGL for 2012
 
OpenGL for 2015
OpenGL for 2015OpenGL for 2015
OpenGL for 2015
 
Line drawing algorithms
Line drawing algorithmsLine drawing algorithms
Line drawing algorithms
 
Cs580
Cs580Cs580
Cs580
 
NVIDIA's OpenGL Functionality
NVIDIA's OpenGL FunctionalityNVIDIA's OpenGL Functionality
NVIDIA's OpenGL Functionality
 
unit-1-intro
 unit-1-intro unit-1-intro
unit-1-intro
 
Unit 3
Unit 3Unit 3
Unit 3
 
Chapter 3 Output Primitives
Chapter 3 Output PrimitivesChapter 3 Output Primitives
Chapter 3 Output Primitives
 
Computer Graphics Modelling and Rendering report
Computer Graphics Modelling and Rendering reportComputer Graphics Modelling and Rendering report
Computer Graphics Modelling and Rendering report
 
OpenGL Introduction.
OpenGL Introduction.OpenGL Introduction.
OpenGL Introduction.
 
CG - Output Primitives
CG - Output PrimitivesCG - Output Primitives
CG - Output Primitives
 
Computer graphics chapter 4
Computer graphics chapter 4Computer graphics chapter 4
Computer graphics chapter 4
 
Intro to scan conversion
Intro to scan conversionIntro to scan conversion
Intro to scan conversion
 
Attributes of Output Primitives
Attributes of Output PrimitivesAttributes of Output Primitives
Attributes of Output Primitives
 
Output primitives computer graphics c version
Output primitives   computer graphics c versionOutput primitives   computer graphics c version
Output primitives computer graphics c version
 
Output primitives in Computer Graphics
Output primitives in Computer GraphicsOutput primitives in Computer Graphics
Output primitives in Computer Graphics
 
Line drawing algo.
Line drawing algo.Line drawing algo.
Line drawing algo.
 
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
 
Distributed Systems Real Life Applications
Distributed Systems Real Life ApplicationsDistributed Systems Real Life Applications
Distributed Systems Real Life Applications
 

Similar to Cgp lecture1 introduction

Similar to Cgp lecture1 introduction (20)

Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
 
CG Lecture0.pptx
CG Lecture0.pptxCG Lecture0.pptx
CG Lecture0.pptx
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
 
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
 
427lects
427lects427lects
427lects
 
OpenGL basics
OpenGL basicsOpenGL basics
OpenGL basics
 
ARKA RAJ SAHA-27332020003..pptx
ARKA RAJ SAHA-27332020003..pptxARKA RAJ SAHA-27332020003..pptx
ARKA RAJ SAHA-27332020003..pptx
 
Non-Planar Projections (GRAPP 2008)
Non-Planar Projections (GRAPP 2008)Non-Planar Projections (GRAPP 2008)
Non-Planar Projections (GRAPP 2008)
 
A step towards interactive displays of digital elevation models
A step towards interactive displays of digital elevation modelsA step towards interactive displays of digital elevation models
A step towards interactive displays of digital elevation models
 
Praseed Pai
Praseed PaiPraseed Pai
Praseed Pai
 
introduction cad.ppt
introduction cad.pptintroduction cad.ppt
introduction cad.ppt
 
introduction cad.ppt
introduction cad.pptintroduction cad.ppt
introduction cad.ppt
 
Introduction cad
Introduction cadIntroduction cad
Introduction cad
 
Introduction to CAD on Computer System.ppt
Introduction to CAD on Computer System.pptIntroduction to CAD on Computer System.ppt
Introduction to CAD on Computer System.ppt
 
Digital design
Digital designDigital design
Digital design
 
ImageProcessing1-Introduction.ppt
ImageProcessing1-Introduction.pptImageProcessing1-Introduction.ppt
ImageProcessing1-Introduction.ppt
 
Image processing1 introduction
Image processing1 introductionImage processing1 introduction
Image processing1 introduction
 
Fundamentals of Computer Graphics.pdf
Fundamentals of Computer Graphics.pdfFundamentals of Computer Graphics.pdf
Fundamentals of Computer Graphics.pdf
 
mca.pptx
mca.pptxmca.pptx
mca.pptx
 
Overview of Computer Graphics
Overview of Computer GraphicsOverview of Computer Graphics
Overview of Computer Graphics
 

Recently uploaded

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 

Recently uploaded (20)

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 

Cgp lecture1 introduction

  • 2. GRADE ? OpenGL oriented programming Grading (100%) 2/15/2014 2 • Assignments (C/C++ based OpenGL projects and WebGL projects) – 40% • MidExam – 10% • FinalProject – 20% • FinalExam – 30%
  • 3. COURSE OUTLINE Introduction • Graphics Standard, API • Introduction to OpenGL • 2D, 3D transformation • Color Lighting • Viewing • Clipping • Hidden Surface Elimination • Line Drawing Algorithms • Texture mapping • OpenGL Texture Mapping 2/15/2014 3 •
  • 5. OVERVIEW • What is Computer Graphics • Basic graphics system • History of Computer Graphics • Graphics pipeline • Application areas 2/15/2014 5 • Computer Graphics Programming course
  • 6. WHAT IS GRAPHICS? Graphics: from the Greek language → Handwriting 2/15/2014 6 • Historical meaning: general terms of handwritings, manuscripts and reproduction techniques (copper engraving, etchings) • Current meaning: images, diagrams, illustrations, flow charts, pixel works, business charts, 3D’s, animations, etc
  • 7. WHAT IS COMPUTER GRAPHICS? The term computer graphics has been used in a broad sense to describe "almost everything on computers that is not text or sound“ Typically, the term computer graphics refers to several different things: 2/15/2014 7 • the representation and manipulation of image data by a computer • the various technologies used to create and manipulate images the images so produced, and • the sub-field of computer science which studies methods for digitally synthesizing and manipulating visual content
  • 8. RESEARCH FIELDS OF CG Generative CG (1) Design, storage and rendering of graphical models • Object modeling based on basic graphic primitives • Modeling of object behavior • Rendering algorithm • Animation Image recognition (2) Detection of information from images • Recognition of lines, patterns and text • Automated annotation of images • Object reconstruction Image processing (3) Image Description (1) (2) Image Manipulation of images • Photoshop 8 (3) 2/15/2014
  • 9. BASIC GRAPHICS SYSTEM Output device Input devices Image formed in FB
  • 10. INPUT DEVICES 1.Keyboard 2.Mouse 3.Trackball & Spaceball 4.Joysticks 5.Data Glove 6.Digitizer/Graphical Tablet 7.Image Scanners 8.Touch panels 2/15/2014 10 9.Light Pens
  • 11. OUTPUT DEVICES Video Display Devices • Cathode Ray Tubes • Vector scan/Random scan Display • Raster scan Display • color CRT monitors • Flat panel Display • Plasma panel Display • LCD • LED Hard Copy Devices 2/15/2014 11 • printers • Plotters
  • 12. CONCEPTUAL FRAMEWORK FOR INTERACTIVE GRAPHICS Graphics library/package is intermediary between application and display hardware (Graphics System) 2/15/2014 12 Application program maps application objects to views (images) of those objects by calling on graphics library.
  • 13. GRAPHICS DISPLAY HARDWARE • Driven by display commands (move (x, y), char(“A”) , line(x, y)…) • Survives as “scalable vector graphics” 2/15/2014  Raster (TV, bitmap) used in displays and laser printers  Driven by array of pixels (no semantics, lowest form of representation)  Note “jaggies” (aliasing errors) due to sampling continuous primitives 13 Vector (calligraphic, stroke, etc)
  • 14. HISTORY OF CG Ivan Sutherland (1963) – SKETCHPAD 2/15/2014 14 • Using a light pen, key pad and monitor it allowed users create accurate design drawings
  • 15. DISPLAY HARDWARE vector displays • 1963 – modified oscilloscope • 1974 – Evans and Sutherland Picture System raster displays • 1975 – Evans and Sutherland frame buffer • 1980s – cheap frame buffers bit-mapped personal computers • 1990s – liquid-crystal displays laptops • 2000s – micro-mirror projectors digital cinema other • head-mounted displays • autostereoscopic displays
  • 16. RENDERING 1960s - the visibility problem • Roberts (1963), Appel (1967) - hidden-line algorithms • Warnock (1969), Watkins (1970) - hidden-surface algorithms • Sutherland (1974) - visibility = sorting
  • 17. 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
  • 18. 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
  • 19. early 1980s - global illumination • Whitted (1980) - ray tracing • Goral, Torrance et al. (1984), Cohen (1985) - radiosity • Kajiya (1986) - the rendering equation
  • 20. early 1980s - global illumination • Whitted (1980) - ray tracing • Goral, Torrance et al. (1984), Cohen (1985) - radiosity • Kajiya (1986) - the rendering equation late 1980s - photorealism • Cook (1984) - shade trees • Perlin (1985) - shading languages • Hanrahan and Lawson (1990) - RenderMan
  • 21. early 1990s - non-photorealistic 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
  • 22. early 1990s - non-photorealistic 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
  • 23. GRAPHICS PIPELINE Geometry Modelling Transformation  Transform into 3D world coordinate system Lighting  Simulate illumination and reflectance Viewing Transformation  Transform into 3D camera coordinate Clipping  Clip primitives outside camera’s view Scan Conversion 2/15/2014 Image  Transform into 2D camera coordinate system  Draw pixels (incl. texturing, hidden surface…) 23 Projection system
  • 24. GRAPHICS PIPELINE Geometry Modelling Transformation Lighting  3D models defined in their own coordinate system (object space)  Modeling transforms orient the Viewing Transformation models within a common coordinate frame (world space) Clipping Projection 2/15/2014 Image 24 Scan Conversion
  • 25. GRAPHICS PIPELINE Geometry Modelling Transformation Lighting Viewing Transformation  Vertices lit (shaded) according to material properties, surface properties (normal) and light sources  Local lighting model (Diffuse, Ambient, etc.) Clipping Projection 2/15/2014 Image 25 Scan Conversion
  • 26. GRAPHICS PIPELINE Geometry Modelling Transformation  Maps world space to eye space  Viewing position is transformed Lighting to origin & direction is oriented along some axis (usually z) Viewing Transformation Clipping Projection 2/15/2014 Image 26 Scan Conversion
  • 27. GRAPHICS PIPELINE Geometry Modelling Transformation Lighting  Portions of the object outside the view volume (view frustum) are removed Viewing Transformation Clipping Projection 2/15/2014 Image 27 Scan Conversion
  • 28. GRAPHICS PIPELINE Geometry Modelling Transformation Lighting  The objects are projected to the 2D image place (screen space) Viewing Transformation Clipping Projection 2/15/2014 Image 28 Scan Conversion
  • 29. GRAPHICS PIPELINE Geometry Modelling Transformation Lighting Viewing Transformation  Rasterizes objects into pixels  Interpolate values as we go (color, depth, etc.) Clipping Projection 2/15/2014 Image 29 Scan Conversion
  • 30. MODELING AND RENDERING Modeling • • • • • Create models Apply materials to models Place models around scene Place lights in scene Place the camera Rendering • Take “picture” with camera Point Light Spot Light Directional Light Ambient Light
  • 31. CG VS. REAL … to the streets of London 2/15/2014 31 From video game… (Gran Turismo 5, PS)
  • 32. SOME APPLICATIONS OF COMPUTER GRAPHICS Some of the application areas which make heavy use of computer graphics are: 2/15/2014 32 • Computer aided design • Scientific visualisation • Films • Games • Virtual/Augmented Reality NOTE: There are lots more and there is huge overlap between these different areas
  • 35. FILMS
  • 36. GAMES

Editor's Notes

  1. The cathode ray tube (CRT) is a vacuum tube containing an electron gun (a source of electrons) and a fluorescent screen, with internal or external means to accelerate and deflect the electron beam, used to create images in the form of light emitted from the fluorescent screen. The image may represent electrical waveforms (oscilloscope), pictures (television, computer monitor), radar targets and others.