我在學習如何使用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