私は OpenGL (webgl) で 3D 透視投影を行っており、均一なマトリックスを使用して自分で行っています。すべてが正常に機能していますが、アスペクト比が 3:2 (600px x 400px) であり、レンダリングされたすべてのジオメトリが歪んでいます。
2D では、x と y をそれぞれ 1/幅と 1/高さで割ることにより、モデル マトリックスでこれを修正していました。
今、私も心配する必要があります.Zをどのように/どこで変換して、3:2のアスペクト比で歪まないようにするかはまったくわかりません.
モデルマトリックスはこれを行う機会を提供していないようで、射影マトリックスでどこで何をすべきかわかりません。
編集:射影行列:
@_pMatrix = [
1, 0.0, 0.0, 0.0,
0.0, 1, 0.0, 0.0,
0.0, 0.0, -(f + n) / (f - n), -1,
0.0, 0.0, -2.0 * n * f / (f - n), 0.0
]
列の主な順序
編集 2: n < 1 の奇妙な歪み