View Full Version : OpenGL 3.2
Over at the OGL (http://www.khronos.org/news/press/releases/khronos-releases-opengl-3.2-third-major-opengl-release-within-twelve-months/) site they have news that OpenGL version 3.2 has been released. :read:
More information can be found here (http://www.opengl.org/registry/) at the OpenGL Registry & here (http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=261641) at the OpenGL Forum.
NVIDIA has apparently released new OpenGL 3.2 drivers for Linux & Windows which can be found here (http://developer.nvidia.com/object/opengl_3_driver.html).
Petr Schreiber
03-08-2009, 21:48
Yes,
geometry shaders are in core, hurray :)
I am happy they develop so far, but I did not finished learning 3.1 yet :lol:
Matthew, what do you think about 3.x line of OpenGL?
Petr
I like the new additions, I was worried that OpenGL was beginning to look inferior when you compare it to DirectX.
Petr Schreiber
04-08-2009, 19:16
I like it too,
on the other side I must admit in some aspects it starts to look a bit like Direct3D.
Like the differentiated context creation for example - different for 3.0, 3.1 and 3.2.
But generally it seems big step forward towards future. I like I can create compatibility or strict core context, so older applications are not cut out. I wonder how long this dual stage will long. Better to be prepared. It seems it goes to "as much shaders as possible" approach.
Do you have any info whether Intel supports at least some of 3.x series? Last time I checked they claimed 2.0, while not supporting 1.2 multisampling, which made roar so I had to hide in cave to not be dangerous to the rest of society until I cooled down.
Petr
The only information I could find about Intel supporting the new version was here (http://brightsideofnews.com/news/2009/8/3/opengl-32-api-released-welcome-opencl2c-webgl.aspx). :read:
They seem to be working on something called Larrabee (http://en.wikipedia.org/wiki/Larrabee_%28GPU%29), which will compete with more expensive graphics cards. 8)
Petr Schreiber
05-08-2009, 14:43
Hi Matthew,
thanks! Intel is talking about Larabee since 2007 I think, I keep my thumbs pressed, as their graphic solutions could not catch breath even with middle level cards.
If Larabee will bring Intel to full OpenGL support league, I will be very happy.
I finished reading OpenGL 3.2 specs yesterday, and if one would follow the core context strictly, it is more new API than anything related to OpenGL as we know. Good the compatibility mode is still there.
I am hungry for first OpenGL 3.2 book, which will do the same job as Red Book did till now.
The books I checked just explain OpenGL the old way, and then they list what is deprecated.
Petr
lydia_sp
06-08-2009, 13:29
sorry for my question:
how important is open gl 3.2 for tbgl ? you (petr, michael, matthew, other guys) will append the tbgl power with functions ?
best regards, lydia
Petr Schreiber
06-08-2009, 14:20
No need to be sorry :)
Before further reading, let me clarify one thing. TBGL is here to provide abstraction over functionality of 3D hardware in way, that your script based on TBGL commands will run on any GPU available on the market. This is not feature seen in other engines I have seen, and makes TBGL safe platform for both "serious" and game use.
TBGL does not use just OpenGL 1.1 of course, it uses advanced features, but in safe way. If they are not supported in hardware, you are not facing problem of "application stopped working".
Take for example anisotropic filter. In case you specify it, but script runs on very old card, the quality of filtering is automatically reduced to "nearest best alternative" which is mipmapping. So no white places, no lost textures.
Most of geometry primitive rendering functions can also behave like hybrid internally to scale to HW in the best way.
TBGL is not OpenGL wrapper - it is set of functions which allow to generate images while using OpenGL "beneath the surface".
Well, OpenGL 3.x series are big jump in OpenGL design.
OpenGL 3.2 provides 2 contexts (ways to be used):
Core
Compatibility
The compatibility allows using all "old" OpenGL commands + the new ones, while the core ...
... after reading the specification completely, the core basically removed the OpenGL from OpenGL and mainly serves as provider of data for shaders, being much less friendly to beginner coder.
As core "future compatible" context removes support for glLineWidth, glLineStipple, glPushMatrix, glPopMatrix, glTranslatef, glRotatef, glBegin, glVertex, glEnd and other things which represented OpenGL to me, I will not build OpenGL 3.2 core context functionality into TBGL.
Another thing to consider is that OpenGL 3.x line is not widely adopted in drivers yet, so basing engine and application on it now is not smart move.
Driver developers do not plan to drop support for OpenGL 1.1-2.1 line of OpenGL anytime soon. As they keep even such an old stuff as Direct3D 5 support there...
At least on NVIDIA, I can see I run TBGL in 3.1 compatible context with latest stable drivers, will check if it applies to other vendors, and if not I will make moves to enable it.
So the only thing missing to access OpenGL 3.2 power is that thinbasic_glext header provides "just" 2.1 support.
Please know most of OpenGL 3.2 features are accessible from OpenGL 2.1 even now as extension - like geometry shaders.
OpenGL 3.x series make brutal cleanup of syntax, they mostly do not add anything you could not do with 2.1.
OpenGL 2.1 and OpenGL 3.2 operate on top of same hardware, but new 3.x series access it differentely.
During the autumn 2009, I will provide updated OpenGL extension headers which will allow to access new functionality, TBGL already makes possible to use OpenGL specific extensions via TBGL_ogl* commands and ThinBASIC dynamic declare mechanism makes it very easy to use.
So basically you should get the latest version context in compatibility mode even now with TBGL ( and latest drivers ), just the headers are pending now.
My vision for TBGL is to keep it compatible with wide range of HW at maximum possible level.
As in the past, the enthusiast can continue to combine use of TBGL with OpenGL headers, but they will need to watch out for using latest features only when appropriate.
Petr
P.S. Lydia, which graphic card do you use currently? Can you run script attached to this (http://community.thinbasic.com/index.php?topic=668.msg3885#msg3885) thread and post results?
lydia_sp
07-08-2009, 19:04
wow! thank you petr for this info :)
can you wait some days. I will buy a new pc with new graphic card. then I can test your graphic opengl script. nice evening. may be I will buy a window pc. dont know. I hate linux, sorry. nothing for me. lydia
Petr Schreiber
07-08-2009, 21:22
Hi Lydia,
I found Ubuntu to be quite nice, although not offering me anything which would make me to move from XPs.
But for school work it is perfectly enough.
In case you will go for new PC, let me advice to buy card from ATi (now AMD, anything Radeon HD) or NVIDIA (anything GeForce 8600 and higher ). Intel cards are enough for office use, for game and graphic programming you can find them insufficient.
Petr