Я пытаюсь настроить рендерер таким образом, чтобы независимо от устройства вид представлял собой простое 2D-поле с верхней частью экрана на 1.0f и нижней на -1.0f.Я не могу понять, что это правильно, я использовал метод ниже в методе onSurfaceChanged () и играл с параметрами в gluPerspective для достижения желаемого эффекта, но, кажется, невозможно сделать совершенным.Конечно, есть альтернативный способ сделать это, чтобы добиться того, что я после.Я также играл со значениями Z нарисованных ячеек, чтобы попытаться привести их в соответствие.
Снова я пытаюсь настроить его так, чтобы экран был определен в диапазоне от -1.0f до1.0, так что если вы нарисовали квадрат со сторонами, равными 2.0f, он заполнил бы весь экран независимо от соотношения сторон.Что мне нужно изменить, чтобы сделать это?(включите значение, которое я должен использовать для измерения Z вершин сетки)
(Не пугайтесь странных параметров в gluperspective (), я возился, чтобы посмотреть, что произойдет.)
@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
if(height == 0) { //Prevent A Divide By Zero By
height = 1; //Making Height Equal One
}
gl.glViewport(0, 0, width, height);
gl.glMatrixMode(GL10.GL_PROJECTION);
gl.glLoadIdentity();
GLU.gluPerspective(gl, 90.0f, (float) width / (float) height,
0.0000001f, 100.0f);
gl.glMatrixMode(GL10.GL_MODELVIEW);
gl.glLoadIdentity();
}