0

我有一个可在高分辨率设备上使用的动态壁纸,特别是在 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。

4

0 回答 0