Questions about switching to GL 3.3.

Started by
7 comments, last by SeaBourne 13 years, 6 months ago
I've been a opengl programmer.
But not until yesterday did I realized that I've been doing things in an outdated fashion..

I've been using gl2.2 all along. I have used cg though..

Anyway, now I consider to switch to 3.3 and I've encountered some problems.

1, I'm using the windows platform. And my video device support 3.3. How do I use the 3.3 version? Do I need to download the newly released "gl3.h" header??
If not, where can I download the newest gl header file and libiary and dll? Mine were shifted with WIN7, but I guess they are seriously outdated..

2, The projects I've done all contain old fixed functional code such as "glLoadIdentity()". Does updating them necessarily require me to modify my code?

3, I've been used to use the CG as my shading language..(like the effect system). So is it compatible with gl3.3, and can it exert the new features of 3.3??

4, I'm not quiet familar with the "current way" of rendering in GL.. Is it bascally just VBO+shaders? And use the GLM library to manipulate the matrix?

5, Trying to render the DXUT-like UI...any suggestions..??

And at last...What's usage the glext.h and wglext..? I only use glew, and it seems enough..Also can u guys recommend some good libiary for loading texture, models..etc..

[Edited by - shiqiu1105 on September 30, 2010 3:37:55 AM]
Advertisement
1. New headers can be found here: http://www.opengl.org/registry/
2. Depends on whether you use the core or the compatibility profile.
3. I don't know for sure, but I would be surprised if not.
4. yes.
5. Qt. (It's painting engine has an OpenGL back-end which can render all GUI elements, the new Qt version can also create an OpenGL 3 context.)*
6. Keep using Glew, there is no need to bother with the extension system.


* Recently I was pointed to the tutorial
http://sol.gfxile.net/imgui/ch01.html
on Immediate Mode GUIs, I have seen an implementation in about 800 lines of code which worked very well. There are also other libraries like CEGUI but I don't know whether there are OpenGL 3 compatible or not.
On the registry page I only found glext.h and wglext.h...not the latest gl.h though...


And ..I guess I will pass QT, because it seems to me that it's too big a library...kinda a new lib rather then using ogl..

And I've heard that ogl is more and more like DX, which means all the states is stored in a state object..

Are there some tutorial about the state object?
Quote:Original post by shiqiu1105
On the registry page I only found glext.h and wglext.h...not the latest gl.h though...

Scroll down a little bit. In section "Draft gl3.h Header" there is a link to the gl3.h .

I know. But it is a beta version that's been released to collect feedback right?

I mean the gl.h, not gl3.h.

Or there is no need to update gl.h at all as long as I use glew?
You don't need a new version of gl.h. Just update Glew.
Let me just say this: IT IS WORTH IT. I recently made the transition from GL2 to GL3. There are random barriers and problems during the transition process, but once you break past those issues, it is quite liberating.
Amateurs practice until they do it right.Professionals practice until they never do it wrong.
There is also the Wiki http://www.opengl.org/wiki

which has a tutorial page for GL 3.0, 3.1 and 3.2.
Making a 3.3 context is nothing different.
http://www.opengl.org/wiki/Tutorials
Sig: http://glhlib.sourceforge.net
an open source GLU replacement library. Much more modern than GLU.
float matrix[16], inverse_matrix[16];
glhLoadIdentityf2(matrix);
glhTranslatef2(matrix, 0.0, 0.0, 5.0);
glhRotateAboutXf2(matrix, angleInRadians);
glhScalef2(matrix, 1.0, 1.0, -1.0);
glhQuickInvertMatrixf2(matrix, inverse_matrix);
glUniformMatrix4fv(uniformLocation1, 1, FALSE, matrix);
glUniformMatrix4fv(uniformLocation2, 1, FALSE, inverse_matrix);
Quote:Original post by shiqiu1105
And ..I guess I will pass QT, because it seems to me that it's too big a library...kinda a new lib rather then using ogl..


I don't know why not? It makes it easier to create a Windows and has classes like QMatrix2x2, QMatrix3x3, QMatrix4x4, QVector2D, QVector3D, QVector4D, QQuaternion and also Shader classes. So I think it'd be nice to use especially with it's other modules. It's better than have a crap load of other dependencies. That's just my opinion. Btw it's Qt not QT.

This topic is closed to new replies.

Advertisement