Hi again^^
Amnesia the Dark Decent would not accept this part of SSAOgen, not sure why.. code looks good and work on other games
float3x3 matRotate;
float hao = 1.0f / (1.0f + vRotation.z);
matRotate._m00 = hao * vRotation.y * vRotation.y + vRotation.z;
matRotate._m01 = -hao * vRotation.y * vRotation.x;
matRotate._m02 = -vRotation.x;
matRotate._m10 = -hao * vRotation.y * vRotation.x;
matRotate._m11 = hao * vRotation.x * vRotation.x + vRotation.z;
matRotate._m12 = -vRotation.y;
matRotate._m20 = vRotation.x;
matRotate._m21 = vRotation.y;
matRotate._m22 = vRotation.z;
Changed it to this one and it worked fine and should do same I think. Tested with both Amnesia and Borderlands 2 ^^
float hao = 1.0f / (1.0f + vRotation.z);
float3x3 matRotate = float3x3(float3( hao * vRotation.y * vRotation.y + vRotation.z,
-hao * vRotation.y * vRotation.x, -vRotation.x ),
float3( -hao * vRotation.y * vRotation.x,
hao * vRotation.x * vRotation.x + vRotation.z, -vRotation.y ),
float3( vRotation.x, vRotation.y, vRotation.z) );