New ARB OpenGL Extension: ARB_fragment_program_shadow

Ostsol

Veteran
http://oss.sgi.com/projects/ogl-sample/registry/ARB/fragment_program_shadow.txt

It's an extension to ARB_fragment_program that introduces a new texture type for texture sampling: SHADOW1D, SHADOW2D, and SHADOWRECT. Using these not return a sampled pixel, but instead will perform a depth comparison between the sampled pixel and the z-coordinate provided in the texture coordinate. Basically, it does exactly what ARB_shadow defines, but explicitly in a fragment program. Of interest is that by using this one disables ARB_shadow. I've read that ATI cards cannot use ARB_shadow and ARB_fragment_program on the same surface, anyway.

Also of note is that this functionality is already present in GLslang.
 
It is not true that ATI cards cannot support ARB_shadow and ARB_fragment_program simultaneously. The fragment program spec was written to ignore shadow state because it has funny interactions with the textures and can be more expensive than a regular fetch. What this extension does is effectively clean up shadows a bit like was done in GLSL, so that they are identifiedas requiring extra coordinates and operations.

-Evan
 
ehart said:
It is not true that ATI cards cannot support ARB_shadow and ARB_fragment_program simultaneously. The fragment program spec was written to ignore shadow state because it has funny interactions with the textures and can be more expensive than a regular fetch.
Ah, thanks! I wasn't sure on that point. . .
 
Back
Top