guodong's blog

master@zhejiang university
   

3D中OBJ文件格式解析

参考链接

https://www.cnblogs.com/slysky/p/4081307.html

https://blog.csdn.net/qq_33854260/article/details/70884948

 

“vt 1.000000 0.000000″这句”vt”代表点的贴图坐标。

“vn 0.000000 0.000000 -1.000000″这句”vn”代表点的法线。

在一个OBJ文件中,首先有一些以v、vt或vn前缀开头的行指定了所有的顶点、纹理坐标、法线的坐标。然后再由 一些以f开头的行指定每一个三角形所对应的顶点、纹理坐标和法线的索引。在顶点、纹理坐标和法线的索引之间,使用符号“/”隔开的。一个f行可以以下面几 种格式出现:
f  1 2 3
这样的行表示以第1、2、3号顶点组成一个三角形。
f  1/3 2/5 3/4
这样的行表示以第1、2、3号顶点组成一个三角形,其中第一个顶点的纹理坐标的索引值为3,第二个顶点的纹理坐标的索引值为5,第三个顶点的纹理坐标的索引值为4。
f  1/3/4 2/5/6 3/4/2
这样的行表示以第1、2、3号顶点组成一个三角形,其中第一个顶点的纹理坐标的索引值为3,其法线的索引值是4;第二个顶点的纹理坐标的索引值为5,其法线的索引值是6;第三个顶点的纹理坐标的索引值为6,其法线的索引值是2。
f  1//4 2//6 3//2
这样的行表示以第1、2、3号顶点组成一个三角形,且忽略纹理坐标。其中第一个顶点的法线的索引值是4;第二个顶点的法线的索引值是6;第三个顶点的法线的索引值是2。
值得注意的是文件中的索引值是以1作为起点的,这一点与Delphi中以0作为起点有很大的不同。在渲染的时候应注意将从文件中读取的坐标值减去1。




上一篇:
下一篇:

头像

guodong

说点什么

avatar
  Subscribe  
提醒