1 / 52

COS 397 Computer Graphics

COS 397 Computer Graphics. Svetla Boytcheva AUBG, Spring 2013. Lecture 1 Coordinate Systems. Outline. Course Organization Introduction Image Formation Vector vs. Raster Graphics Graphics Formats Coordinate Systems. Course Organization. Lectures - Tuesday Practical Sessions - Friday

sienna
Télécharger la présentation

COS 397 Computer Graphics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. COS 397 Computer Graphics Svetla Boytcheva AUBG, Spring 2013

  2. Lecture 1Coordinate Systems

  3. Outline • Course Organization • Introduction • Image Formation • Vector vs. Raster Graphics • Graphics Formats • Coordinate Systems

  4. Course Organization • Lectures - Tuesday • Practical Sessions - Friday • Course Materials • dotLRN • Assignments • Course Projects • Homework Assignments (4) • Quizzes (4) • MidTerm Exam • Final Exam

  5. Course Materials • dotLRN • Used resources: • “Fundamentals of Computer Graphics” by Peter Shirley, Michael Ashikhmin and Steve Marschner, Publisher: A K Peters; 3rd Revised edition • “Interactive Computer Graphics: A Top-Down Approach Using OpenGL” by Edward Ange, Publisher: Addison Wesley; 5th edition • "Computer Graphics with Open GL" by Donald D. Hearn , M. Pauline Baker and Warren Carithers. Publisher: Prentice Hall; 4th edition • "Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL" by Edward Angel and Dave Shreiner .Publisher: Addison-Wesley; 6th edition • “OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1” (7th Edition) by Dave Shreiner

  6. Software • C++ Programming Language • Code Blocks • http://www.codeblocks.org/ • http://www.codeblocks.org/downloads/binaries • Multiplatform IDE, GNU GCC Compiler, Debugger • Windows 2000/XP/Vista/7//8 • codeblocks-12.11mingw-setup.exe • Linux 32-bit • Linux 64-bit • Mac OS X • Free • OpenGL Library • Java • C++ • Objective C, C#

  7. OpenGL • What is OpenGL? • Provides lower-level graphics API (Application Programming Interface) • Programming Languages • Java • C++ • Objective C, C# • Versions • OpenGL 3.0 • Mac only supports 3.2 • We will need minimal functionality provided by OpenGL 2.0

  8. OpenGL in C++ • Cross-Platform • GLFW  up to date • Free GLUT not compatible with mac • GLUT  outdated • Native • Windows: WGL • Linux: GLX • Mac: CGL (NSOpen GL with Object C++)

  9. OpenGL in Java • Java OpneGL (JOGL) • Fits wit SWING /ATW libraries • More complex • Last stable version is obsolete • Lightweight Java Game Library (LWJGL) • Minimalistic and easy to use • Stable and well maintained

  10. GLFW • Minimalistic and easy to use • Stable and well maintained • Download: • http://www.glfw.org/ • Version 2.7.7 • Binary archive for 32-bit Windows • Rename folder “lib-mingw” to “lib” • More about settings – next class

  11. The Camera

  12. The Image Plane

  13. Polygonal Models

  14. Pixel Discretization

  15. Color Scheme • RGB • Red • Green • Blue • CMYK • Cyan • Magenta • Yellow • Black

  16. RGB Green (0,255,0) Cyan (0,255,255) Yellow (255,255,0) Red (255,0,0) Blue (0,255,0) Magenta (255,0,255) Red (255,0,0)

  17. Raster Rendering For each polygon: Compute illumination Project to image plane Fill in pixels

  18. Vector v. Raster Graphics Vector Graphics Raster Graphics TV’s, monitors, phones Photographs GIF, JPG, etc. High memory (frame buffer) Hard to draw line Arbitrary fills • Plotters, laser displays • “Clip art,” illustrations • PostScript, PDF, SVG • Low memory (display list) • Easy to draw line • Solid/gradient/texture fills

  19. Graphics • Vector • smooth continuous primitives • Raster • Discrete primitives (usually in grid) • Advantages • Disadvantages

  20. Example • Spasm, convulsion (jap. Keiren) 痙攣

  21. Vector After Scaling

  22. Raster After Scaling

  23. Vector Graphics • Advantages • Zoom Precision • Ideal for graphics and text • Disadvantages • Not suitable for compound objects with many details/parts • Nightmare for photorealistic images

  24. Raster Graphics • Advantages • Do not depend on the amount of content • Ideal for photorealistic images • Disadvantages • Problem with oblique lines • Rough result in scaling • Inconvenient for graphics and text

  25. Rasterization • Vector Data transformation to Raster Data • Before the output to the raster device • Rasterization should be made as later as possible in graphics processing • Rule • Every image that you can see on PC or mobile device display is raster graphics

  26. Vectorization • Raster Data transformation to Vector Data • In case we need vector processing (for example, image recognition, edges …) • Heavy algorithms (time, efforts, resources consuming), sometimes bad and unusable results • Vectorization is applied only if there is not available alternative solution

  27. Vector – Raster Transformation Vector processing Raster processing rasterization Vector Data Raster Data rasterization Vector Device Raster Device

  28. Raster Images • (Spatial) Resolution • horizontal pixels x vertical pixels • Image Aspect Ratio • width/height • HDTV = 1920/1080 = 1.78 = 16:9 • Pixel Aspect Ratio • (H/V) / (height/width) = (H/V) x (1/A) • Square pixels are 1:1 • Color resolution • Bits per pixel • 24 bpp = 8 bits red, green and blue • 8 bpp = 3 bits red, green, 2 bits blue

  29. Image File Formats

  30. Color Palettes • Store all RGB colors used in any image pixel in a table • Store index to color in each pixel to compress data size 97 97 217 97 97 217 97 97 217 97 97 217 97 97 217 0 0 0 0 0 97 97 217 255 153 0 255 153 0 255 153 0 97 97 217 0 1 1 1 0 97 97 217 97 97 217 255 153 0 97 97 217 97 97 217 0 0 1 0 0 = 97 97 217 97 97 217 255 153 0 97 97 217 97 97 217 or 0 0 1 0 0 where: 97 97 217 97 97 217 255 153 0 97 97 217 97 97 217 0 0 1 0 0 0= 97 97 217 255 153 0 255 153 0 255 153 0 97 97 217 0 1 1 1 0 1= 97 97 217 97 97 217 97 97 217 97 97 217 97 97 217 0 0 0 0 0

  31. Viewing 3D Lighting Information 3D Geometric Models Rendering Image Storage and Display 3D Animation Definition Texture Information

  32. Coordinate systems • Cartesian • Polar • Spheric

  33. Cartesian coordinate system • (x, y, z) – 3D Point position • (x, y) – 2D Point position

  34. 3-D Coordinates Right Handed Coord. Sys. z • Points representedby 4-vectors • Need to decideorientation ofcoordinate axes y x Left Handed Coord. Sys. z y +z (lhc) x +z (rhc) y x

  35. Algorithm “for dummies” • Point all the axises • Turn hands until they guess • With which hand do, this is the system Z Z Y Y X X Снимка: FreeDigitalPhotos.net

  36. What is the orientation of is this system? Z X Y

  37. 2-D Points • Represents points andvertices as column vectors: (1,1) (-1,-1)

  38. 2-D Points • Represents points andvertices as column vectors: • Transform polygonal object by transforming its vertices (1,1) (-1,-1)

  39. Polar coordinate system O x α y r X Y P

  40. 2-D Rotation • Pick a point (x,y) • Assume polar coords x = r cos q, y = r sin q

  41. Spherical Coordinate System P

  42. Z r z O β y x X α Y Q

  43. Other Coordinate Systems

  44. Demo • Code Blocs + GLFW project

More Related