Although GeForce3 has less texture combiners and not as flexible per-pixel operations as the Radeon 8500, it currently has 1 very strong advantage over 8500, which is the ability to do percentage-closest filtering & compare on 16/24 bit single-value textures (e.g. proper sampling/comparing from depth-buffers to do shadow-mapping).
On 8500, i’ve tried two approaches which look a magnitude worse than what i can acheive on the GF3.
The first is taken from the Nvidia GF2 technique which approximates a 16bit depth compare via 2 8bit compares. This requires more bandwidth than the GF3 approache since i have to render depth to the color buffer or do a costly copy_depth_buffer_to_texture.
The second approach iterates a distance-field RGBA8888 “object_id” and does the same comparision as above with 4 compares (which actually works well for cube-map-point-lights). However, either i point-sample the object_id and its edges are pixelated compared to the GF3 sampling (where i get a 0…1 fall-off value), or i bilinear sample the 8500 object_id, but it leaks horribly onto unshadowed/incorrect surfaces.
Has anyone else attempted to do image-based shadowing on an 8500?
Does anyone know if ATI intends on exposing anything else for the 8500?
[ Back when Radeon first appeared, i wrote devrel@ati about the api-absent object-id 32bit compare texture-sampling yet i never receieved a response. They had screenshots and DX7 code on their site about it, but it never materialized. ]