OpenGL1.2 / Win2K

I’m trying to use the GL_EXT_texture3D extension functionality of OpenGL with VC6.0 and Win2K. I’ve installed the Detonator3 driver from NVidia and glGetString(GL_VERSION) returns “1.2.1”. The extension should be part of all OpenGL1.2 implementations. Where can I get the required .lib and .h files ? The Microsoft implementation only supports OpenGL 1.1.
Thanx.

http://www.opengl.org/developers/faqs/technical/gettingstarted.htm#gett0100

The above link is only half the truth. If you load nVidias OpenGL dll into a hex editor, you can see that all 1.2 functions are actually defined. They are just not exported.
I have already seen commercial volume rendering software that exclusively uses nVidia cards, because hardware volume rendering is supported very well.
My conclusion is that nVidia makes these functions only available to selected customers (companies).

The reason why we, the standard MS users, can’t use these functions as easy as any other OpenGL 1.1 function, is because that MS’s implementation of OpenGL, opengl32.dll, does not have the entrypoints for the OpenGL 1.2+ functions, and therefore cannot redirect your calls to the driver. opengl32.dll in it’s current version is stuck at OpenGL 1.1.

There is nothing that stops you from manually loading the functions from the driver. Use wglGetProcAddress to load them, as you would with any other extension function.

No need for conspiracy theories. Just use wglGetProcAddress and you can access all of the 1.2 functions.

  • Matt

The nightmare is going on…

Now, I need to check wether glGetString(GL_VERSION) returns 1.2 or 1.1 in the first three bytes…

If it is 1.2, I need to get the address of glTexImage3D…
If it is 1.1, I need to check for availability of GL_EXT_texture3D and get the address of glTexImage3DEXT if the extension is available…

OK, I’ll do it… I have no choice !

I must say I do not believe a word of MS when they say the OpenGL 1.2 DLLs will ship as part of a bug fix (erm, Service Pack !) for Win2000… Anyway, what about Win9x, WinME and WinNT ???

Has anyone tried Whistler or Blackcombe to check if they have 1.2 DLLs ???

Regards.

Eric

Thank you !

wglGetProcAddress is the solution of my problem. I was 2 weeks looking for something like that.

Speaking of 1.2 DLLs for Windows… Anyone knows if you can compile Mesa3D into a new opengl32.dll to get 1.2+ functionality? Have thought about it for quite a while, but don’t ask me why I never tried…

Bob,

I was actually thinking about it but does MESA use HW acceleration if present ? I mean, does it read the registry and give hand back to nvoglnt.dll if it is present ?

I have the source somewhere so I’ll have a look !

Regards.

Eric

Hi
wiz,I don’t think wglGetProcAddress will help you.As far as I know nvidia cards have no support for 3d textures.TNT also reports
1.2 version.

Michail.

There are a lot of rumors that Visual Studio NET will have OpenGL 1.2. Although it won’t be released until winter. By the way, OpenGL 1.2 is not in the market now because MS gives privileges to DirectX instead of OpenGL.(MS typical). However we still can use wglGetProcAdress and **** MS.

Originally posted by Michail Bespalov:
Hi
wiz,I don’t think wglGetProcAddress will help you.As far as I know nvidia cards have no support for 3d textures.TNT also reports
1.2 version.

Hi Michail !

Well, perhaps your card will not accelerate the use of 3D textures but the driver does support it in software mode !

If speed is an issue, then you have to wait for gfx cards that support 3D textures in hardware…

Regards.

Eric

Originally posted by eigenafx:
There are a lot of rumors that Visual Studio NET will have OpenGL 1.2.

I cannot say for the final version but Visual Studio .NET Beta 1 still has OpenGL headers for version 1.1…

I will try to find some information about that…

Regards.

Eric

>>I don’t think wglGetProcAddress will help you.As far as I know nvidia cards have no support for 3d textures.TNT also reports 1.2 version.

If it supports OpenGL 1.2, it MUST support 3D textures. It’s written in the specifications. Nvidia’s drivers do support 3D textures, since they support OpenGL 1.2.

Hi
Yes,I was wrong.
I use GeForce2 MX.
Yesterday I tried to run RADEONVolVis from Radeon SDK.I removed check for GL_EXT_texture3D string,replaced wglGetProcAddress(“glTexImage3DEXT”) with wglGetProcAddress(“glTexImage3D”). Example just displays a white volume instead of human head but maybe I just broke it.
Is where any examples,demos of 3d textures usage?

Thanks.
Michail.

I happen to have tried the same thing with that same demo, and I can already tell you the problem. Our MAX_3D_TEXTURE_SIZE is 64, the demo requires 128. The demo does not check.

  • Matt