LWJGL无法渲染3D模型

时间:2020-03-02 03:01:03

标签: java opengl 3d render lwjgl

我似乎无法获得我按照本教程https://www.youtube.com/watch?v=izKAvSV3qk0

进行建模的模型

我知道obj loader很好,因为我转储了模型对象的内容,并且那里与原始文件相同,所以我还确保它被调用了,所以这里怎么了?

这是我的代码

Render.java

package modelloader;

import java.util.ArrayList;

import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL11.*;
import org.lwjgl.util.vector.Vector3f;

public class Render {

public static int list;
public static int run;

public static void renderModel(Model model) {

    list = GL11.glGenLists(1);

    GL11.glColor3d(255, 255, 255);
    GL11.glBegin(GL11.GL_TRIANGLES);

    run++;

    GL11.glNewList(list, GL11.GL_COMPILE);
    {
        for(Face face : model.faces) {

            System.out.println("Rendering:" + run);
            Vector3f n1 = model.normals.get((int) face.normals.x - 1);
            GL11.glNormal3f(n1.x, n1.y, n1.z);

            Vector3f v1 = model.vertexs.get((int) face.normals.x - 1);
            GL11.glVertex3f(v1.x, v1.y, v1.z);

            Vector3f n2 = model.normals.get((int) face.normals.y - 1);
            GL11.glNormal3f(n2.x, n2.y, n2.z);

            Vector3f v2 = model.vertexs.get((int) face.normals.y - 1);
            GL11.glVertex3f(v2.x, v2.y, v2.z);

            Vector3f n3 = model.normals.get((int) face.normals.z - 1);
            GL11.glNormal3f(n3.x, n3.y, n3.z);

            Vector3f v3 = model.vertexs.get((int) face.normals.z - 1);
            GL11.glVertex3f(v3.x, v3.y, v3.z);

        }
        GL11.glEnd();
    }
    GL11.glEndList();

}

我做错什么了吗?

0 个答案:

没有答案