"He who knows not, and knows not that he knows not, is a fool...shun him.
He who knows not, and knows that he knows not, is willing...teach him.
He who knows, and knows not that he knows, is asleep...awaken him.
He who knows, and knows that he knows, is wise...follow him."
- Chinese Probverb
More pages: 1 2 3 4 5 6 7
New dynamic brancing demo
Thursday, July 1, 2004 | Permalink

Here's a demo that does dynamic branching, without the need for pixel shader 3.0, and still receives the huge performance boost that pixel shader 3.0 dynamic branching supposedly gives when utilized in a similar fashion.

Enjoy!


2004-07-03:
Since it seems people have lost the ability to understand smilies I removed the first line of this post. Couldn't have imagined that people would feel so seriously offended by it, and I certainly didn't foresee the amount of crap I would recieved for it.

2004-07-04: Did a minor update to the demo to work around the performance drop issue on nVidia cards. The demo will now let you choose between doing a full stencil clear or simply zero it for surviving fragment. The former method seems to be required for this technique to see any performance gains at all on nVidia hardware, while both methods run fast on ATI card, the latter at a higher speed though. In order to get maximum performance it will choose zeroing as default for ATI and full stencil clear on everyone else. I don't know if that assumption holds true for other vendors though.

Name

Comment

Enter the code below



NitroGL
Friday, July 2, 2004

You cheater you

Sunray
Friday, July 2, 2004

Clever. Is it worth an extra pass compared to scissor rectangles? Hmm, scissor rectangles for the "if shader" pass...

digitalwanderer
Friday, July 2, 2004

KEEEEKLES!!!!

Thanks Humus, I hope the job is working out well for ya.

Omega53
Friday, July 2, 2004

ATi Rules!!! DIE NVIDIA DIE!!!! Arghhh ;X

Anonymous
Friday, July 2, 2004

Nice, but will not kill nVidia
There are always some hacks that make outdated hardware look good (just think about what C64 demos looked earlier and how they look now), but PS3.0 will make things possible you won't be able to hack easily

Just Jess
Friday, July 2, 2004

Poor anony,
No ones trying to kill Nvidia but this demo does sort of squash their you can only get the speed via PS3 claims. As far as I was aware the main thing PS2 vs PS3 is that 3 can do the same as 2 but faster and here we have a demo that shows PS2 if done right can be just as fast. I don't really recall reading anywhere that PS3 added "NEW" features.

Thx for the Demo. I find em very informative so keep it up

Anonymous
Friday, July 2, 2004

Erm, hasn't this technique been around for a while? I don't see how this is bad for Nvidia when the same method can be applied to Nvidia cards as well as ATI cards, especially when real dynamic branching is only a small part of SM3.0 (and can't both this and Dynamic Branching be used at the same time, even if some instructions would be redundant?). I'd like to see real Dynamic Branching support added to the demo so we can compare the two methods, and to see what happens when you use both at once.

sqrt[-1]
Friday, July 2, 2004

Not that I don't consider this a good demo but I think you should have included it in a "real world" scenerio. (ie by using scissoring etc.)

I also question how good this would be if you had to do multiple if statements (or even a loop)

JustJess:
http://www.microsoft.com/whdc/winhec/partners/shadermodel30_NVIDIA.mspx

When Humus can hack a texture lookup in a vertex program THEN I'll really be impressed.

I hope this is not the start of a trend of demos trying to bash Nvidia....


More pages: 1 2 3 4 5 6 7