Я пытаюсь сделать два одинаковых прямоугольника с этим кодом:Только один из двух форм обращается
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT);
GL20.glUseProgram(pId);
GL13.glActiveTexture(GL13.GL_TEXTURE0);
GL11.glBindTexture(GL11.GL_TEXTURE_2D, texId);
GL30.glBindVertexArray(vaoId);
GL20.glEnableVertexAttribArray(0);
GL20.glEnableVertexAttribArray(1);
GL20.glEnableVertexAttribArray(2);
GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, vboiId);
GL11.glDrawElements(GL11.GL_TRIANGLES, indicesCount, GL11.GL_UNSIGNED_BYTE, 0);
GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, 0);
GL20.glDisableVertexAttribArray(2);
GL20.glDisableVertexAttribArray(1);
GL20.glDisableVertexAttribArray(0);
GL30.glBindVertexArray(0);
GL11.glBindTexture(GL11.GL_TEXTURE_2D, 0);
GL20.glUseProgram(0);
Странно только второй из двух рисуется, хотя они имеют точно такой же код рисования. Единственное отличие состоит в том, что один из них немного сдвинут. Я протестировал, чтобы просто нарисовать первый, и это сработало. Так что второй прямоугольник каким-то образом перезаписывает первый?
Вы имеете в виду, что вы выполняете весь этот код дважды? В этом случае: удалить GL11.glClear (GL11.GL_COLOR_BUFFER_BIT); Он в основном очищает весь цвет от экрана. –
Это сработало - большое спасибо :) – Marghytis
Я отвечу на него формально тогда :) –