Я использую OpenGLES 2.0 на Android 2.2.Моя проблема здесь не с холстом или созданием полноэкранного вида андроида, который я уже понял.
Мне интересно, как бы вы задали координаты GL_QUAD или 2 GL_TRIANGLES для идеального покрытиявесь экран, для использования в качестве текстурирующей поверхности для 2D-игры, например.
В настоящее время у gluPerspective установлено значение:
float ratio = (float) width / height;
GLU.gluPerspective( gl, 45.0f, ratio, 1.0f, 100.0f );
внутри onSurfaceChanged, поэтому переменные ширины и высотыширина и высота экрана соответственно.
далее у меня координаты квадрата:
public static final float screenVerts[] = {
-1f, -1f,
1f, -1f,
1f, 1f,
-1f, 1f
};
однако отображаемый четырехугольник не пропорционален экрану, онпросто отображается в виде квадрата с координатами, по-видимому, относительно собственной геометрии opengl, а не высоты / ширины экрана.
как сделать переменную screenVerts (2D-точки для прямоугольника, на котором я рисую), чтобыбыть относительно самого экрана?Т.е. 1,0f составляет 100% высоты экрана в Y-координате одной из точек в квадрате.
И я действительно извиняюсь за то, что не сформулировал это хорошо, я не буду обижаться, если мне понадобитсяобъяснись еще раз.