为了在 Android 的 OpenGL 的 3D 世界和 2D 世界中使用相同的对象,我无法在两个 GLU 透视图中渲染相同的对象。
例如,当我执行以下命令时:
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 世界工作方式的原因是因为我的建模软件就是这样保存它的对象的。(搅拌机)
有谁知道为什么会这样?我仍然想使用剔除(启用它),但我希望一个对象可以在 3D 和 2D 中渲染。