2013-07-05 4 views
0

В попытке использовать один и тот же объект как в 3D-мире, так и в 2D-мире OpenGL Android, я не могу отобразить один и тот же объект в обеих перспективах GLU.3D-2D-объекты в Android Open GL не отображаются из-за отбраковки

Например, когда я выполнить следующую команду:

GLU.gluPerspective(gl, 45.0f,(float)GlobalConfiguration.getWidth()/(float)GlobalConfiguration.getHeight(),0.1f,1000.0f); 

Я должен убедиться, что мой объект визуализируется как это ...

gl.glFrontFace(GL10.GL_CCW); 
gl.glEnable(GL10.GL_CULL_FACE); 
gl.glCullFace(GL10.GL_BACK); 

Но тогда, когда я изменить перспективу :

GLU.gluOrtho2D(gl,0,GlobalConfiguration.getWidth(),GlobalConfiguration.getHeight(),0); 

Объект не будет отображаться, если я не отключу отбор или переопределить порядок вершины в индексном буфере.

Теперь причина, по которой мне нужно придерживаться способа работы 3D-мира, заключается в том, что именно так мое программное обеспечение для моделирования сохраняет его объекты. (Блендер)

Есть ли у кого-нибудь идеи, почему это так? Я хочу по-прежнему использовать culling (включить его), но я хочу, чтобы объект отображался как в 3D, так и в 2D.

ответ

0

Таким образом, ответ на этот вопрос был довольно интересным ... вы НЕ МОЖЕТ переводить gl-матрицу, используя метод glTranslatef более 1f в направлении z! Мои объекты z были около -50f, и когда был вызван вызов glTranslatef(), я перевел мой объект не между 0f и 1f, и объект не был виден!

Какая потеря дня ...