2012-03-21 1 views
1

Я показываю квадрат в псевдо-2D холсте через OpenGL. Для этого я использую ортогональной проекции через:OpenGL Android: ось X таинственно перевернута

gl.glMatrixMode(GL10.GL_PROJECTION); 
gl.glLoadIdentity(); 
gl.glOrthof(-ratio, ratio, -1, 1, 0, 10000); 

координаты отображаемого четырехугольника являются:

float[] quadCoords = {-10.0f, -10.0f, 5.0f, 
         10.0f, -10.0f, 5.0f, 
         10.0f, 10.0f, 5.0f, 
         -10.0f, 10.0f, 5.0f}; 

Этот четырехъядерный отображается как 2-х треугольников (я избавлю вас код). Я также применяю текстуру, которая работает красиво. «Camera» определяется перед визуализацией четверной как так:

gl.glMatrixMode(GL10.GL_MODELVIEW); 
gl.glLoadIdentity(); 
GLU.gluLookAt(gl, -10.0f, -10.0f, -5, -10.0f, -10.0f, 0f, 0f, 1.0f, 0.0f); 

Как вы можете видеть, видовых центры в [-10, -10, 0], которая должна быть сосредоточена в нижнем левом углу квад. Однако, при визуализации сцены, это выглядит следующим образом:

OpenGL Screenshot

Это, как представляется, в правом нижнем углу - но это не так. Я проверил его, и оказалось, что ось X перевернута. Я что-то делаю с gluLookAt? Или я что-то пропустил?

ответ

3

Хорошо, что это немного глупо, но я нашел минуты ответа после написания этого вопроса (часов после того, как это произошло):

«камерой» смотрит на задней стороне четырехугольника. Назначение «0» для всех z-координат квада и «+1» для z-координаты окуляра в gluLookAt фиксировало его.

 Смежные вопросы

  • Нет связанных вопросов^_^