register combiners vs. environment combine


environment combine is vendor independant. However i get very low FPS with my test app. Therefore i´d like to ask, if texture shaders and register combiners may be faster doing the same thing (lighting and bump-mapping).
Do Ati and nVidia optimize their own extensions more than arb or ext extensions? I would expect this.


Doubt it - the extra modes exposed in the env_combine extension map very cleanly onto register combiner states, so they would follow the same path, I would expect.

Is Register combiners definitly your bottleneck? Given they work on fragments, half your window size and see if this improves performance. If it does, then you’re fillrate limited, and need to try and reduce the amount of pixels you’re writing.

Rc are faster if using second combiner with some equations. My lighting system uses arb and rc, both run at same speed with rc able to do higher power specular. arb = 10th power and rc = 16th power approximately. D3d = 2nd power which looks washed out because of the huge specular reflection area. D3d really needs crossbar, actually the api needs total rewrite imo. GL is also about 1.5-2x faster than d3d I’ve noticed in my app.