20 Years of Opengl
Total Page:16
File Type:pdf, Size:1020Kb
20 Years of OpenGL Kurt Akeley © Copyright Khronos Group, 2010 - Page 1 So many deprecations! • Application-generated object names • Depth texture mode • Color index mode • Texture wrap mode • SL versions 1.10 and 1.20 • Texture borders • Begin / End primitive specification • Automatic mipmap generation • Edge flags • Fixed-function fragment processing • Client vertex arrays • Alpha test • Rectangles • Accumulation buffers • Current raster position • Pixel copying • Two-sided color selection • Auxiliary color buffers • Non-sprite points • Context framebuffer size queries • Wide lines and line stipple • Evaluators • Quad and polygon primitives • Selection and feedback modes • Separate polygon draw mode • Display lists • Polygon stipple • Hints • Pixel transfer modes and operation • Attribute stacks • Pixel drawing • Unified text string • Bitmaps • Token names and queries • Legacy pixel formats © Copyright Khronos Group, 2010 - Page 2 Technology and culture © Copyright Khronos Group, 2010 - Page 3 Technology © Copyright Khronos Group, 2010 - Page 4 OpenGL is an architecture Blaauw/Brooks OpenGL SGI Indy/Indigo/InfiniteReality Different IBM 360 30/40/50/65/75 NVIDIA GeForce, ATI implementations Amdahl Radeon, … Code runs equivalently on Top-level goal Compatibility all implementations Conformance tests, … It’s an architecture, whether Carefully planned, though Intentional design it was planned or not . mistakes were made Can vary amount of No feature subsetting Configuration resource (e.g., memory) Config attributes (e.g., FB) Not a formal aspect of Speed No performance queries architecture All errors specified Validity of inputs No undefined operation No side effects Little undefined operation When implementation Enforcement errors are found, they are Specification rules! fixed. SIGGRAPH ASIA 2008 OpenGL course © Copyright Khronos Group, 2010 - Page 5 OpenGL is specified at the right level • Imperative API - Follows IRIS GL glClear(GL_COLOR_BUFFER_BIT); // black background - Not network protocol (PEX) glLoadIdentity(); // allow multipass - Not Pixar collaboration (RM) - Not scene graph (Inventor) glOrtho(0, 4, 0, 4, -1, 1); // int cast to double glBegin(GL_POLYGON); // draw white square • Cross-platform glVertex2i(1, 1); - OS specifics compartmentalized glVertex2i(3, 1); - Omitted IRIS GL u/i glVertex2i(3, 3); glVertex2i(1, 3); glEnd(); glFlush(); // force completion © Copyright Khronos Group, 2010 - Page 6 OpenGL is specified at the right level • Imperative API NVIDIA GeForce Performance Improvement - Follows IRIS GL - Not network protocol (PEX) Year Product Mtri/sec Yr rate Mfrag/sec Yr rate - Not Pixar collaboration (RM) - Not scene graph (Inventor) 1998 Riva ZX 3 ---- 31 ---- 1999 Riva TNT2 9 3.0 75 2.4 • Cross-platform - OS specifics compartmentalized 2000 GeForce2 GTS 25 2.8 200 2.7 - Omitted IRIS GL u/i 2001 GeForce3 30 1.2 800 4.0 • Above CPU ISA level 2002 GeForce4 TI 60 2.0 1200 1.5 - Nurtured IHV innovation (CAGRs) 2003 GeForce FX 200 3.3 2000 1.7 - Nurtured data-parallel computing 5 yrs 67x 2.3 65x 2.3 © Copyright Khronos Group, 2010 - Page 7 Culture © Copyright Khronos Group, 2010 - Page 9 OpenGL culture is specification driven • From the start - Mark Segal - State tables - Invariance - Extension templates - Extension indexes - … © Copyright Khronos Group, 2010 - Page 10 OpenGL culture is specification driven • From the start - Mark Segal Lines Words Chars - State tables - Invariance - Extension templates 56 ARB Extensions 48,674 263,908 2,221,347 - Extension indexes - … All 442 Extensions 209,426 1,076,008 9,079,063 • As we went - Austin, TX 1.1 review King James Bible 114,535 823,647 5,214,085 - Extension specifications - Issues and usage examples New Testament 27,319 188,430 1,197,812 - Publications Old Testament 86,783 632,515 3,998,303 SIGGRAPH ASIA 2008 OpenGL course © Copyright Khronos Group, 2010 - Page 11 OpenGL culture is specification driven • From the start - Mark Segal - State tables - Invariance - Extension templates - Extension indexes - … • As we went - Austin, TX 1.1 review - Extension specifications - Issues and usage examples - Publications © Copyright Khronos Group, 2010 - Page 12 OpenGL culture does the right thing © Copyright Khronos Group, 2010 - Page 13 End © Copyright Khronos Group, 2010 - Page 14 .