computer graphics
play

COMPUTER GRAPHICS SPRING 2015 DR. MICHAEL J. REALE DEFINITION AND - PowerPoint PPT Presentation

CS 548: COMPUTER GRAPHICS INTRODUCTION TO COMPUTER GRAPHICS SPRING 2015 DR. MICHAEL J. REALE DEFINITION AND APPLICATIONS WHAT IS COMPUTER GRAPHICS? Computer graphics generating and/or displaying imagery using computers Also


  1. CS 548: COMPUTER GRAPHICS INTRODUCTION TO COMPUTER GRAPHICS SPRING 2015 DR. MICHAEL J. REALE

  2. DEFINITION AND APPLICATIONS

  3. WHAT IS COMPUTER GRAPHICS? • Computer graphics – generating and/or displaying imagery using computers • Also touches on problems related to 3D model processing, etc. • The focus of this course will be on the underlying mechanics and algorithms of computer graphics • As opposed to a computer art course, for instance, which focuses on using tools to make graphical content

  4. SO, WHY DO WE NEED IT? • Practically EVERY field/discipline/application needs to use computer graphics in some way • Science • Art • Engineering • Business • Industry • Medicine • Government • Entertainment • Advertising • Education • Training • …and more!

  5. APPLICATIONS: GRAPHS, CHARTS, AND DATA VISUALIZATION • Graphics and charts • One of the earliest applications  plotting data using printer • Data visualization • Sciences • Show visual representation  see patterns in data • E.g., the flow of fluid (LOx) around a tube is described using streamtubes • Challenges: large data sets, best way to display data • Medicine • 2D images (CT, MRI scans)  3D volume rendering • E.g., volume rendering and image display from the visible woman dataset Images from VTK website: http://www.vtk.org/VTK/project/imagegallery.php

  6. APPLICATIONS: CAD/CADD/CAM http://www.nvidia.com/object/siemens-plm-software-quadro-visualization.html • Design and Test • CAD = Computer-Aided Design • CADD = Computer-Aided Drafting and Design • Usually rendered in wireframe • Manufacturing • CAM = Computer-Aided Manufacturing • Used for: • Designing and simulating vehicles, aircraft, mechanical devices, electronic circuits/devices,… • Architecture and rendered building designs • ASIDE: Often need special graphics cards to make absolutely SURE the rendered image is correct (e.g., NVIDIA GAMES!!! Quadro vs. a garden-variety Geforce)

  7. APPLICATIONS: COMPUTER ART / MOVIES • First film to use a scene that was completely computer generated: • Tron (1982) • Star Trek II: Wrath of Khan (1982) • …(depends on who you talk to) • First completely computer-generated full-length film: • Toy Story (1995) http://upload.wikimedia.org/wikipedia/en/1/17/Tron_poster.jpg http://blog.motorcycle.com/wp-content/uploads/2008/10/tron_movie_image_light_cycles__1_.jpg https://bigcostas.files.wordpress.com/2007/12/genesis1.jpg http://www.standbyformindcontrol.com/wp-content/uploads/2013/05/khan-poster.jpg http://s7d2.scene7.com/is/image/Fathead/15- 15991X_dis_toy_story_prod?layer=comp&fit=constrain&hei=350&wid=350&fmt=png- alpha&qlt=75,0&op_sharpen=1&resMode=bicub&op_usm=0.0,0.0,0,0&iccEmbed=0

  8. APPLICATIONS: VIRTUAL-REALITY ENVIRONMENTS / TRAINING SIMULATIONS • Used for: • Training/Education • Military applications (e.g., flight simulators) https://dbvc4uanumi2d.cloudfr ont.net/cdn/4.3.3/wp- • Entertainment content/themes/oculus/img/or der/dk2-product.jpg "Virtuix Omni Skyrim (cropped)" by Czar - Own work. Licensed under CC BY-SA 3.0 via Wikimedia Commons - http://commons.wikimedia.org/wiki/File:Virtuix_Omni_Skyrim_(cropped).jpg#mediaviewer/File:Virtuix_Omn i_Skyrim_(cropped).jpg

  9. APPLICATIONS: GAMES! Unreal 4 Engine Crytek 3 Engine

  10. APPLICATIONS: GAMES! Unity Engine Source Engine (Wasteland 2) (Portal 2)

  11. APPLICATIONS: GAMES! http://www.dosgamesarchive.com/download/wolfenstein-3d/ http://mashable.com/2014/05/23/wolfenstein-then-and-now/ http://www.gamespot.com/images/1300-2536458 Wolfenstein: Then and Now

  12. CHARACTERISTICS OF COMPUTER GRAPHICS • Depending on your application, your focus and goals will be different: • Real-time vs. Non-real-time • Virtual Entities / Environments vs. Visualization / Representation • Developing Tools / Algorithms vs. Content Creation

  13. CG CHARACTERISTICS: REAL-TIME VS. NON-REAL-TIME • Real-time rendering • 15 frames per second (AT BARE MINIMUM – still see skips but it will look more or less animated) • 24 fps = video looks smooth (no skips/jumps) • 24 – 60 fps is a more common requirement • Examples : first-person simulations, games, etc. • Non-real-time • Could take hours for one frame • Examples : CG in movies, complex physics simulations, data visualization, etc. • Often trade-off between speed and quality (image, accuracy, etc.)

  14. Face using Crytek engine: CG CHARACTERISTICS: http://store.steampo wered.com/app/220 980/ VIRTUAL ENTITIES / ENVIRONMENTS VS. VISUALIZATION / REPRESENTATION • Virtual Entities / Environments • Rendering a person, place, or thing • Often realistic rendering, but it doesn’t have to be Remy from Pixar’s Ratatouille: http://disney.wikia.com/wiki/ • Examples : simulations (any kind), games, virtual avatars, movies Remy Tiny and Big: Grandpa’s Leftovers game: • http://www.mobygames.com/game/windows/tiny-and-big- Visualization / Representation grandpas-leftovers/screenshots/gameShotId,564196/ • Rendering data in some meaningful way • Examples : graphics/charts, data visualization, (to a lesser extent) graphics user interfaces • Both • Rendering some object / environment, but also highlighting important information • Examples : CAD/CAM http://www.vtk.org/VTK/project/imagegallery.php

  15. CG CHARACTERISTICS: TOOLS/ALGORITHMS VS. CONTENT CREATION • Developing Tools / Algorithms • It’s…well…developing tools and algorithms for graphical purposes • Using computer-graphics application programming interfaces ( CG API ) • Common CG APIs: GL, OpenGL, DirectX, VRML, Java 2D, Java 3D, etc. • Interface between programming language and hardware • Also called “general programming packages” in Hearn -Baker book • Example : how do I write code that will render fur realistically? • Content Creation • Using pre-made software to create graphical objects • Called “special purpose software packages” in Hearn -Baker book • Example : how do I create a realistic-looking dog in a 3D modeler program?

  16. THIS COURSE • In this course, we’ll mostly be focusing on developing tools / algorithms to render in real-time virtual entities / environments

  17. VIDEO DISPLAY DEVICES

  18. INTRODUCTION • A lot of why computer graphics works the way it does is based in the hardware • Graphics cards, display devices, etc. • In this section, we’ll talk about video display devices (and some of the terminology associated with them) • CRT • Plasma • LCD/LED • 3D • For an excellent explanation of how… • LCD/LED monitors work: http://electronics.howstuffworks.com/lcd.htm • Plasma monitors work: http://electronics.howstuffworks.com/plasma-display.htm

  19. CRT: CATHODE-RAY TUBE • Primary video display mechanism for a long time • Now mostly replaced with LCD monitors/TVs • Cathode = an electrode (conductor) where electrons By Theresa Knott (en:Image:Cathode ray Tube.PNG) [GFDL leave the device (http://www.gnu.org/copyleft/fdl.html) or CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/)], via Wikimedia Commons • Cathode rays = beam of electrons • Basic idea: • Electron gun (cathode + control grid) shoots electrons in vacuum tube • Magnetic or electric coils focus and deflect beam of electrons so they hit each location on screen • Screen coated with phosphor  glows when hit by electrons • Phosphor will fade in a short time  so keep directing electron beam over same screen points • Called refresh CRT http://i.imgur.com/ayHx5.jpg?1

  20. DISPLAY DEFINITIONS • Refresh rate = frequency that picture is redrawn • Term still used for things other than CRTs • Usually expressed in Hertz (e.g., 60 Hz) • Persistence = how long phosphors emit light after being hit by electrons • Low persistence  need higher refresh rates • LCD monitors have an analogous concept  response time

  21. MORE DISPLAY DEFINITIONS • Pixels = “picture element”; single point on screen • Resolution = maximum number of points that can be displayed without overlap • For CRTs  more analogue device, so definition is a little more involved • Now, usually just means (number of pixels in width) x (number of pixels in height) • Aspect ratio = resolution width / height • (Although sometimes vice versa)

  22. TYPES OF CRT MONITORS • There were two basic types of CRT monitors: • Vector displays • Raster-scan displays

  23. CRT: VECTOR DISPLAYS • Also called random-scan, stroke-writing, or calligraphic displays • Electron beam actually draws points, lines, and curves directly • List of things to draw stored in display list (also called refresh display file, vector file, or display program ) • Long list  just draw as quick as you can • Short list  delay refresh cycle so you don’t burn out screen! • Advantages : draws non-aliased lines • Disadvantages : not very flexible; cannot draw shaded polygons • Mostly abandoned in favor of raster-scan displays

  24. CRT: RASTER-SCAN DISPLAYS • Most common type of CRT • Refresh buffer (or frame buffer) = contains picture of screen you want to draw • Electron gun sweeps across screen, one row at a time, from top to bottom • Each row = scan line • Advantages : flexible • Disadvantages : lines, edge, etc. can look jagged (i.e., aliased)

Recommend


More recommend