Sunday, November 1, 2009

Cg fragment discard Leopard vs Snow Leopard

I beat my head against the wall for a while trying to discard fragments in a fragment shader. Each time, everything got discarded. The hypothesis is that the entire fragment bundle was being discarded when a discard was being hit. I suspect that the point sprites I was working with each ended up in an entire fragment bundle.

This caused my particle system to completely disappear.

I kept assuming that I was doing something wrong and kept working away and finally gave up. One day, I tried my code under Linux, threw in a discard statement and everything behaved exactly as I expected.

It wasn't clear if this was a limitation of the video card in my laptop or the driver, so I just plugged along without using discard.

Then I upgraded to Snow Leopard and gave fragment discard another try.

It worked.

This was a driver issue and not a hardware limitation issue.

No comments:

Post a Comment