我在学习如何使用libGdx呈现对象。我有一个正方形模型,它从它们创建了一些模型实例。如果我只有一个模型,它渲染罚款。 呈现多个3D对象
但是,如果我有更多的实例它不正确。看起来前面的物体是先画的,背景是最后一个,所以总是背景物体是可见的,前面的物体可以通过它们看到。
要渲染我用下面的
Gdx.gl.glViewport(0,0,Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
Gdx.gl20.glClearColor(1f, 1f, 1f, 1f);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
mb.begin(cam);
worldManager.render(mb, environment);
mb.end();
MB变量的ModelBatch实例,里面worldManager.render每个模型实例得出如下:
mb.render(model, environment);
我不是确定发生了什么事。但我认为这是一些GL属性,我需要启用
与以下post不是100%相关,因为它是使用OPENGL像libgdx,但该帖子中提供的解决方案不起作用,我认为问题出现从ModelBatch从libgdx
这可能是'glEnable(GL_DEPTH_TEST)'?它也可能是你启用了它,但没有创建深度缓冲区,并且一切正常,因为你没有启用 – Guiroux
[OpenGL ES 2.0使用LibGDX以相反的深度顺序显示对象的可能的重复](http:// stackoverflow.com/questions/25070612/opengl-es-2-0-displaying-objects-in-opposite-depth-order-using-libgdx) – Guiroux
我标记为重复的,因为它是使用libgdx的opengl,并且您遇到了同样的问题,所以也许接受的答案会帮助你 – Guiroux