@ vtastek: Just a little bit.

At least no-one can miss them.
I thought first screens are hard to detect too.

I know it's too early to really mention it, but OpenCL will allow you to shift stuff onto the GPU, and is supposed to be supported at some point by both AMD and Nvidia, kinda like that DX11 equivalent. Though I'm sure you already knew.

Anyway, back to the now...
Can anyone point me to a good explanation of HLSL and what you can do with it? I'm familiar with its ability to change a 2D texture which is passed to your monitor, or whatever they call it, like you can do with ScreenEffects, but I'm not sure about how the 3D scene works, and what the depth buffer is. ATM, I imagine it as a big old cube with the depth buffer holding information on how far into the 'depth' of that cube everything is, which would explain how you need it to get 3D vectors for stuff.
So any articles that deal with explaining the 3D side of shaders and HLSL?
Oh, and I've noticed that HLSL seems to be much less documented than GLSL? Is this true, or am I just looking in the wrong places?
OpenCL is getting me excited too, but for integrating physics to Morrowind.

For shader stuff, google is your friend. Nvidia hosts GPU gems for free which is really helpful. I haven't figure out the 3D part myself yet. But I am about there. And I managed to convert some GLSL shaders http://hl2glsl.codeplex.com/Wiki/View.aspx?title=Differences%20Between%20HLSL%20and%20GLSL, they are almost identical. I learned a lot since I started, so I can give a tutorial on basic stuff like godrays.
HLSL is created to write shaders on high level language. Before they were using assembly which is hard to understand and write(IMO). There are vertex shaders and pixel shaders(and recently geometry shaders), where vertex shaders modify geometry, pixel shaders modify pixels. (check my http://www.youtube.com/watch?v=x3KA_WWdVlE!)
HLSL code fragment from my godrays shader. (You can see how noob I am.)
float4 depthskymask( float2 Tex : TEXCOORD0 ) : COLOR0{ float4 ce = smoothstep(120040, 120041, tex2D(s1, Tex).r); ce.a = 0.0f; float4 sky = tex2D(s0,Tex); sky = sky * ce.r; return sky;}
I had to disable this part for the screens above, since s1 corresponds depth frame. (Surprisingly, crepuscular rays isn't that hard to make really. Which is why it's my
fourth shader!)
Depth buffer is an image giving me the real physical distance to camera for every pixel on the http://www.madx.dk/machinima/wp-content/gallery/pixshowoff/fixed01kt0.jpg.
I use smoothstep to make depth not smooth, so it will give me black for every object and white for sky. Since sky is infinitely away, I put some big numbers there. (note to me -create a better method.)
Third line gets me the raw image, s0 corresponds the image enters the shader.
Now the math of colors,
sky = sky * ce.r;
Colors of the image represented as numbers digitally, so when I multiply sky(whole image), with ce(black land(0), white sky(1)),
(objects x 0) + (sky(whole image- don't be fooled by the name) x 1) =
only sky with black land and objects This is our mask. Rest is running this code sample http://http.developer.nvidia.com/GPUGems3/gpugems3_ch13.html, and combining the result back with original image. As you can see it is elementary level math. With more math you can create more.

So how did I create the above images, I ran a different shader which just turned down the lights until almost only the sky remains. It can give me some accuracy to a degree, where I can make those shots. Cons, I can't filter water, shiny objects, light sources from land. (I am using this method in my shader for morrowind too to get the bright parts of the sky and it is very hard to tweak. This is why I recommend phal's sunshafts shader to everyone, since he creates his own sun and project it to right place on sky(too much math for me). I am still learning those parts.) And it is still missing sun position, so I can move it to somewhere else than
left top corner.

Come stop by http://mgeshaderlibrary.wikispaces.com/and its http://mgeshaderlib.50.forumer.com/. You can see our http://mgeshaderlib.50.forumer.com/viewtopic.php?p=385#p385 and read articles about shaders, request shaders, release shaders, get help on shaders, throw ideas, it's basically shader heaven.