Download OpenGL

Hello
Where can i download OpenGL?
Cus when i install the nvidia driver, i get version 1.2, but i want version 1.4(or higher).
I bought the OpenGL programming guide 1.4, but i cant use much of the things(like mutlisampling, glRotatef, glTranslatef, ppoints)
So where can i download it?
Thanx Hylke

Originally posted by Hylke Donker:
Hello
Where can i download OpenGL?
Cus when i install the nvidia driver, i get version 1.2, but i want version 1.4(or higher).
I bought the OpenGL programming guide 1.4, but i cant use much of the things(like mutlisampling, glRotatef, glTranslatef, ppoints)
So where can i download it?
Thanx Hylke

You can download the nvidia driver under http://www.nvidia.com/object/linux.html. It’s 1.5, so new enough for you.

I’ve downloaded the newest driver, and when i type:
sh ./NVIDIA-Linux-x86-1.0-6111-pkg1.run -X
I get a directory called:
NVIDIA-Linux-x86-1.0-6111-pkg1
When i check out the glext.h from that directory, i found this piece of text:

** Additional Notice Provisions: This software was created using the
** OpenGL® version 1.2.1
And how can you explain that multisampling, fog coordinates, point parameters, translating and things like that doesn’t work(even though i’ve installed the newest nvidia driver)?

Isn’t there anyone that knows where i can download the OpenGL source(so i can compile it)?
Thanx Hylke

Yeah, go for mesa3d.org but that is not what you want.

nope, i just want the OpenGL tar bal :slight_smile:

When i check out the glext.h from that directory, i found this piece of text:…
It doesn’t really matter what’s here. Search for some tokens to see if they are in the file.

And how can you explain that multisampling, fog coordinates, point parameters, translating and things like that doesn’t work…
What do you mean?
Existing apps won’t use feature X if they were not designed with feature X in mind. This means, existing apps won’t get fog unless the app supports it directly.
Do you mean you cannot call any GL function? Is this at least coding-related?

Isn’t there anyone that knows where i can download the OpenGL source(so i can compile it)?
Who knows won’t give it to you. While you can get mesa or other sw renderers, hw implementations are full of industry secrets which are not given away so easily.
OpenGL is “open” in the sense of “open standard” not “open source”.

Originally posted by Obli:
[b] It doesn’t really matter what’s here. Search for some tokens to see if they are in the file.
What i got from gl.h
#define GL_VERSION_1_1 1

What do you mean?
Existing apps won’t use feature X if they were not designed with feature X in mind. This means, existing apps won’t get fog unless the app supports it directly.
Do you mean you cannot call any GL function? Is this at least coding-related?
Yes this is coding-related, lot of functions just don’t exist.

Who knows won’t give it to you. While you can get mesa or other sw renderers, hw implementations are full of industry secrets which are not given away so easily.
OpenGL is “open” in the sense of “open standard” not “open source”.[/b]
Oh, i thought it was Open Source.

Originally posted by Hylke Donker:
What i got from gl.h
#define GL_VERSION_1_1 1

I mean to search for specific GL tokens such as TEXTURE_CUBE_MAP or GENERATE_MIPMAP, or for some specific functions.
Anyway, if you are sure your header is old you have two possibilities:
1- Download a new one. I guess I got mine from nvidia support site but I’m not sure.
2- (raccomanded) - Stick with extensions. That’s a linux forum but you should really think twice before using features which are non-core on win.

Originally posted by Hylke Donker:
Yes this is coding-related, lot of functions just don’t exist.
All right. If they don’t exist at compile time, installing the new header should do the trick.
Make sure to link with… uhm, it should be -lGL (not sure) in case it’s a linking error.

Originally posted by Obli:
I mean to search for specific GL tokens such as TEXTURE_CUBE_MAP or GENERATE_MIPMAP, or for some specific functions.
Anyway, if you are sure your header is old you have two possibilities:
1- Download a new one. I guess I got mine from nvidia support site but I’m not sure.
So only the headers are opensource :slight_smile:

2- (raccomanded) - Stick with extensions. That’s a linux forum but you should really think twice before using features which are non-core on win.
Sorry, but i dont really understand what you mean.
Do you mean i should only use OpenGL linux versions that doesn’t work on Windows?

