ARB Roadmap Discussion
-
Upload
igor-guerra -
Category
Documents
-
view
48 -
download
3
description
Transcript of ARB Roadmap Discussion
© Copyright 3Dlabs 2004 Page 1
ARB Roadmap DiscussionARB Roadmap Discussion
Sacramento, June 2004Sacramento, June 2004
© Copyright 3Dlabs 2004 Page 2
Two Topics To DiscussTwo Topics To DiscussTwo Topics To DiscussTwo Topics To Discuss
How are we doing? and Where are we going?
ISV feedback from recent GLSL seminar series3Dlabs is happy to share this information with the ARB
A proposal for a high-level OpenGL roadmap “vision”A (hopefully) helpful framework for the ARB’s upcoming workThe basis for the marketing groups messaging at SIGGRAPH and beyond
The purpose of this presentation is to catalyze discussionProvide some backdrop for the ongoing ARB technical discussions To help the marketing group develop a strong and SIMPLE message
© Copyright 3Dlabs 2004 Page 3
3Dlabs Developer Survey3Dlabs Developer Survey3Dlabs Developer Survey3Dlabs Developer Survey
Conducted as part of the recent 3Dlabs GLSL Seminar Series3 seminars in U.S., 1 in Canada, 1 in U.K., 1 in Germany
Survey respondents were software developersMostly professional applicationsSome universities and research labsVery little representation of the games industry
153 developers filled in technical surveysFrom 100 different companies
Information provided on understanding it could be shared with the ARB
© Copyright 3Dlabs 2004 Page 4
Frequency of OpenGL Spec UpdatesFrequency of OpenGL Spec UpdatesFrequency of OpenGL Spec UpdatesFrequency of OpenGL Spec Updates
Do You Like Seeing the ARB UpdateCore OpenGL Each Year?
83%
3%
14%
This is the perfect pace
This is too fast
OpenGL should change more rapidly or more radically
© Copyright 3Dlabs 2004 Page 5
Importance of Floating-Point TexturesImportance of Floating-Point TexturesImportance of Floating-Point TexturesImportance of Floating-Point Textures
92 developers (79% of those responding) said they would see benefit from floating-point textures, either 16- or 32-bit
Importance of Floating-Point Textures
21%
27%
46%
6%No benefit
Need 16-bit fp
Need 32-bit fp
Need 16-bit and/or 32-bit fp
© Copyright 3Dlabs 2004 Page 6
Importance of Superbuffers WorkImportance of Superbuffers WorkImportance of Superbuffers WorkImportance of Superbuffers Work
More than ¾ of returned surveys indicated some aspect of the Superbuffers effort was important to them
Total responses: 119
0 20 40 60 80 100
1
2
3
4
5
Important Superbuffers Functionality
Incorporating pbuffer functionality (70)
Incorporating render-to-texture functionality (91)
Render-to-vertex-array (52)
Framebuffer flexibility (64)
Other (7)
© Copyright 3Dlabs 2004 Page 7
Multiple Render TargetsMultiple Render TargetsMultiple Render TargetsMultiple Render Targets
79 developers (76% of those responding) said they would like to see the fragment shader be able to write out more than just color/depth values
Total responses: 104
Need for Multiple Render Targets
24%
15%
30%
13%
17%1% Only need color/depth
1 additional vec4
2-4 additional vec4s
5-10 additional
vec4s
More than 10 additional vec4s
Other
© Copyright 3Dlabs 2004 Page 8
Asynchronous OperationsAsynchronous OperationsAsynchronous OperationsAsynchronous Operations
80% of respondents said asynchronous operations like image download were important or might be important to them
Are Asynchronous Operations Important?
52%
20%
28%
Yes
No
Maybe
© Copyright 3Dlabs 2004 Page 9
Synchronization PrimitivesSynchronization PrimitivesSynchronization PrimitivesSynchronization Primitives
33% of respondents (46) said they would use synch controls that provided finer-grained control than glFlush/Finish if they were part of core OpenGL, 45% more said that maybe they would
Total responses: 140
Is Fine-Grained Synchronization Important?
33%
11%
45%
11%
Yes
NoMaybe
Don’t understand what these are
© Copyright 3Dlabs 2004 Page 10
Programmable TessellationProgrammable TessellationProgrammable TessellationProgrammable Tessellation
83% of respondents had some interest in this feature
Total responses: 139
Importance of Programmable Tessellation
5%
39%
39%
17%
I use it alreadyNot interested
Would use it
Might use it
© Copyright 3Dlabs 2004 Page 11
Precompiled/Prelinked ShadersPrecompiled/Prelinked ShadersPrecompiled/Prelinked ShadersPrecompiled/Prelinked Shaders
Are Precompiled/Prelinked Shaders Needed?
74%
15%
11%
Yes
No
Other
© Copyright 3Dlabs 2004 Page 12
Shader IP ProtectionShader IP ProtectionShader IP ProtectionShader IP Protection
Are Better Ways of Protecting Shader IP Needed?
48%
35%
17%
Yes
No
Other
© Copyright 3Dlabs 2004 Page 13
Some Conclusions from ISV InputSome Conclusions from ISV InputSome Conclusions from ISV InputSome Conclusions from ISV Input
Developers really, really like seeing the standard improve regularlyWell done everyone for the last several year’s worth of effort!We should keep up this pace Need continued investment in Working Groups
Strong demand for significant short-term functionality – ideally in 2.0!Floating point textures and buffersMultiple render targets
LOTS of developers are waiting for SuperbuffersMust get finished ASAP!
Need synch control / asynchronous vendor or EXT extensions3Dlabs is willing to take the lead on theseBuild on Nvidia fence extension?
Is Tesselation adequately addressed by the render-to-vertex-array?If not – we need a new vendor or EXT extension ASAP
Khronos beginning work on binary format for pre-compiled shadersWe should make sure we synchronize with this work?
© Copyright 3Dlabs 2004 Page 14
Detailed Roadmap Target FunctionalityDetailed Roadmap Target FunctionalityDetailed Roadmap Target FunctionalityDetailed Roadmap Target Functionality
OpenGL 2.0
CoreGLSL and supporting API
Non-power of twoMultiple render targets
Point sprite
ARB ExtensionsSuperbuffers
Pixel buffer objectsFloating point textures/buffers
Texture Rectangle
OpenGL 2.1
CoreGLSL updatesSuperbuffers
Pixel buffer objectsFloating point textures/buffers
Texture Rectangle
ARB ExtensionsRender-to-vertex-array (or other
tessellation support)Synchronization
Asynchronous upload/downloadPrecompiled shaders
Shader metafiles
New version of WGL/GLX
OpenGL 2.2
CoreRender-to-vertex-array (or other
tessellation support)Synchronization
Asynchronous upload/downloadPrecompiled shaders
Shader metafiles
ARB ExtensionsProgrammable pixel
packing/unpacking/transferWhat next?
2004 2005 2006
Standardized High-Level Shading
Language
Standardized General-Purpose Computing on
Graphics Hardware
Standardized Multimedia Synchronization
and Shader Interchange
© Copyright 3Dlabs 2004 Page 15
Simple High-level Roadmap MessagingSimple High-level Roadmap MessagingSimple High-level Roadmap MessagingSimple High-level Roadmap Messaging
2004 2005 2006
OpenGL 2.0OpenGL 2.0
OpenGL 2.1OpenGL 2.1
OpenGL 2.2OpenGL 2.2
Standardized High-Level Shading Language
Standardized General-Purpose Computing on
Graphics Hardware
Standardized Multimedia Synchronization and Shader Interchange
Nice Message!Can / should we execute?