Page 1 of 173 1 2 3 ... 172 173 >
Topic Options
Rate This Topic
#229374 - 10/30/07 10:56 AM OpenGL 3 Updates *****
Khronos_webmaster Offline

Webmaster
Newbie
*****

Registered: 04/23/07
Posts: 44
Loc: Montreal
You understandably want to know where the OpenGL 3 specification is. I have good news and some bad news. First the bad news. Obviously, the specification isn't out yet. The OpenGL ARB found, after careful review, some unresolved issues that we want addressed before we feel comfortable releasing a specification. The good news is that we've greatly improved the specification since Siggraph 2007, added some functionality, and flushed out a whole lot of details. None of these issues we found are of earth-shocking nature, but we did want them discussed and resolved to make absolutely sure we are on the right path, and we are. Rest assured we are working as hard as we can on getting the specification done. The ARB meets 5 times a week, and has done so for the last two months, to get this out to you as soon as possible. Getting a solid specification put together will also help us with the follow-ons to OpenGL 3: OpenGL Longs Peak Reloaded and Mount Evans. We don't want to spend time fixing mistakes made in haste.

Here's a list of OpenGL 3 features and changes that we decided on since Siggraph 2007:
  • State objects can be partially mutable, depending on the type of the state object. These state objects can still be shared across contexts. This helps in reducing the number of state objects needed in order to control your rendering pipeline. For example, the alpha test reference value is a candidate to be mutable.
  • We set a *minimum* bar required for texturing and rendering. This includes:
    • - 16 bit floating point support is now a requirement for textures and renderbuffers. Supporting texture filtering and blending is still optional for these formats.
    • - S3TC is a required texture compression format
    • - Interleaved depth/stencil is a required format for FBO rendering
    • - At least one GL3-capable visual or pixel format must be exported which supports front-buffered rendering.
  • OpenGL 3 will not have support for the GL_DOUBLE token. This means it will not be possible to send double precision vertex data to OpenGL.
  • A format object has to be specified per texture attachment when a Program Environment Object is created. This helps minimize the shader re-compiles the driver might have to do when it discovers that the combination of shader and texture formats isn't natively supported by the hardware.
  • GL 3 will only cache one error, and that is the oldest error that occurred.
  • The OpenGL pipeline will be in a valid state once a context is created. Various default objects, created as part of the context creation, will have reasonable default values. These values are such that a simple polygon will be drawn into the window system provided drawable without having to provide a Vertex array object, vertex shader or fragment shader.
  • GLSL related changes:
    • - GLSL 1.30 will support a #include mechanism. The actual shader source for the #include is stored in a new type of object, A "Text Buffer" object. A text buffer object also has a name property, which matches the string name specified in a #include directive.
    • - Legacy gl_* GLSL state variables are accessible through a common block.

More details will follow soon in an upcoming OpenGL Pipeline newsletter.

Barthold Lichtenbelt
OpenGL ARB Working Group chair
_________________________
Webmaster Khronos.org and OpenGL.org

Top
#229376 - 10/30/07 11:07 AM Re: OpenGL 3 Updates [Re: Khronos_webmaster]
Zengar Offline

OpenGL Pro
****

Registered: 09/18/01
Posts: 1979
Loc: Germany
To make it short, we shoudln't expect the spec untill about new year and first implementations even later... Still, it is good that they are trying to make a solid product. I guess I can wait.

Top
#229377 - 10/30/07 11:18 AM Re: OpenGL 3 Updates [Re: Zengar]
Mars_9999 Offline
Regular Contributor
*****

Registered: 06/09/05
Posts: 277
Loc: USA
Hey its better late than never! And if it takes abit longer to get something that is done correct, then yes lets wait.

Why no double vertex data? Is this for speed reasons only? I see with DX10.1 precision of float data will have to be tighter on that hardware... Will this be good enough for everyone? From games to scientific purposes? I am not clear on the #include directive, is this a header file where you have your shaders coded at?

e.g.
#include "lightingVS.xxx"
#include "lightingFS.xxx"
#include "lightingGS.xxx"

thanks for the update!!!


Edited by Mars_9999 (10/30/07 11:18 AM)

Top
#229379 - 10/30/07 11:28 AM Re: OpenGL 3 Updates [Re: Mars_9999]
Zengar Offline

OpenGL Pro
****

Registered: 09/18/01
Posts: 1979
Loc: Germany
Double data never made sence as there are no implementations that actually use it. Something like this should be an extension. So IHMO it is a good move.

As far as I understood, the include works just like in C (copy-pastes a text from another file), only that is works with named buffers instead of files. A very elegant solution!

