Quote:Original post by circlesoft
What sucks is that ATI has made it quite hard for devs to support SM3, due to the fact that pretty much everyone wants to use vertex texturing. Now, you not only have separate paths for SM1, SM2, and SM3, but also SM3 w/ vertex texturing (Nvidia) and SM3 w/ stream output (ATI).
TBH, if I could only have one, I'd rather have render to vertex buffer than vertex texture read... the former is a superset of the latter's functionality, and even with the additonal pass, it's still going to be way faster just because of the way that current GPUs are designed (once they all have unified shaders, filtered reads in the vertex shader will be just as fast as the fragment shader).
That said I agree that having to write a different code path is really annoying.
Still, the lack of fp16 filtering is my biggest complaint about the new ATI cards. I don't mind if they do it in shader code internally (better to have programmable hardware than static interpolators that can get wasted!), but they NEED to do that for the developers at some point. Sure bilinear is easy to write oneself, but aniso and mipmapping? Possible, but annoying...