Getting started -- drivers, libraries, and headers oh my

i’m a long time opengl enthusiast… but if there is anything i can’t stand about it, it is the fact that every time i need to get new libraries it is a living hell.

why is there no easy to find central resource online for keeping up with opengl software developments? you can’t even get libraries on best i can tell.

essentially i’m trying to bring my graphics hardware programming environment up to speed. last time i was programming gpus i was using nvidia Cg… now it looks like ‘glslang’ is pretty standardized, and nvidia is using it and the related API for its opengl demos.

right now i’m just trying to get the latest nvidia sdk demos to run.

i’m getting this message:

“Necesarry extensions unsupported” GL_ARB_shader_objects GL_ARB_vertex_shader GL_ARB_Fragment_shader"

i had hoped installing the newest nvidia drivers would at least alleviate issue for running demos. but it didn’t.

as far as i know, the sdk just runs pre-compiled dlls against the browsers executable.

what am i missing to run these demos… or get my card, a QuadroFX, to recognize these extensions.

i also need to be able to compile for ‘glslang’, so i’m assuming i will need new libraries and headers. where can i get these, why are they not distributed with drivers and SDKs?

if nothing else, maybe someone can email the smaller hard to find resources.

if my assumptions are mistaken somewhere please let me know.



With the newest drivers QuadroFX (or at least Quadro FX 1000) should support these extensions(see - hardware registry)

As far as I know , you compile glslang in runtime though GL_ARB_shading_language_100,GL_ARB_shader_objects,GL_ARB_fragment_shader and GL_ARB_vertex_shader. You create a ProgramObject. Then you create shader objects for vertex and fragment shaders, feed them with source data, compile and attach them to the programobject. Then you link it. That’s it. Everything done by the driver. All you have to have is the function prototypes and constants. I don’t program in C so I don’t know where to find these headers, but you can write your own based on the spec.
By the way - you use Cg. I read somewhere that nVidia Cg compiler can compile glSlang (with certain profile), and that their driver can compile Cg (by using glSlang functions - with GL_EXT_Cg_shader or something like that).
See you!

thanks for the info.

i think the drivers i downloaded didn’t take. they were marked beta, but had a higher version number. i installed them but my drivers are still marked with older versions in the registry. i’m downloading the normal drivers now. i have a feeling they will work.

i don’t think the extension support has to do with the glslang code being compiled at runtime.

for compiling i will probably just look for newer versions of the various 3rd party extension handling libraries as i figure at the least they will have decent embedded headers.

as for Cg i just used it because that was all there really was at the time under my circumstances… glslang fills the same void, and i’d rather use it for political reasons mostly.

as for libraries, i’m not sure if opengl32.lib ever changes. i think maybe it is just responsible for run time linkage against the drivers. i don’t really have a clear picture of how all of this works in my mind… i generally just do what it takes to get everything working and move on. if anyone can offer some insight i would apreciate it.

i hope these new drivers work out well, they are about twice as large as the others, so i figure there has to be something extra in there.

thanks again.



I assume you’re on windows since you’re talking about opengl32.lib. On windows, opengl32.lib never changes, it just links to opengl32.dll. The easisest way to get started with OpenGL extensions is probably to use GLEW , it’s a library that gives you very easy access to all the OpenGL extensions you’re likely to need.

yeah i use glew, just been a while since i’ve done any real hardware graphics programming… will need to find a newer version of glew.

i work with debian linux too… but development with linux is a real chore. linux is loosing the os battle it seems because its development environment is non-existant, and graphics support a real hassle at best.

wish i could dump windows, but i keep coming back because managing large projects in linux is time consuming. i’m working on a custom ide environment along with some other work i do. maybe in a couple years i will have the tools i need to work comfortably with linux.

anjuta looks like a promising linux ide, but needs at least a couple changes to even be functional. i would fix it myself, but i’m in the middle of nowhere on a dialup modem, and keeping on the bleeding edge of debian devopment is impossible without a decent internet connection.



oh, i guess i should’ve added that i just now managed to get that driver downloaded, 3rd try – nvidia resets its server too often for dial-ups… anyhow the demos are working fine now.

i guess i will be off to track down that glew project now.

while i’m here though… back to linux development if anyone is interested? know of any good cross compiler setups? i don’t really have a network, just a duel boot machine with a shared fat32 disk… been a while since i have more than one development machine functioning at a time. any affordable way to emulate X with win2k? what is cygwin like these days?



This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.