An ati alternative to Register Combiners?

I’ve been thinking a lot lately about adding per-pixel lighting/dot3 bumpmapping to my engine. I’ve looked at a few tutorials but they all seem to use the nVidia specific register combiners. I know there’s gotta be an alternative for ati users. Can someone please help?

There’s this GL_ARB_texture_env_dot3 for just dot3 operation. For something more comparable (and actually superior) to reg combiners you have GL_ATI_fragment_shader.

A lot more superior IMO. Combiners are a nightmare. ATI’s fragment shaders are a lot more comparable to a real language, so easier to understand and to use…


and of course, if you want to be modern:
implement GL_ARB_fragment_program and GL_ATI_text_fragment_shader. makes it even more easy (at least, both use the same code except the actual shader text…)

i have assembled a little demo for card-independent dot3-bumpmapping using the ARB-extension.