gpt4 book ai didi

java - 您将如何将 OBJ 文件的面部定义传递给 openGL

转载 作者:行者123 更新时间:2023-11-30 11:57:27 26 4
gpt4 key购买 nike

我写了一个 OBJ 加载器来解析顶点、纹理坐标和法线,每个都存储在 FloatBuffer 中,并传递给 opengl:

gl.glVertexPointer(3, GL10.GL_FLOAT, 0, fbVertices);
gl.glNormalPointer(GL10.GL_FLOAT, 0, fbNormals);

但是我对如何将索引缓冲区传递给 glDrawElements 感到困惑,我读到索引将引用数组中顶点、纹理和法线的索引,但是在读取 OBJ 时文件描述,似乎人脸是以这样的格式存储的:

f 1/2/3 4/5/6 7/8/9

格式为

vertice/texture/normal

glDrawElements 只接受 1 个索引,它应该引用所有 3 个,但是当我查看实际的 OBJ 文件时,这似乎是不可能的。你如何为所有 3 个传递索引?

您可以在此处找到代码的副本: http://codepad.org/melc1HIC

最佳答案

你不能直接,你需要在将数据传递给OpenGL之前做一些预处理,所以每个顶点只使用一个索引,这个索引也适用于纹理坐标、法线等。

关于java - 您将如何将 OBJ 文件的面部定义传递给 openGL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3809884/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com