我正在尝试重现一个采用obj文件的CSharp应用程序的OBJ文件解析,并使用其独特的内部结构(基于该obj文件)对其进行另一个文件保存,并将其保存为具有唯一扩展名的文件-不是1:1复制obj文件的内容:它只需要顶点,法线,uvs(如果有的话)和索引就可以将它们组成数组并用它进行几项不同的操作(这对我的问题根本不重要,但我还是告诉它只是为了显示一个位)。 我可以通过在JAVA应用程序中以二进制模式逐字节查看生成的文件(遍历它)并通过纯try / guess进程试图理解它成功背后的逻辑来做到这一点-我可以说很长的过程…

2020年3月18日 0条评论 24点热度 阅读全文

我一直在弄乱LWJGL,试图创建一个.obj解析器,该解析器会将从Blender导出的文件转换为OpenGL渲染代码。我遵循了与我正在做的事情相似的教程,但是它是用C++编写的,我几乎无法理解。我设法使所有的东西都可以与解析器一起工作(我认为),但是当需要实际渲染到模型时,我很难创建与C++代码等效的Java。本教程使用以下代码行: glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(glm::vec3), &vertices[0], GL_STAT…

2019年12月11日 0条评论 40点热度 阅读全文

我正在尝试制作我的第一个Android游戏,并为此做了一个OBJ加载器,它使用资源ID,并使用Context.getResources()。openRawResource()返回的InputStream。 我设法读取了顶点信息和面信息,并且可以成功加载没有任何纹理的网格。 看到的问题是纹理未正确映射。通过将“ vt”之后的所有数字以及第一个“ /”之后的f中的索引(即“ f 1/1 ...”)放入数组,我设法从文件中读取了信息 我不确定我应该如何处理这些数字...如果我只是将所有内容都放入一个字节缓冲区并按照我通常…

2019年4月21日 0条评论 44点热度 阅读全文