Displaying ambient occlusion and soft shadow at Direct3D11

I wrote a test program to calculate world space ambient occlusion and shadow using Direct3D11.
It calculates per-vertex world space ambient occlusion and soft shadow at runtime by CPU, and send the results to the GPU through UnorderedAccessView at Direct3D11.



Direct lighting + Ambient occlusion + Soft shadow



Ambient occlusion only



Soft shadow only