Graphics Accelerators and OpenGL Presentation by Guy Benyei

Graphics Accelerators and OpenGL Presentation by Guy Benyei

Graphics Accelerators and OpenGL Presentation by Guy Benyei [email protected] Graphics Accelerators Special thanks to Eyal Bar-Lev Why GPU ? Lets take one vertex in 3D space and Transform it to somewhere else, and Convert it to camera space and screen space (The screen is 2D.) These are three basic actions in a 3D world. How much computing power do they consume ? A Vertex is represented by four sets of numbers (X,Y,Z,W)

Each operation is a Matrix Multiplication (i.e. 28 EU operations). There are three matrices (i.e. 28 X 3 = 84 EU actions Per one Vertex) A Fair flight simulator scene takes 120,000 Triangles/Frame at 60 Hz. (i.e. 7.2M Triangles/ Sec) X 84 = 604 M Calculations/Sec, and these are only three basic actions what about the rest ? Conclusion : There has to be a powerful machine to handle such a calculation rate, Up till today, the solution is the GPU 3 April 2007 Intel Confidential GPU History and Brands 1979 : Catmule invents the Z

Buffer- Up till then Graphics is for Radar apps. 1980s SGI starts building RISC computers for graphics. 1985 Amiga sets foot. 1996 3DFX and Voodoo 2000 NVidia Brings Geforce II 2002 ATI Brings Radeon 9700 . 2008 : ATI has 4870 as High end NV has 290GTX as high end 4 April 2007

Intel Confidential Fixed Functionality :The result A Pipe which multiplies vectors & matrices with adjustable attributes 5 April 2007 Intel Confidential NVidia G80

6 April 2007 Intel Confidential NVidia G200 NVidia FERMI (GTX 580) Todays Hottest : ATI (HD 6870)

9 1.7 billion transistors on 40nm fabrication process 1120 stream processing units Processor clock: 900 MHz Texture fill rate: 50.4 GPix/sec PCI Express 2.1 x16 bus interface Maximum Digital Resolution 2560x1600 Maximum VGA Resolution 2048x1536

Dual link DVI, HDMI 1.4a with Stereoscopic 3D Frame Packing Format, Deep Color, xvYCC wide gamut support, and high bit-rate audio April 2007 Intel Confidential Todays Hottest: Nvidia (GTX 580)

10 April 2007 3 billon transistors Processor Cores : 512 (Yeh.) Graphics Clock (MHz) 772 MHz Processor Clock (MHz) 1544 MHz Texture Fill Rate 49.4 GPix/sec : Tests measured less, as usual Bus Support PCI-E 2.0 x16 Maximum Digital Resolution 2560x1600

Maximum VGA Resolution 2048x1536 Two dual Link DVI Multi Monitor Intel Confidential With time-GPUs improves and quality comes along TR1-1996 TR4 TR2 TR3 Tomb Raider with todays latest GPUs

Direct3D Direct3D 13

April 2007 A 3D Graphics API complements of Microsoft Works in COM Technology Went through some 32 Version changes most of them are architectures Newest version is OS dependant, Version 11 will not work on XP systems Works with Microsoft OS only All graphic cards are built to support this pipeline and thus its performance is better than OpenGL Intel Confidential OpenGL

OpenGL 14 Short for Open Graphics Language Originally invented by SGI as GL and as a RISC Proprietary The first 3D API

Works as a fixed- functionality pipe operator Robust, went through over 10 version changes , most of them are functionality additions, today at 4.1 Easy User interface Works on every OS, and in PS2, PS3, Wii April 2007 OpenGL APIs Libraries in use Gl

