Zeno said:I second what Ruined said. I'd also like to add that this isn't dynamic branching and it isn't a generic replacement for such. It is a special case which requires switching a bunch of render states and sending all the geometry through the pipe again. It's a hack.
I'm not saying it's not a nice technique, but why do you try to mislead people and say that it is more than it is, and that NVIDIA is "pwned"? If this is true then I expect ATI will be pushing this technique in the future and scrapping development of any SM 3.0 hardware now that you've single-handedly made it obsolete, right?
I respect your opinion Zeno, but this is actually not just a hack. It is that generic. It is a well-known fact that with only minor extensions to the GL you can implement a full shading language. That of course doesn't mean you shouldn't improve hardware. I'm not saying ps3.0 is useless, like nVidia have done in the past with so many features and later found themselves in the awkward situation of lacking a valid reason why they are supporting these features in later generation when they supposedly were useless. It's one thing to say that something is useless (which I'm not going to do), and something entirely different to say "here's an alternative".
This technique can replace most common dynamic code paths, or at least those that we will see in the near future. It won't do while-statement in the general case. But it will do any kind of if-statement, including nesting, and only run the correct path. For performance optimization, this is the most common use of dynamic branching. So a technique that can replace that is IMHO significant.