Values in projection matrix are in the wrong places, apart from that if we decided to use tangens instead of cotangents in the [0][0] position aspect ratio also have to be inverted so:
float TanThetaOver2 = HMM_TanF(FOV * (HMM_PI32 / 360.0f));
Result.Elements[0][0] = 1.0f / AspectRatio / TanThetaOver2;
Result.Elements[1][1] = 1.0f / TanThetaOver2;
Or just compute cotangent up front:
float CoTanThetaOver2 = 1.0f / HMM_TanF(FOV * (HMM_PI32 / 360.0f));
Result.Elements[0][0] = CoTanThetaOver2 / AspectRatio;
Result.Elements[1][1] = CoTanThetaOver2;
Values in projection matrix are in the wrong places, apart from that if we decided to use tangens instead of cotangents in the [0][0] position aspect ratio also have to be inverted so:
float TanThetaOver2 = HMM_TanF(FOV * (HMM_PI32 / 360.0f));
Or just compute cotangent up front:
float CoTanThetaOver2 = 1.0f / HMM_TanF(FOV * (HMM_PI32 / 360.0f));