回答:
Z行(または行列の向きに応じて列)に1または-1があるかどうかで違いがわかると思います。特に:
比較については、D3DXMatrixPerspectiveLH とD3DXMatrixPerspectiveRHの両方のリンクを参照してください。DirectXは左利きなので、通常は左利きバージョンを使用します。これは、3行目の4列目に1があります。
一方、OpenGLとXNAはどちらも右利きであり、OpenGLは4列目の3列目にあるのに対し、XNAはDirectXのように3列目の4列目にあるにもかかわらず、生成されるパースペクティブマトリックスが-1を使用していることを確認できます。 (列の主行列と行の主行列)。