Status Update December 11, 2001 Copyright 3Dlabs, 2001 - Page 1
OpenGL 2.0 Progress Update White Papers Followed timeline established at September ARB meeting Distributed to identified reviewers in mid-october - 6 weeks of conference calls and face-to-face visits Version 1 posted on 3Dlabs web site end of October - Numerous comments, e-mail exchanges via ogl2@3dlabs.com Revised versions posted 12/10 Randi will discuss updates later Copyright 3Dlabs, 2001 - Page 2
OpenGL 2.0 Progress Update Meetings with Contributors Began in October 5D Solutions ATI Apple Discreet Logic Epic Games id Software PTC/CDRS RAD Game Tools SGI Side Effects Software SoftImage Vital Images Copyright 3Dlabs, 2001 - Page 3
OpenGL 2.0 Progress Update opengl.org survey Over 300 individuals and companies registered their support Among them: - Alias Wavefront - Blizzard Entertainment - Landmark Graphics - Prime Geoscience - Sony Computer Entertainment - Synaptic Soup - US Dept. of Energy - Vicious Software - Whatif Productions Some Quotes - "OpenGL 2.0 is something that Solar Forge Inc. would be very enthusiastic about making a reality. - ArtisLuminis Brilliant! At last somebody seems to be taking the bull by the horns and taking OpenGL into the 21st century. - Burned Chrome All the proposals for OpenGL 2.0 just sound great. I can't wait. Copyright 3Dlabs, 2001 - Page 4
Feedback Received ISV feedback Overwhelmingly positive Most frequent comment is awesome! Second most frequent comment is would like to see you do more Most frequently requested missing feature is programmable tessellator Support from DCC, CAD, medical imaging, games Feedback has validated the need for all parts of the proposal - Programmable shader technology most frequently mentioned - Memory management frequently mentioned - Synchronization frequently mentioned - Pack/unpack frequently mentioned Copyright 3Dlabs, 2001 - Page 5
Feedback Received ARB member feedback ARB members have mostly either given positive feedback or none at all - Not as positive as ISVs, however Have held face-to-face or teleconferences with - Apple, ATI, HP, Microsoft, NVIDIA, SGI, Sun Not able to have meetings with - E&S, Compaq, Intel, IBM Most common concern too much to do in the time frame specified - Yes, companies will have to commit significant resources outside of ARB meetings - Yes, this is much more than the ARB has attempted for 10 years - BUT: The ISVs are begging us to do everything, quickly, and do more - Having a long term vision has ignited support for OpenGL again - We can get there in phases Copyright 3Dlabs, 2001 - Page 6
Technical Progress 3Dlabs activities since last ARB meeting White papers and overview slides made available in October - As promised First revision to all papers completed last week - Already circulated Main focus - issues that were still open at the last ARB meeting - Aux data buffer for multipass results - Frame buffer configuration - Classification of existing extensions - Support for extensions deemed critical - Render to texture - Non-power of 2 textures - Pbuffer Began compiling list of issues/questions Copyright 3Dlabs, 2001 - Page 7
Shading Language Update Almost no change Added lookup() function to read frame buffer values Updated to conform to changes to object management paper Still considering some issues that have been raised - Watchdog timer - WindowPos/RasterPos - Virtualization of resources - Modular programs, partial compiles, etc. Copyright 3Dlabs, 2001 - Page 8
Pack/Unpack Processor Update Minor changes Minor changes due to object management changes Added ReadImageData() command (like GetTexImage) Cleaned up references to memory Moved discussion of image/buffer formats to Objects white paper Copyright 3Dlabs, 2001 - Page 9
Memory Management Update Some significant changes (1 of 2) Object management framework described in new white paper - Unified common operations for all object types - Policy and priority can be set for all object types Additional object types have been defined - Cube map object - Frame buffer object - Buffer object Aux data buffer described Flexible frame buffer configuration mechanisms added Support for render-to-texture functionality defined Copyright 3Dlabs, 2001 - Page 10
Memory Management Update Some significant changes (2 of 2) Added USE_SHARED hint, removed USE_ASYNC Added asynchronous versions of vertex array loading commands Added calls to load data into and draw image objects Added image mask attribute (like TextureMask) Added discussion of copying between image objects/buffers Added default policy and priority, used when creating an object Added a vertex array per texture unit, and calls to load data into vertex array objects Worked to remove dependence on client state Other small edits and clarifications Copyright 3Dlabs, 2001 - Page 11
Asynchronous OpenGL Update Small changes Added new swap commands Updated Fence() definition based on prototype implementation Worked on making things GL instead of WGL/GLX Decided that explicit async functions were a better alternative than making asynchronous behavior the property of an object Added a counter for number of delayed swaps Copyright 3Dlabs, 2001 - Page 12
OpenGL 2.0 Work Items Prove the ideas and help bootstrap implementations OpenGL 2.0 Specification 3Dlabs Additional technology for OpenGL 2.0 - Continue updating OpenGL 2.0 white papers 3Dlabs - Programmable tessellator proposal ATI? OpenGL 2.0 Compiler Technology - Shading language parser 3Dlabs (nearly done) - Definition of intermediate language for compiler 3Dlabs, others? - Optimizer for intermediate language 3Dlabs, others? - Implementation of hardware specific compiler back end Each IHV Tools - Debugger? - Other tools? Copyright 3Dlabs, 2001 - Page 13
OpenGL 2.0 Work Items Need industry involvement Asynchronous OpenGL - GLsync, Fence, and VerticalBlankPulse 3Dlabs (done) - Asynchronous commands in background? Objects and memory management - Flexible frame buffer configuration? - Vertex array objects? - Policy/priority mechanisms? - Direct access mechanisms? OS-specific issues - WGL/Windows 3Dlabs, others? - GLX/Linux? - AGL/MacOS Apple? Copyright 3Dlabs, 2001 - Page 14
OpenGL 2.0 Schedule Specification Jan 02 Specification work begins Mar 02 Partial spec available for review (includes shading language) Jun 02 First draft of complete spec Jul 02 SIGGRAPH 2002 activities, public review draft of spec? Sep 02 Final spec changes? Dec 02 Ratified spec? Copyright 3Dlabs, 2001 - Page 15
OpenGL 2.0 Schedule Implementation Key point: vendors can incrementally add OpenGL 2.0 functionality to their OpenGL 1.3 implementations - This allows OpenGL 2.0 to be phased in over time - This allows ISVs to get early access to OpenGL 2.0 features - Agreement about phasing amongst participating vendors would be beneficial - Participating vendors can define the phases (e.g., subsets) of OpenGL 2.0 Mar 02 Demonstration of shading language compiler Jul 02 SIGGRAPH demonstration of: - Vertex/fragment shaders - Pack/unpack shaders - Object management - Asynchronous OpenGL Q1 03 First complete OpenGL 2.0 implementations? Copyright 3Dlabs, 2001 - Page 16