http://www.gamedev.net/columns/events/gdc2006/article.asp?id=233
Dated March 23st, but I had missed it, and the importance of that thing is fricking huge imo. Bolding is mine.
Uttar
Dated March 23st, but I had missed it, and the importance of that thing is fricking huge imo. Bolding is mine.
ATI and NVIDIA have been working together for more than six months on a proposal to change the direction of OpenGL. Much of that time has been spent talking to developers to find out what they want from OpenGL, and this was the first time they presented what they want to propose publicly.
Disclaimer: All of this information is pre-workgroup; none of it has been officially proposed to the ARB yet.
OpenGL has matured over 13+ years. It's not always representative of hardware anymore, but it is fully backwards compatible (unlike other graphics APIs), which has obvious pros and cons. Significant new hardware functionality is on the way, and programmability is just the start. OpenGL needs to be market and timeline driven to provide only what is needed in a timely manner.
There has been talk for a few years of creating a version of OpenGL that doesn't maintain backward compatability, and it has been suggested that this might happen with OpenGL 3.0. But developers and IHVs have indicated that there is too much out there depending on existing functionality to make a fully clean break.
The proposal being worked on would divide OpenGL two profiles. The first, dubbed OpenGL Lean and Mean (or OpenGL LM) is the core API that is the right hardware abstraction, providing optimal performance. There would also be a full OpenGL profile that supports all existing functionality, as well as the LM profile. Once this division is made, most future efforts would be put into the LM profile.
They'd like to add:
- Geometry instancing
- Geometry-only display lists (for small static data, for instance) (no GL_COMPILE_AND_EXECUTE,
- since it's very problematic to implement efficiently)
- Arrays activated based on vertex shader usage
GLSL enhancements
- Integer Support
- Full 32 bit integers full bit-wise integer ops integer texure lookups integer vertex attributes
- Offline compile (already in OpenGL ES)
[*]Enables layering, faster startup, (limited) IP protection
[*]Binary shader interface
[*]Intermediate language interface
- Vertex position invariance across shaders (replaces ftransform())
- Enhanced interpolant control
- Flat/smooth
- center/centroid
- perspective correct, or not
- Vertex ID (what vertex item am I?)
- Binding texture object IDs to samplers (skip texture image unit)
What they'd like to add
- seamless cub map neighborhoods
- texture arrays (aka stacks)
- texture filter shaders
If either R600 or G80 has full support for all that stuff, please put me in line to buy a few millions of them (I can hope!) on launch day, mkay? Much of that stuff is optional though if I'm reading this right (hmm?), so it's more likely both will support a subset of it.What features to consider layering:
- Depth test
- Stencil test
- Blend
Instead, have sample shaders in OpenGL LM
Uttar