Glu OpenGL Utility Toolkit (http://www.opengl.org/resources/libraries/glut/) FLTK

OpenGL Utility Glut OpenGL API implementation (http://www.opengl.org) FlashLight ToolKit (http://www.fltk.org/) GLEW Draw

glBegin(GL_POLYGON); glVertex3f( 0.0f, 1.0f, 0.0f); glVertex3f(-1.0f, 0.0f, 0.0f); glVertex3f(-1.0f,-1.0f, 0.0f); glVertex3f( 1.0f,-1.0f, 0.0f); glVertex3f( 1.0f, 0.0f, 0.0f);

glEnd(); Other possibilities: #define #define

#define #define #define #define #define #define #define #define GL_POINTS GL_LINES GL_LINE_LOOP GL_LINE_STRIP GL_TRIANGLES GL_TRIANGLE_STRIP

GL_TRIANGLE_FAN GL_QUADS GL_QUAD_STRIP GL_POLYGON 0x0000 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007 0x0008 0x0009

Colors glBegin(GL_POLYGON); glColor3f(1.0f,0.0f,0.0f); Z-buffer

glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); Other options: #define #define #define #define #define #define #define #define GL_NEVER GL_LESS GL_EQUAL

GL_LEQUAL GL_GREATER GL_NOTEQUAL GL_GEQUAL GL_ALWAYS 0x0200 0x0201 0x0202 0x0203 0x0204 0x0205 0x0206 0x0207

Projection glMatrixMode(GL_PROJECTION); glLoadIdentity(); Orthogonal: glOrtho(left, right, bottom, top, near, far); (gluOrtho2D)

Perspective: gluPerspective(fovy, aspect, zNear, zFar ); (glFrustum) Translation/Rotation/Scale

glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef(x, y, z); glRotatef(angle, x, y, z); glScalef(x, y, z); Camera Position void gluLookAt(eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ ); Backface culling

glCullFace(GL_BACK); glEnable(GL_CULL_FACE); Lighting

glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient); glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse); glLightfv(GL_LIGHT0, GL_SPECULAR, light_specular); glLightfv(GL_LIGHT0, GL_POSITION, light_position); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); Material

glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, material_ambient1); glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, material_specular1); glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, material_shininess1); Shading

glShadeModel(GL_SMOOTH); glShadeModel(GL_FLAT); Display Lists glNewList(list, mode) glEndList() glCallList(list) glCallLists(n, type, *lists)

Additional information The Red Book http://www.opengl.org/ documentation/red_book/ The End Backup GPU History and Brands

31 April 2007 Intel Confidential

Recently Viewed Presentations

  • Grade 7 Unit 1 - Weebly

    Grade 7 Unit 1 - Weebly

    Grade 7 Unit 1 Topic 1: Interactions Within an Ecosystem Ecosystems cont. If we can understand how an ecosystem functions and the connections between different parts, we can predict and / or understand the effects of changes.
  • Search Engine Optimization - SEO Company Search Engine Genie

    Search Engine Optimization - SEO Company Search Engine Genie

    Search Engine Optimization (SEO) Prepared by: Larry Stewart Topic Outline Introduction How Search Engines Work SEO Building Blocks Keywords Crawler Links SEO Tools Black Hat Methods Summary and Conclusion Definition of Search Engine Optimization (SEO)1 "Natural," or "organic," search engine...
  • Transition Metal Complexes of Topologically Constrained ...

    Transition Metal Complexes of Topologically Constrained ...

    (c) (d) [{CoL2}CoCl4{CoL2}] Oxidation Prof. Daryle Busch Catalysis Prof. Steve Archibald Prof. Alan van Asselt Wes Hoffert Trenton Parsell Procter & Gamble McPherson College Stine Research Fund MRI Contrast: Prof. Tom Meade Jonas Lichty Shawn Allen Adedamola Grillo National Institutes...
  • Introduction to Component 1

    Introduction to Component 1

    As we watch the 2 videos, 1. start to summarise your notes into: Aim. Sample . Procedure. Results. Conclusions. 2. Identify words unique to the study which you can use to show context (e.g. minocular / binocular / perpendicular)
  • Accelerating Research Discovery: Towards an Intelligent Workbench for

    Accelerating Research Discovery: Towards an Intelligent Workbench for

    Accelerating Research Discovery: Towards an Intelligent Workbench for Researchers . Department of Computer Science. Affiliated with Graduate School of Library & Information Science. Department of Statistics. Carl R. Woese Institute for Genomic Biology. University of Illinois at Urbana-Champaign. ChengXiang ("Cheng")...
  • Distribution Objectives and Related Marketing Strategies

    Distribution Objectives and Related Marketing Strategies

    Distribution Objectives and Related Marketing Strategies Account maintenance Account penetration Assure user satisfaction Reduce competitive opportunities Simplification Increase consumption rate and purchase volume Head-to-head competition Complementary product sales Power Bases in Distribution Reward Coercive Expert Ability to offer product ...
  • How do I analyze a polynomial function?

    How do I analyze a polynomial function?

    Daily Questions:. How do I Multiply Special Products? How do I use Binomial Expansion? *You will need your calculator today*
  • ECON 156 Poverty: course structure

    ECON 156 Poverty: course structure

    Part. Lectures. EOP Ch. Topic. 1. 1-5. 1, 2. History of thought on poverty. 2. 6-8. 3. Measurement of welfare. 2. 9-11. 4. Poverty lines, price indices, scales. 2. 12 ...