Problem running a simple shader program

Started by
12 comments, last by noisecrime 19 years, 1 month ago
Shader Experts, I am working on a PC, Windows 2000, Radeon 9800 Pro. For my task, I've decided on programming in the OpenGL Shading Language. For an ATI card, perhaps this may not be a good idea? I've downloaded a sample shader programs from http://3dshaders.com/shaderSource.html (the first one, ogl2brick.zip). When I run ogl2brick.exe, I get error message "OpenGL Shading Language extensions not available" It is produce by the following code in the program:

    if ( !isExtensionSupported( "GL_ARB_shader_objects" )   ||
         !isExtensionSupported( "GL_ARB_fragment_shader" )  ||
         !isExtensionSupported( "GL_ARB_vertex_shader" )    ||
         !isExtensionSupported( "GL_ARB_shading_language_100" ) )
    {
        printf("OpenGL Shading Language extensions not available\n" );
        return 1;
    }
I know my graphics card supports shader but the OpenGL extension names are slightly different (i.e. instead of GL_ARB_fragment_shader, I have GL_ATI_fragment_shader). So, I removed this section of the code and rebuilt the program, but I get the following error when I try to run it: I also get this same error when I try to run the ShaderGen program that I downloaded from http://developer.3dlabs.com/downloads/shadergen/index.htm [Edited by - faculaganymede on March 9, 2005 5:16:51 PM]
Advertisement
Do you have the latest drivers?
| Stein Nygård - http://steinware.dk |
Stein,

Yes, I installed the latest driver, but I did run into an installation error "Zero Display" during installation. I actually got the ATI card just two months ago. I reported this problem to ATI Support.

I download a sample shader program from the ATI site, and it seems to run fine. Puzzling...

[Edited by - faculaganymede on March 9, 2005 8:37:47 PM]
Uhh, if you use ATI fragment shader it is very different than ARB.

I don't know if Radeon 9800 can do fragment_shader or if it only does fragment_program? You might be out of luck and will have to use ARB_fragment_program instead of GLSL.

Don't know much about ATI I don't have any newer cards to work with right now.

I am pretty sure it only does fragment_program, meaning you can't use GLSL with it, but I don't know for sure. I think only new ATI card has arb_fragment_shader.



It does indeed support GLSL... I have a 9800PRO @ home my self, and it works just fine.
Not sure what may be causing these problems...
| Stein Nygård - http://steinware.dk |
GL_ATI_fragment_shader is the old ATI method of doing it (think along the line of NV's register combiners).

If your extension string doesnt list those extensions as availbe then GLSL examples arent going to work and if your drive didnt install properly you might not have the OGL section installed right.

Download and run GLInfo2 and see what you get as the vendor for the drivers (and how many extensions), if it says Microsoft or you have hardly any extensions something is very broken.

and yes, any card which supports D3D9.0 (so the 9500 and up) will support GLSL to some degree for both fragment and vertex shaders.
Ahh ok, cool, I didn't know if Redeon 9800 had it or not. Must be some other problem.


Thanks everybody for your feedbacks.

Please click here to see information about my graphics card, generated by GLinfo2.exe. Do you see any problems?
install new drivers eg
http://www.delphi3d.net/hardware/viewreport.php?report=1295
also even better there are opengl2.0 drivers available today
aaarrggh, i've been checking Rage3d all blimmin day waiting for these and i go and miss it, heh, cheers for the heads up zedzeek

This topic is closed to new replies.

Advertisement