我正在开发一款 Android 应用程序,使用
问题如下:在我的 Samsung Galaxy S2 上一切正常,但是当我尝试在其他设备(HTC Incredible S、HTC Sensation 等)上运行时,屏幕上会出现多个裁剪视口的扭曲图像(请参见附加图像)。
我已经尝试了我所能想到的一切方法:禁用纹理、禁用光照等等...没有任何效果。
我知道在没有实际代码的情况下很难帮助,但我真的不知道哪部分代码引起了这个问题。因此,我想问问是否有人知道可能引起这个问题的原因。
我的猜测是与
请查看附加的图像,如果您知道问题是什么,请让我知道。
OpenGL
在草地上渲染一个 3D 球。用户可以与球交互(通过触摸旋转它)。问题如下:在我的 Samsung Galaxy S2 上一切正常,但是当我尝试在其他设备(HTC Incredible S、HTC Sensation 等)上运行时,屏幕上会出现多个裁剪视口的扭曲图像(请参见附加图像)。
我已经尝试了我所能想到的一切方法:禁用纹理、禁用光照等等...没有任何效果。
我知道在没有实际代码的情况下很难帮助,但我真的不知道哪部分代码引起了这个问题。因此,我想问问是否有人知道可能引起这个问题的原因。
我的猜测是与
GLSurfaceView
或 Renderer 子类或这些对象的创建顺序有关...请查看附加的图像,如果您知道问题是什么,请让我知道。
编辑: onSurfaceCreated 代码:
@Override
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
gl.glClearColor(0.0f, 0.0f, 0.0f, 0.5f);
gl.glShadeModel(GL10.GL_SMOOTH);
gl.glClearDepthf(1.0f);
gl.glEnable(GL10.GL_DEPTH_TEST);
gl.glDepthFunc(GL10.GL_LEQUAL);
gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_NICEST);
gl.glEnable(GL10.GL_TEXTURE_2D);
gl.glEnable(GL10.GL_NORMALIZE);
}