Getting at 9700 fragment shader goodies

Warning - OpenGL novice and first post!

I’ve been floundering around trying to get started with programming the 9700 fragment shaders in assembly. My project requires the 4 simultaneous target outputs, floating point buffers and multiple passes so I need to get at the ‘Full Monty’

I’ve written some shell OpenGL code and have vertex and fragment shaders running with GL_VERTEX_PROGRAM_ARB & GL_FRAGMENT_PROGRAM_ARB.

What I’m really looking for is an explanation (or better yet - sample code) that shows me how to:

  1. Use floating point textures and rendering targets
  2. Set up the 4 targets for the output of the fragment shaders, both for separate buffers and (if possible) interleaved (4 float pixels written per pass)
  3. Perform multi-pass where output targets are inputs to subsequent passes

I think that’s enough to get me started

Thank you for helping a novice out!


On the 9700 there isn’t floating point support offically yet. Same goes for multiple render targets (which is enabled via an option in ARB_f_p).

From the sound of it, you want to deferred shading…

[This message has been edited by NitroGL (edited 11-15-2002).]

The latest driver has the required extension (I think at least, it looks so from the extension names). Now we only need specs …

Yeah, GL_ATI_texture_float and WGL_ATI_pixel_format_float. I’ve been able to get both to work, but correctly? Not really. But I suppose that’s the reason they don’t have any specs yet.

WTF… I’ve YET to find a driver that has ARB_fragment_program… Where do I get one?


Try the DX9 drivers that were released on the 13th. You’ll probably have to install the DX9 RC0 beta, but you might be able to use just the OpenGL ICD from that set with the offical .6200 drivers (only on Win2k/XP though).