高解像度デバイス、特にgalaxy s3とnexus 7で動作するライブ壁紙があります.720pデバイスでもあるhtc one xでテストしましたが、壁紙が拡大されているようです. 私はhtc xを所有していないので、壁紙が取得する画面サイズを確認できません..壁紙はopenGL 2.0で動作するため、カメラのz値である可能性がありますが、nexus 7またはs3とは異なるように見えるのはなぜですか? 誰が問題が何であるかの手がかりを持っていますか?
ありがとう!
編集:これはビューの初期化コードです:
// Adjust the viewport based on geometry changes,
// such as screen rotation
GLES20.glViewport(0, 0, width, height);
// Create the projection matrix so that it converts the 3000px grid to actual screen dimensions, centered (letterboxed)
Matrix.frustumM(mProjMatrix, 0, -(width / 3000.0f) / 2.0f, (width / 3000.0f) / 2.0f, -(height / 3000.0f) / 2.0f, (height / 3000.0f) / 2.0f, 3, 7);
// Set the camera position (View matrix)
Matrix.setLookAtM(mVMatrix, 0, 0.0f, 0, 3.0f, 0f, 0f, 0f, 0f, 1.0f, 0.0f);
// Calculate the projection and view transformation
Matrix.multiplyMM(mMVPMatrix, 0, mProjMatrix, 0, mVMatrix, 0);
`
要素の配置に 3000x3000 ピクセルの「仮想」グリッドを使用し、射影行列を使用してレターボックス化します。N7 または S3 では非常にうまく機能しますが、Z 値は One X では見栄えが悪くなります。
すべての頂点は Z の 0 に設定されます。