Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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);
...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)