SlimShader
SlimShader is a Direct3D shader bytecode parser for .NET and C++. It includes a virtual machine, capable of executing HLSL vertex shaders, geometry shaders and pixel shaders entirely on the CPU, in managed code. I use it in Rasterizr, my 3D software rasterizer.