Я разрабатываю приложение для Android, которое использует OpenGL
для визуализации 3D-шара на поле с травой. Пользователь может взаимодействовать с мячом (вращать его прикосновением).
Проблема заключается в следующем: на моем Samsung Galaxy S2 все работает хорошо, но когда я пробую его на других устройствах (HTC incredible S, HTC Sensation, ...), я получаю искаженное изображение с несколькими обрезанными областями просмотра на экране (см. прикрепленное изображение ).
Я перепробовал все, что мог придумать: отключить текстуры, отключить свет и т. Д., Похоже, ничего не работает.
Я знаю, что без реального кода трудно помочь, но я не знаю, какая часть кода вызывает это. Поэтому я спрашиваю, есть ли у кого-нибудь идеи, что может быть причиной этой проблемы.
Я думаю, что-то связано с GLSurfaceView
или подклассом рендерера или порядком создания этих объектов ...
Посмотрите на приложенное изображение и дайте мне знать, если вы знаете, в чем проблема.
![enter image description here](https://i.stack.imgur.com/UAuSc.png)
EDIT:
onSurfaceСозданный код:
@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);
}