OpenGL bump water

I 100 times hear that possible implement “realistic” water using bump mapping technique, but I never so any demo (even without source). Any ideas (even basic) related to OpenGL water implementation with Bump mapping?

P.S. Sorry for my English

I have a couple of demos on my site of bumped water. For instance “Refractions and reflections”. I also have an older “EMBM” demo too which does some water.

Humus, why do you use so much ATI extensions in your demoes?
Nice demoes but I dont have a radeon.

V-man

Originally posted by V-man:
[b]Humus, why do you use so much ATI extensions in your demoes?
Nice demoes but I dont have a radeon.

V-man[/b]

Cos NVIDIA didn’t give him the job

Yeah, nice demos Humus.

[This message has been edited by Adrian (edited 12-21-2002).]

Originally posted by V-man:
[b]Humus, why do you use so much ATI extensions in your demoes?
Nice demoes but I dont have a radeon.

V-man[/b]

I do?
I had to browse back to the second page until I found the first demo relying on an ATi extension. Yes, I do own an ATi card and is developing on that card and have no other card to test on, but I’m pretty much always using ARB extensions unless there’s no choise but to use vendor specific extensions. It seams regardless of how much effort I put into supporting every vendor people will always think I do everything to favor ATi.

Originally posted by Humus:
I do?
I had to browse back to the second page until I found the first demo relying on an ATi extension. Yes, I do own an ATi card and is developing on that card and have no other card to test on, but I’m pretty much always using ARB extensions unless there’s no choise but to use vendor specific extensions. It seams regardless of how much effort I put into supporting every vendor people will always think I do everything to favor ATi.

Probably because ATI is currently the only vendor that supports ARB_f_p, and kind of gives it the “vendor specific” taste to it.

Originally posted by Humus:
I do?
I had to browse back to the second page until I found the first demo relying on an ATi extension. Yes, I do own an ATi card and is developing on that card and have no other card to test on, but I’m pretty much always using ARB extensions unless there’s no choise but to use vendor specific extensions. It seams regardless of how much effort I put into supporting every vendor people will always think I do everything to favor ATi.

EMBM needs GL_ATI_envmap_bumpmap and GL_ATIX_texture_env_route

and the reflection + refraction needs
GL_ATI_fragment_shader

Some of the demoes are using NV register combiners and NV crossbar. You used to have a NV card I imagine?

No, I have never owned a NV card. The register combiners code in some demos are done by carefully reading the documentation and with the help of some online friends to test it for me.
For the EMBM demo, there were no other EMBM extension around at that time. It was written in the time of the original Radeon so no GL_NV_texture_shader existed by then either. For the reflections and refractions demo I don’t think it’s even possible to do on any current nVidia hardware at all. It needs dependent texture reads into two textures plus some further processing after sampling.

Anyway, I don’t think your comments were meant in a bad way, but I’ve heard too many times about how I favor ATi, even for demos that only uses ARB extensions. Especially for the GL_ARB_fragment_program, but it’s certainly not my fault that nVidia currently is a generation behind, but I expect all my fragment program demos to run fine on the GFFX when it comes around.