.obj 中的面孔如何工作?
解析具有顶点和顶点面的 .obj 文件时,可以轻松地将顶点传递给着色器并使用顶点面使用 glDrawElements。
当解析具有顶点和纹理坐标的 .obj 文件时,会出现另一种类型的面:纹理坐标面。
显示纹理时,除了加载图像、绑定图像并将纹理坐标传递给解析器之外,如何使用纹理坐标面? 它们与顶点面不同,我认为纹理坐标面在显示纹理时有一个目的?
问候尼古拉斯
When parsing an .obj-file, with vertices and vertex-faces, it is easy to pass the vertices to the shader and the use glDrawElements using the vertex-faces.
When parsing an .obj-file, with vertices and texture-coordinates, another type of face occur: texture-coordinate faces.
When displaying textures, apart from loading images, binding them and passing texture coordinates into the parser, how to use the texture-coordinate faces?
They differ from the vertex-faces and I suppose that the texture-coordinate faces have a purpose when displaying textures?
Regards Niclas
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不确定你在问什么,但如果我理解正确的话,你想知道如何存储纹理坐标数据来渲染纹理 3D 对象。如果是这样,您可以将 vertex-normal-textureCooperative 数据存储为交错格式,如下所示:
一旦您拥有了这些数据的数组,您就可以创建指向该数组不同部分的指针并如下所示进行渲染:
至少我是这样的我正在做。可能有更好的方法,如果有的话,我很高兴知道。
Not sure what you're asking, but if I understand you correctly, you're wondering how do you store the data for texture coordinates to render a textured 3d object. If so, you store your vertex-normal-textureCoordinate data in an interleaved format, like below:
once you have an array of these, you then create pointers to the different parts of the array and render like below:
At least that is how I'm doing it. There may be a better way, and if there is, I'd be glad to know.