随着应用场合的增多,扫描设备不仅得到物体的三维坐标信息,也得到了物体的纹理信息。*.OBJ三维文件格式是一种可以加载三维纹理信息的通用三维文件格式。本文将介绍彩色*obj读取及渲染。
<*OBJ三维文件格式读取>
OBJ文件是一种文本文件,可以直接用写字板打开进行查看和编辑修改,可以保存比较复杂的三维数据,这里只探讨基本三角网格的数据格式。比如:
mtllib scan0.mtl
v 64 41 545
v 64 43 545
v 64 42 546…
vt 0.6984 0.2569
vt 0.6976 0.2568
vt 0.6976 0.2563
…
vn -0.2 0.8 -0.4
vn -0.5 0.26 0.8
vn -0.1 0.27 0.9
…
f 0/0/0 1/1/1 2/2/2
f 3/3/3 4/4/4 5/5/5
f 6/6/6 9/9/9 8/8/8
…
Mtllib代表纹理文件名称(默认是和OBJ放到同一文件夹下),每一行都有关键词,
V:代表顶点坐标(X,Y,Z)
Vt:代表纹理坐标(S,T)(Obj携带纹理坐标才有这一项)
Vn:代表法向坐标(nx,ny,nz),OBJ文件也可以不携带,可以通过面来重新计算。
F:代表面信息 v/vt/vn,分别代表顶点索引、纹理索引和法向索引。
读取*OBJ文件代码
编辑:jq
全部0条评论
快来发表一下你的评论吧 !