OBJ文件格式分析(一)

 

OBJ文件是一种3D模型文件,文件的介绍呢,我就不多说了,可以去百度百科上查询,非常详细。

现在写opengl程序的时候需要用到一些3D模型文件,我学过maya的一些建模方法,maya能导出obj格式的模型,因此现在开始研究一下如何读取,并在opengl程序里面绘制出OBJ模型。

 

本来是想从网上找点源代码的,但是后来发现网上好多代码都只能读取某些OBJ文件,不能读取和绘制所有的,总会出现这样或者那样的错误。于是没办法,只能自己来研究一下,自己写了。

从一个简单的例子说起,下面是一个最简单的obj的文件结构:

v  -1 0 0

v   1 0 0

v  1  1 0

v  -1  1 0

f  1 2 3 4

这个文件怎么得到呢?这里我们不用3D建模软件,这样可以看得更清晰这种文件到底是怎么存放数据的。

新建一个txt文件,然后把上面的数据复制进去,然后把这个文件改名为A.obj,这样一个obj文件就写好了,为了测试,我用的是osgviewer。我在A.obj文件的同一目录下用cmd的方式查看了一下刚才创建的OBj文件,cmd命令和执行结果如下:

OBJ文件格式分析(-) - zgzamoshi - Meteora Van
换个角度看:
 

 

OBJ文件格式分析(-) - zgzamoshi - Meteora Van
 
这样就绘制出了这一个面。这里可以看出,obj文件的前面的部分表示的是定点,后面的f后面的数字表示:这些定点如何形成一个面。v表示vertex,f表示face。f 1 2 3 4中的1 2 3 4分别是这些定点的索引,表示这个面是从1号点出发连接2号点,再从2号点出发连接3号点,再从3号点出发连接4号点。

 学过vrml的人知道这个跟vrml的书写格式很相似。

OK,这篇文章就分析这点最基础的obj的文件结构,下篇文章继续写obj文件中其他参数。

 

 

http://zgzamoshi.blog.163.com/blog/static/573886042010112881932244/

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值