BOOM!
OK, so it looks like shit, but this is the first visible result from updating lightmaps on the GPU via a compute shader.
I deliberately set the output colour to neon pink so that it would stand out - no point in doing test code if you can't see the results!!!
It's hitting the correct lightmaps for me, it's not going out of bounds, but it's not quite lining up properly just yet. All the same - it does represent a promising initial result. Having gotten over this initial hump, it should be (relatively) plain sailing from here. Ha ha ha ha ha.
Performance? Not having to deal with pipeline stalls and resource contention is nice. It's definitely coming through; one of my worst-case dynamic light update tests is running maybe 3 times as fast.
It's also looking as though I'll be able to revert to my original texture array based lightmap code and junk the "single big texture" setup. That saddens me slightly as I thought that the idea of using a single texture seemed neat, but the code is slightly nasty and the array setup is just better overall.
Friday, June 29, 2012
d3d11_Context->CSSetShader (d3d_LightCS, NULL, 0);
Posted by
mhquake
at
12:28 AM
Subscribe to:
Post Comments (Atom)
1 comment:
Very cool, man. Even most modern commercial engines, save for a couple exceptions, don't leverage compute shaders. To have technology like that in a Quake engine is just...hey, it's cool!
Has your overall experience with DirectCompute been mostly positive?
Post a Comment