Я изучаю, как визуализировать объекты с помощью 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();
переменного мб это экземпляр ModelBatch, и внутри worldManager.render каждый экземпляр модели сделать следующим образом:
mb.render(model, environment);
Я не конечно, что происходит. Но я думаю, что это какой-то атрибут GL, который мне нужен.
Не на 100% связано со следующим post, потому что, да, он использует 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
Я помечен как дубликат, потому что это opengl с использованием libgdx, и у вас есть та же проблема, так что, возможно, принятый ответ поможет вам – Guiroux