博客原文链接:https://glumes.com/post/opengl/opengl-tutorial-import-3d-object/
在使用 OpenGL 绘制时,我们最多绘制的是一些简单的图形,比如三角形、圆形、立方体等,因为这些图形的顶点数量不多,还是可以手动的写出那些顶点的,可要是绘制一些复杂图形该怎么办呢?
这时候就可以使用 OpenGL 来加载 3D 模型。先使用 3D 建模工具构建物体,然后再将物体导出成特定的文件格式,最终通过 OpenGL 渲染模型。
例如如下的 3D 模型文件图像:
Obj 模型文件
obj 模型文件是众多 3D 模型文件中的一种,它的格式比较简单,本质上就是文本文件,只是格式固定了格式。
obj 文件将顶点坐标、三角形面、纹理坐标等信息以固定格式的文本字符串表示。
截取一小段 obj 文件内容:
# Max2Obj Version 4.0 Mar 10th, 2001
#
# object (null) to come ...
#
v -0.052045 11.934561 -0.071060
v -0.052045 11.728649 1.039199
...
# 288 vertices
vt 0.000000 0.000000 0.000000
vt 1.000000 0.000000 0.000000
...
vt 1.000000 1.000000 0.000000
# 122 texture vertices
vn 0.000000 0.000000 -1.570796
vn 0.000000 0.000000 -1.570796
...
vn 0.000000 0.000000 1.570796
# 8 vertex normals
g (null)
f 1/10/1 14/12/11 13/4/11
f 1/11/4 2/12/3