All right. If they don’t exist at compile time, installing the new header should do the trick.
Make sure to link with… uhm, it should be -lGL (not sure) in case it’s a linking error.[/QB]
i always have -lGL added to my set of libraries :-p

Can you please tell me where i can find the headers from the nvidia website?
I’ve nvidia.com using there search engine and using google, but couldn’t find it.
Hylke

The X11R6 GL headers are located in /usr/includes and libs are located under /usr/X11R6/lib whereas the nvidia specific headers are installed in /usr/share/doc/NVIDIA_GLX-1.0/include/GL/ and the libraries are installed in /usr/lib

[patrick@wakko patrick]$ locate libGL
/usr/X11R6/lib/libGL.so.1
/usr/X11R6/lib/libGLU.so.1
/usr/X11R6/lib/libGL.so.1.2
/usr/X11R6/lib/libGLw.a
/usr/X11R6/lib/libGLU.so
/usr/X11R6/lib/libGL.so
/usr/X11R6/lib/libGL.a
/usr/X11R6/lib/libGLw.so.1.0
/usr/X11R6/lib/libGLU.so.1.3
/usr/X11R6/lib/libGLw.so.1
/usr/X11R6/lib/libGLU.a
/usr/X11R6/lib/modules/extensions/libGLcore.a
/usr/lib/libGL.so.1
/usr/lib/libGLU.so.1
/usr/lib/libGLcore.so.1
/usr/lib/libGL.so.1.0.6111
/usr/lib/libGLU.so
/usr/lib/libGL.la
/usr/lib/libGL.so
/usr/lib/libGLcore.so.1.0.6111

[patrick@wakko GL]$ locate GL/gl

/usr/include/GL/glxproto.h
/usr/include/GL/glxint.h
/usr/include/GL/glu.h
/usr/include/GL/glxtokens.h
/usr/include/GL/glxext.h
/usr/include/GL/glx.h
/usr/include/GL/gl.h
/usr/include/GL/glut.h
/usr/include/GL/glext.h
/usr/include/GL/glsmap.h
/usr/include/GL/glxmd.h
/usr/share/doc/NVIDIA_GLX-1.0/include/GL/glxtokens.h
/usr/share/doc/NVIDIA_GLX-1.0/include/GL/glx.h
/usr/share/doc/NVIDIA_GLX-1.0/include/GL/gl.h
/usr/share/doc/NVIDIA_GLX-1.0/include/GL/glext.h

You probably just need to change your library search location from -L/usr/X11R6/lib to -L/usr/lib when using -lGL.

If running gentoo you can use the

opengl-update nvidia

command to force builds to use the nvidia driver libs. At least it seems to work…

Originally posted by shinpaughp:
[b]The X11R6 GL headers are located in /usr/includes and libs are located under /usr/X11R6/lib whereas the nvidia specific headers are installed in /usr/share/doc/NVIDIA_GLX-1.0/include/GL/ and the libraries are installed in /usr/lib

[patrick@wakko patrick]$ locate libGL
/usr/X11R6/lib/libGL.so.1
/usr/X11R6/lib/libGLU.so.1
/usr/X11R6/lib/libGL.so.1.2
/usr/X11R6/lib/libGLw.a
/usr/X11R6/lib/libGLU.so
/usr/X11R6/lib/libGL.so
/usr/X11R6/lib/libGL.a
/usr/X11R6/lib/libGLw.so.1.0
/usr/X11R6/lib/libGLU.so.1.3
/usr/X11R6/lib/libGLw.so.1
/usr/X11R6/lib/libGLU.a
/usr/X11R6/lib/modules/extensions/libGLcore.a
/usr/lib/libGL.so.1
/usr/lib/libGLU.so.1
/usr/lib/libGLcore.so.1
/usr/lib/libGL.so.1.0.6111
/usr/lib/libGLU.so
/usr/lib/libGL.la
/usr/lib/libGL.so
/usr/lib/libGLcore.so.1.0.6111

[patrick@wakko GL]$ locate GL/gl

