Advertisement

Opengl 1.2+

Started by January 12, 2002 09:24 AM
8 comments, last by pauljg 23 years, 1 month ago
Can someone please help me out here, I'm getting in a bit of a mess ! Why cant I find the latest versions of the OpenGL SDK, every one I've found is for either 1.0 or 1.1 ! Unless you've got the latest version you cant have access to some of the newer commands like GlRangeDrawElements. I've got the book OpenGL Games Programming that claims to have the 1.2 version with it, but its only 1.1 !!. Even the official OpenGL site only has 1.1 for downloading, I've tried the Microsoft site, since I was told by a friend that they now own it. Although they have some tutorials - still no SDK download for it. My intention is somehow get it to work with the free MingW32 compiler (DEV-C). Help !!! Edited by - pauljg on January 12, 2002 10:26:36 AM
Microsoft ONLY supports OpenGL 1.1 on it''s Windows platforms. some video card vendors have their own SDK''s with support for OpenGL 1.2+. for instance, if you have a Geforce/2/3 goto "www.nvidia.com" for further information. don''t know about other cards as i have a Geforce2.

To the vast majority of mankind, nothing is more agreeable than to escape the need for mental exertion... To most people, nothing is more troublesome than the effort of thinking.
To the vast majority of mankind, nothing is more agreeable than to escape the need for mental exertion... To most people, nothing is more troublesome than the effort of thinking.
Advertisement
All functions from 1.2 and 1.3 are exposed through the extension mechanism. Do a search on NVIDIA for extensions, or OpenGl.org, or nehe.gamedev.net or google etc - there is a lot of information available.
quote:
Original post by pauljg
Even the official OpenGL site only has 1.1 for downloading, I''ve tried the Microsoft site, since I was told by a friend that they now own it.

Make sure to tell your friend that they''re misinformed. Otherwise, everything said in response so far is true.

[Resist Windows XP''s Invasive Production Activation Technology!]
Thanks Gents,

I''ve sorta figured a few things out, but ended up again in corner. I can see that you need the extentions for things like multitexturing, which compiles up fine - but as for the extra instructions such as ''GlRangeDrawElements'' isnt included with them.

The official doc''s say its only supported in 1.2 upwards, but if I cant get at it, then there''s little reason why they should put it in the book in the first place.

The second reason I want to use it, and probably which can be sorted out another way is when drawing textured object I want to use different textures on different parts of the same mesh. Using the Range command I can bind the texture before drawing a certain part, then switch textures and repeat. But without access to it, it means working with loads of separate arrays even when only rendering one object.
quote:
Original post by pauljg
The official doc''s say its only supported in 1.2 upwards, but if I cant get at it, then there''s little reason why they should put it in the book in the first place.

You *can* get at it, as long as your video card supports it, and any card with 1.2 compliant drivers will. The sample code for that chapter shows you how to do it.

Advertisement
ermm.. not with DEV-C I dont seem to be able to.

I get the error:

implicit declaration of function ''int glDrawrangeElements(...)''

Multitexturing works fine, but this line doesnt.

ACTUALLY..UPDATE..

Downloaded the Nvidia opengl sdk and the glDrawra.. instruction is mentioned in the header GL, compiling now gives me a different error:

undefined reference to ''glDrawRangeElements@24''

I can only guess that I''m getting this error because it isnt in the lib ?

Thanks for your time.
Define a functionpointer, and load it with wglGetProcAddress, like you do with any extension function.
go char *ver = glGetString( GL_VERSION ) if it returns 1.2 or higher than u CAN use range elements (though u will have to set them up like otheres have said )
I''ve got it working !, Thanks Gents.

I was also running SDL with it that didnt help, finally I twigged that maybe you have to call the routine differently because of it. And YEAP.. only a slight change but it made the difference.

glDrawRangeElements=(PFNGLDRAWRANGEELEMENTSEXTPROC) SDL_GL_GetProcAddress("glDrawRangeElements");

Thanks for not giving up on me, I got there in the end.

This topic is closed to new replies.

Advertisement