Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: GUI и Java FX приложения > Не отображается графика OpenGL LGJGL3 |
Автор: VEugene 16.3.2020, 17:05 |
Не могу понять почему ничего не отображается. Java + LWJGL3 + OpenGL. 4 день борюсь До отрисовки: ... int[] indices = {2,0,3,2,1,0}; float[] position = { 0.5f,0.5f,0.0f, 0.5f,-0.5f,0.0f, -0.5f,-0.5f,0.0f, -0.5f,0.5f,0.0f }; float[] texCoords = { 1.0f,1.0f, 1.0f,0.0f, 0.0f,0.0f, 0.0f,1.0f }; ... До отрисовки: ... Matrix4f model = new Matrix4f(); Matrix4f view = new Matrix4f(); Matrix4f proj = new Matrix4f(); GL11.glViewport(0, 0, engineWindow.getWidth(), engineWindow.getHeight()); proj.setPerspective((float)Math.toRadians(45.0f), (float)engineWindow.getWidth() / (float)engineWindow.getHeight(), 0.1f, 1000.0f); Matrix4f projView = new Matrix4f(); Vector3f modelPos = new Vector3f(0.0f,0.0f,-3.0f); Vector3f modelRot = new Vector3f(0.0f,0.0f,0.0f); Vector3f modelScale = new Vector3f(1.0f,1.0f,1.0f); Vector3f viewPos = new Vector3f(0.0f,0.0f,0.0f); FloatBuffer matrixBuff = BufferUtils.createFloatBuffer(16); .... В цикле отрисовки: ... model.identity(); model.translate(modelPos); model.rotate((float)Math.toRadians(modelRot.x),new Vector3f(1,0,0)); model.rotate((float)Math.toRadians(modelRot.y),new Vector3f(0,1,0)); model.rotate((float)Math.toRadians(modelRot.z),new Vector3f(0,0,1)); model.scale(modelScale); view.identity(); view.translate(viewPos); GL20.glUseProgram(programId); proj.mul(view, projView); projView.get(matrixBuff); matrixBuff.flip(); GL20.glUniformMatrix4fv(uView, false, matrixBuff); model.get(matrixBuff); matrixBuff.flip(); GL20.glUniformMatrix4fv(uModel, false, matrixBuff); GL13.glActiveTexture(GL13.GL_TEXTURE0); texture.bind(); GL30.glBindVertexArray(vaoId); GL30.glEnableVertexAttribArray(0); GL30.glEnableVertexAttribArray(1); GL11.glDrawElements(GL11.GL_TRIANGLES, indices.length, GL11.GL_UNSIGNED_INT, 0); ... |