Я разрабатываю приложение для Android, которое использует OpenGL
для рендеринга 3D-шара на поле травы. Пользователь может взаимодействовать с мячом (вращать его прикосновением).Android OpenGL ES искаженное изображение
Проблема заключается в следующем: все хорошо работает на моем Samsung Galaxy S2, но когда я пытаюсь использовать его на других устройствах (HTC невероятный S, ощущение HTC, ...), я получаю искаженное изображение с несколькими обрезанными видовыми экранами на экран (см. attached image).
Я пробовал все, что мог придумать: отключить текстуры, отключить свет и т. Д., Ничего не работает.
Я знаю, что без реального кода трудно помочь, но я действительно не знаю, какая часть кода вызывает это. Поэтому я спрашиваю, есть ли у кого-нибудь идеи, что могло бы вызвать эту проблему.
Я думаю, что-то связано с GLSurfaceView
или Renderer подкласса или порядка создания этих объектов ...
Взгляните на прикрепленном изображение и дайте мне знать, если вы знаете, в чем проблема.
EDIT: 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);
}
Какую версию Galaxy S2 вы используете? В Википедии есть разные модели, которые используют разные графические процессоры. –
Номер модели: GT-I9100 Но я также тестировал на Galaxy Notes, отлично работает как –