Tag: .obj

我的obj-parser有什么问题?

给定以下渲染对象(具有完全白色纹理的龙)和具有基本纹理的停顿。 可能是什么错误? 我的指数错了吗? 有些顶点或面是错的吗? : 在我的obj-renderer课程中可能出现什么问题? 我遵循了一个教程,不幸的是我的模型看起来不像所需的模型。 龙应该是完全白色的,没有任何黑线,并且失速纹理看起来不对(白线不应该在那里)。 这是源代码(带有“v”,“vt”,“vn”,“f”的基本.obj渲染): try { while ((line = reader.readLine()) != null && !line.startsWith(“f “)) { String[] currentLine = line.split(” “); if (line.startsWith(“v “)) { Vector3f vertex = new Vector3f(Float.parseFloat(currentLine[1]), Float.parseFloat(currentLine[2]), Float.parseFloat(currentLine[3])); vertices.add(vertex); } else if (line.startsWith(“vt “)) { Vector2f texture = new Vector2f(Float.parseFloat(currentLine[1]), Float.parseFloat(currentLine[2])); textures.add(texture); } else if (line.startsWith(“vn […]

将C ++ OpenGl转换为Java(LWJGL),glBufferData();

我一直在搞乱LWJGL尝试创建一个.obj解析器,它将从blender导出的文件转换为OpenGL渲染代码。 我遵循了类似于我正在做的教程,但它是用c ++编写的,我很难理解。 我已经设法让一切都与解析器一起工作(我认为),但是当实际渲染到模型的时候,我很难创建一个与c ++代码相当的java。 本教程使用以下代码行: glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(glm::vec3), &vertices[0], GL_STATIC_DRAW); 然后(显然)它绘制数组。 我很确定我需要将Vecotor3f从我的列表(顶点)转换为FloatBuffer,而我不需要第二个参数(因为java会处理大小)。 但是,我不知道如何做到这一点,我仍然找到了解决java的方法,并且之前从未使用过这个类。

Java – 加载.OBJ文件

我希望能够从.obj文件中获取信息(如子组件的名称)。 那边有装载机吗? Java3D有一个ObjectFile,但是我看到的方法列表让我觉得它并不是我想要的。 我自己解析文件会更好吗? 谢谢 – 会的