/usr/include/GL/glxproto.h
/usr/include/GL/glxint.h
/usr/include/GL/glu.h
/usr/include/GL/glxtokens.h
/usr/include/GL/glxext.h
/usr/include/GL/glx.h
/usr/include/GL/gl.h
/usr/include/GL/glut.h
/usr/include/GL/glext.h
/usr/include/GL/glsmap.h
/usr/include/GL/glxmd.h
/usr/share/doc/NVIDIA_GLX-1.0/include/GL/glxtokens.h
/usr/share/doc/NVIDIA_GLX-1.0/include/GL/glx.h
/usr/share/doc/NVIDIA_GLX-1.0/include/GL/gl.h
/usr/share/doc/NVIDIA_GLX-1.0/include/GL/glext.h

You probably just need to change your library search location from -L/usr/X11R6/lib to -L/usr/lib when using -lGL.

If running gentoo you can use the

opengl-update nvidia

command to force builds to use the nvidia driver libs. At least it seems to work…[/b]
The problem is, the newest nvidia driver, has only old headers.
So i need the newest headers.

Originally posted by Hylke Donker:
Sorry, but i dont really understand what you mean.
Do you mean i should only use OpenGL linux versions that doesn’t work on Windows?

No, I am saying just the opposite. There are good reasons to use only GL versions that work on win32.
I (wronly) assumed you knew what ‘extensions’ are. Basically it’s a way to ‘upgrade’ openGL 1.1 up to 1.5 and even to 2.0 at runtime. Well, it’s not so easy but we can discuss this another time.

Originally posted by Hylke Donker:
i always have -lGL added to my set of libraries :-p
So I guess you mean it’s compile time error. Well.
I guess I got my header files at
http://cvs1.nvidia.com/inc/GL/

Thanx

I use only the headers provided by the driver and they are good enough for me.
It is just that NVIDIA split their headers in gl.h and glext.h and all above OpenGL 1.1 is defined in glext.h.

cat /usr/include/GL/glext.h |grep ‘#define GL_VERSION’
#define GL_VERSION_1_2 1
#define GL_VERSION_1_3 1
#define GL_VERSION_1_4 1
#define GL_VERSION_1_5 1

Looks new enough to me.

From the README included in the driver:

Q: Where can I get gl.h or glx.h so I can compile OpenGL programs?

A: Most systems come with these header files preinstalled. However,
NVIDIA provides its own gl.h and glx.h files which get installed
in /usr/share/doc/NVIDIA_GLX-1.0/include/GL/. To use these
files, either manually copy them into /usr/include/GL/,
or instruct the installer to install these files in
/usr/include/GL/ by passing the ‘–opengl-headers’ option to the
NVIDIA-Linux-x86-1.0-6111-pkg1.run file during installation.

Of course glext.h will also be copied but I think they did not update that README file.

hih

Hello
I’ve put the new headers in the directories that contain the gl headers, but it still didn’t work.
So i put my source file(fogcoord.c, which i got from the downloads of my opengl book) in the directory /usr/include/GL, removed the GL/ things from the includes and replaced the < and > in to ", but it still says:
fogcoord.c:103: error: `glFogCoordf’ undeclared(first use this function)
Even though glFogCoordf is declared in gl.h:
void APIENTRY glFogCoordf (GLfloat fog);
So what the f*ck is going on?

No body?

if you want to opengl source that’s open source*, get the xfree or xorg-x11 [which ever X display you use] and dig there. you can get them at http://www.xfree.org and http://www.x.org, respectively. review both licenses from their sites.

now, as far as a true open source opengl library, you’re best bet is mesa3d. why is this? well think about it - no company [at least not yet] will give code that they have invested tons of money into, for free. second, to reveal code COULD reveal potential flaws on their respective graphics cards. if you’re looking for a certain feature, it’s best to review books [granted that they have what it is you’re looking for] or search online. if you do search online, try search for university and/or white papers. you are more likely to get results that you want that way than just some random tutorial site [not that tutorial sites are bad].

I doubt that was the answer you were looking for, but I hope that helps nonetheless

:regards:

I went to my local LUG, and they found out for me that i need to put:
#define UNIX
at the top of my source code, and now everything works fine.
Thank you all, for your help.
Nice regards Hylke