Learning shaders with an older card?

Started by
6 comments, last by MARS_999 15 years, 11 months ago
I would like to start delving into shaders but currently I only have an ATI 9250 (PS 1.4, VS 1.1) and it will be a few months before I can upgrade. So far everything I've written has used the fixed function pipeline, I would like to start learning more about lighting and shadows and implementing them myself. However I have a few questions. Would it be a bad idea to start learning shaders with such an old card? Would I pick up any bad habits or would it just be a waste of time?. IIRC I would have to use asm shaders instead of GLSL? I have no problem with using asm if I have to as I would still be able to learn how to do things. If I do have to use asm could anyone recomend a reference or tutorial? Everything I've read so far deals with GLSL. Thanks for reading.
Advertisement
Try this thing:

NVemulate
Quote:Original post by valentin-galea
Try this thing:

NVemulate


NVEmulate is for people who have nVidia cards.

I would suggest to the OP to upgrade the GPU. If you really can't do it, download Mesa which support GL 2.1

It is a software rasterizer
http://www.mesa3d.org
Sig: http://glhlib.sourceforge.net
an open source GLU replacement library. Much more modern than GLU.
float matrix[16], inverse_matrix[16];
glhLoadIdentityf2(matrix);
glhTranslatef2(matrix, 0.0, 0.0, 5.0);
glhRotateAboutXf2(matrix, angleInRadians);
glhScalef2(matrix, 1.0, 1.0, -1.0);
glhQuickInvertMatrixf2(matrix, inverse_matrix);
glUniformMatrix4fv(uniformLocation1, 1, FALSE, matrix);
glUniformMatrix4fv(uniformLocation2, 1, FALSE, inverse_matrix);
Quote:Would it be a bad idea to start learning shaders with such an old card? Would I pick up any bad habits or would it just be a waste of time?

You can play a bit with PS 1.4. You are doomed do assembler shaders, but it's a good opportunity to learn some older techniques as well as assembly shader language. For vertex shaders, you can still use high level tools.

Quote:IIRC I would have to use asm shaders instead of GLSL?

Yes, but not quite. In OpenGL PS 1.4 is available through a bit strange ATI extension, which doesn't parse shaders, but require tons of function calls similar to setting texture stages. These function calls correspond almost completely to Direct3D pixel shader 1.4, but writing shaders as function calls probably won't be fun and you'll probably have to make some kind of parser and wrapper for it.

Quote:If I do have to use asm could anyone recomend a reference or tutorial?

DirectX SDK is a good reference for pixel shader 1.4 assembly code and for the ATI extension you can find its specification on opengl.org.
I don't want to be to rude, but for $40 you can get a Gfx card that is DX10 compliant and will allow you to play with GLSL and the newest features. Is $40 to much?

That price includes 8400, 2600, videocards.
Quote:Original post by MARS_999
I don't want to be to rude, but for $40 you can get a Gfx card that is DX10 compliant and will allow you to play with GLSL and the newest features. Is $40 to much?

That price includes 8400, 2600, videocards.


I'm pretty sure he needs to find a AGP card. An older Gf 6600 AGP 8X would be better.
Sig: http://glhlib.sourceforge.net
an open source GLU replacement library. Much more modern than GLU.
float matrix[16], inverse_matrix[16];
glhLoadIdentityf2(matrix);
glhTranslatef2(matrix, 0.0, 0.0, 5.0);
glhRotateAboutXf2(matrix, angleInRadians);
glhScalef2(matrix, 1.0, 1.0, -1.0);
glhQuickInvertMatrixf2(matrix, inverse_matrix);
glUniformMatrix4fv(uniformLocation1, 1, FALSE, matrix);
glUniformMatrix4fv(uniformLocation2, 1, FALSE, inverse_matrix);
Thanks for the info so far.

My usual computer died so at the moment I'm stuck with a crappy Dell with no AGP slot, hence the 9250 PCI. I start a new job soon so I'm waiting until I have enough to buy a complete new set of parts (PCI-E, Core2Duo etc.)

I few more questions then I should be set :)

Would I need a certain version of the DX SDK for the asm examples or would the most recent do? Could someone point me where to look for the ATI extension on the opengl site? I always get lost there :/

Thanks again.

http://www.opengl.org/registry/

You can use the DX SDK and just make sure you compile it for the PS version you have available.

This topic is closed to new replies.

Advertisement