Vertex and Pixel shaders don't work on my Radeon 9200SE

I don’t know why but most vertex and pixel shader programs don’t work on my card. Is there something I am doing wrong - the box clearly states that the card supports pixel shader 1.4

I’ve never realy played with shaders, as my card is too old but maybe you need newer drivers? You could check ATI’s website. Also just a hunch but from what I’ve read in previous posts I think you can’t fully support shaders. Hope I’m wrong though :slight_smile: Good luck

GL_ARB_fragment_program
is equivalent to d3d ps2_x, so those shaders wont work. however you can use GL_ATI_text_fragment_shader

the high level shaders wont work on your card. however the guy who wrote the XEngine (open source) put a translator into his engine, that allows Cg programs to be compiled into ATI_text_fragment_shader

you might want to look into that, if you want to play with Cg

else use ARB_vertex_program and ATI_text_fragment_shader…

the weird part is that cg programs usually can work and do work with directX.

check the following demo - it’s a DirectX program that works with cg. The only problem is that the OpenGL equivalent does not run on my hardware.

goto http://www.codesampler.com/source/dx9_cg_simple_vs2ps.zip

for the DirectX version and

http://www.codesampler.com/oglsrc.htm

for the openGL version.

the reason for this is that the cg compiler is heavily “nvidia-oriented” that means especially output to older generation cards is in OpenGL exclusive to Nvidia, as they use their own extensions to get the effect done.
While ATI would have similar extensions at lower end, there is no support in the compiler for them yet…

the DirectX version of Cg (might as well use HLSL) doesnt have that problem as dx takes care of how the effect is drawn, and dx doesnt have the issues with all those vendor specific extensions…

I have a radeon 9200se too and it’s a “bad” video card :frowning:

I dont think its the card, but more the fact that OpenGL has no “pixel shader 1.x” ARB extension, just vendor specific ones.