私は、携帯電話をさまざまな向きに傾けて多角形の異なる面を作りたいと思う単純なジャイロテストアプリを書いています。これはヘッドトラッキングレンダリング手法に似ていますが、私は固定されたアイポジションを想定しており、携帯電話だけがアイ(カメラ)に対して移動します。左/右方向に歪んだ錐台があるAndroid OpenGLの問題
これを行うには、私はopenglで歪曲した錐台のトリックを使用しました。私は問題なく上/下/近/遠の方向に錐台を相殺することができました。私がオフセット値を2で割ったときに、左右の方向が働くだけで本当に変わった部分が現れました。本当にすべきことから、錐台を効果的に「縮める」。誰もがこの出くわした
// xEyePhone is the transform of eye relative to the screen, note the /2.0f for the 3rd and 4th params.
Matrix.frustumM(_ProjMatrix, 0, -ratio-xEyePhone[12]/2.0f, ratio-xEyePhone[12]/2.0f, 1-xEyePhone[13], 1-xEyePhone[13], xEyePhone[14], xEyePhone[14]+10);
Matrix.setLookAtM(_VMatrix, 0, xEyePhone[12], xEyePhone[13], xEyePhone[14],
XEyeCenterWorld[12], xEyeCenterWorld[13], xEyeCenterWorld[14],
XUpVectorWorld[12], xUpVectorWorld[13], xUpVectorWorld[14]);
:ここ
は、左/右方向に2分周バグと作業サンプルコードですか?
関連する可能性がありますhttp://stackoverflow.com/questions/11697728/why-does-the-matrix-generated-by-androids-frustumm-differ-from-the-redbooks –