Ich lerne, wie Objekte mit libGdx gerendert werden. Ich habe ein quadratisches Modell, das aus ihnen einige Modellinstanzen erzeugt. Wenn ich nur ein Modell habe, ist es in Ordnung. Rendern mehrerer 3D-Objekte
Aber wenn ich mehr Instanzen habe, ist es nicht richtig. Es sieht so aus, als ob die vorderen Objekte zuerst gezeichnet werden und der Hintergrund der letzte, also sind immer die Hintergrundobjekte sichtbar und die vorderen Objekte, durch die man sie sehen kann.
zu machen Ich verwende die folgende
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 Variable ist die ModelBatch Instanz und innerhalb worldManager.render jedes Modell Beispiel ist wie folgt zeichnen:
mb.render(model, environment);
bin ich nicht sicher, was passiert. Aber ich denke, es ist ein GL-Attribut, das ich brauche aktivieren
Ist nicht 100% bezogen auf die folgenden post weil ja ja es OPENGL wie libgdx verwendet, aber die Lösung in diesem Beitrag zur Verfügung gestellt funktioniert nicht und ich denke, das Problem kommt von ModelBatch von Libgdx
dieser vielleicht 'glEnable (GL_DEPTH_TEST)'? Es könnte auch sein, dass Sie es aktiviert haben, aber nicht den Tiefenpuffer erstellt haben, und alles funktioniert genau so, wie Sie es nicht aktiviert haben – Guiroux
Mögliches Duplikat von [OpenGL ES 2.0 Objekte mit LibGDX in umgekehrter Reihenfolge anzeigen] (http: // stackoverflow.com/questions/25070612/openg-l-es-2-0-displaying-objects-in-opposite-depth-order-using-libgdx) – Guiroux
Ich markiert als Duplikat, weil es opengl mit libgdx und Sie haben das gleiche Problem, also könnte die akzeptierte Antwort Ihnen helfen – Guiroux