c++ - 如何在obj文件中使用面值(opengl c++)

标签 c++ opengl

v 0.0 1.0 0.0
v -1.0 -1.0 -1 0
v 1.0 -1.0 -1.0
v 0 -1.0 1.0
f 2 4 3
f 4 2 1
f 3 1 2
f 1 3 4

我有一个描述四面体多边形的 obj 文件。

我已经完成编码以解析这些数据并将它们保存到数组中。

要使用顶点值,我只需使用 glVertex3f(x, y, z)

但我不知道我应该如何使用面值。

我尝试按照一些教程进行操作,但它们之间似乎各不相同,而且真的很令人困惑。

最佳答案

面值告诉您如何使用顶点创建面,例如,从值 f 2 4 3 创建第一个三角形(或面)

 glBegin(GL_TRIANGLES);
  glVertex3f(-1.0f, -1.0f, -1 0f);    // vertex 2
  glVertex3f( 0.0f, -1.0f,  1.0f);    // vertex 4
  glVertex3f( 1.0f, -1.0f, -1.0f);    // vertex 3
glEnd();

你可以在这里找到一个完整的例子,关于从顶点创建面:http://math.hws.edu/graphicsbook/c3/s1.html#gl1geom.1.1

关于c++ - 如何在obj文件中使用面值(opengl c++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36666045/

相关文章:

c++ - 使用 std::move 在开头插入 vector 的中间元素不起作用

java - 为什么当我要求 30 FPS 时,这段代码有时会报告 21.3 FPS?

c - 纹理三角形加载为纯色

c++ - 使用 GLuint 而不是 unsigned int 有什么好处?

java - JOGL FBObject 多重采样

c++ - 在 cpp 中打印 const char

c++ - 在 switch 语句中分配 lambda

c++ - 在 pthread_t 为数字的平台上,0 是否保证为无效值?

c++ - 将参数从主线程传递到线程。当线程退出时,主线程重置为0。为什么?

iphone - 使用 iPhone 版 openGL 加载一些纹理时出现奇怪的颜色