Top
#229381 - 10/30/07 11:37 AM Re: OpenGL 3 Updates [Re: Zengar]
barthold Offline
Regular Contributor
*****

Registered: 08/31/01
Posts: 184
Loc: NVIDIA, Fort Collins, CO, USA
Remember, OpenGL 3 will be implementable on currently shipping hardware. The fast majority of that HW does not natively support double precision vertex data. In GL 2, where you can send double vertex data to the GL, that will likely get converted to floats by the driver or HW. Future hardware might fully support double vertex data, and then support for it can be added back into a future OpenGL 3.x version.

Barthold

Top
#229383 - 10/30/07 12:15 PM Re: OpenGL 3 Updates [Re: barthold]
Y-tension Offline
Regular Contributor
*****

Registered: 02/02/06
Posts: 140
Loc: greece
I'm sure you're doing the best you can and surely these things require time. We'll keep using the already great feature set exposed by gl 2.1(plus extensions of course).
Everyone is on their toes to use the new api so make it as good as you can!

Top
#229385 - 10/30/07 12:21 PM Re: OpenGL 3 Updates [Re: Y-tension]
bobvodka Offline
Regular Contributor
***

Registered: 04/09/04
Posts: 422
Loc: UK
Thanks for the update, it's good to know what is going on with it \:\)

Top
#229386 - 10/30/07 12:34 PM Re: OpenGL 3 Updates [Re: bobvodka]
Korval Offline
OpenGL Guru
***

Registered: 03/15/01
Posts: 3768
 Quote:
16 bit floating point support is now a requirement for textures and renderbuffers. Supporting texture filtering and blending is still optional for these formats.


Remind me of something. Do R300 (Radeon 9xxx) and NV30 (GeForce FX's) support 16-bit float textures/renderbuffers? I was hoping that these cards would be the minimum GL 3.0 compatible hardware.

Top
#229387 - 10/30/07 12:34 PM Re: OpenGL 3 Updates [Re: barthold]
Rob Barris Offline

Regular Contributor
****

Registered: 04/29/06
Posts: 273
Loc: Irvine CA
The #include mechanism is intended to make partitioning of shader sources easier, but in GL3 is not going to provide a means to do either a callback or a real access to the file system.

What it does let you do is submit individual buffers of text and attach names to them separately, and then make reference to those named text buffers from another section of text using the #include statement. However at compile time you must be able to provide all of the buffers to GL3 that can be referenced for that compile job, this allows for more than one buffer to have the same name but still let the application disambiguate everything at compile time.

edit: why do it this way? It keeps all the work to do #include resolution on the server side. It is potentially not as flexible as a callback mechanism, but as we know callbacks do not translate well to a client/server model.


Edited by Rob Barris (10/30/07 12:41 PM)

Top
#229388 - 10/30/07 12:36 PM Re: OpenGL 3 Updates [Re: Korval]
Stephen A Offline
Regular Contributor
***

Registered: 10/19/06
Posts: 284
Loc: Greece
 Originally Posted By: Korval
 Quote:
16 bit floating point support is now a requirement for textures and renderbuffers. Supporting texture filtering and blending is still optional for these formats.


Remind me of something. Do R300 (Radeon 9xxx) and NV30 (GeForce FX's) support 16-bit float textures/renderbuffers? I was hoping that these cards would be the minimum GL 3.0 compatible hardware.

I'm 99% sure that R300 supports 16-bit float textures, but without filtering or blending. I never had a NV30, so I don't know about that.

Top
Page 1 of 173 1 2 3 ... 172 173 >


Moderator:  Khronos_webmaster 
Who's Online
6 registered (dukey, Werty, obirsoy, skynet, AGL_Music, mrmoo), 44 Guests and 85 Spiders online.
Key: Admin, Global Mod, Mod
Newest Members
Nonozor, Maire Nicolas, minakshee, Koter, pixelwrangler
24934 Registered Users
Top Posters (30 Days)
Alfonse Reinheart 152
ZbuffeR 92
Dark Photon 73
marshats 47
Brolingstanz 44
Ilian Dinev 41
Iulian B 38
Stephen A 37
Kip Warner 28
devdept 26
skynet 24
Pierre 23
igorgiv 23
DarkShadow44 23
Yann LE PETITCORPS 22
scratt 21
Abdallah DIB 21
Aleksandar 20
Pierre Boudier 19
mikeynovemberoscar 19
Forum Stats
24934 Members
12 Forums
52392 Topics
271545 Posts

Max Online: 482 @ 08/11/08 06:19 PM