Wavefront公司的.obj文件格式及.mtl文件格式
2015-08-30 15:19
260 查看
最近在做三维方面的东西,用到了.obj文件及.mtl文件,期间走了不少弯路,记在这里希望能对别人起到启示作用。
对于.obj文件表示的三维模型,我在做实验时候用到了以下几个关键字:
v:顶点坐标,后面三个数分别为x,y,z坐标
vt:贴图坐标点
vn:顶点法线(当显示模型模糊时,应该是obj文件中没有计算法线,因而没法计算光照,这时候需要额外计算顶点法线)
p:点
l:线
f:面
g:组名称
usemtl:材质名称
mtllib:材质库
对于.mtl文件,一般情况下是这么定义的:
newmtl mymtl_1
ka r g b
kd r g b
ks r g b
其中newmtl代表着定义一个新的材质,mymtl_1位材质名称,obj文件中应该有对应的usemtl mymtl_1
ka:a为环境光,及ambient
kd:d为漫反射,及diffuse
ks:s为镜面反射,及specular
对于.obj文件表示的三维模型,我在做实验时候用到了以下几个关键字:
v:顶点坐标,后面三个数分别为x,y,z坐标
vt:贴图坐标点
vn:顶点法线(当显示模型模糊时,应该是obj文件中没有计算法线,因而没法计算光照,这时候需要额外计算顶点法线)
p:点
l:线
f:面
g:组名称
usemtl:材质名称
mtllib:材质库
对于.mtl文件,一般情况下是这么定义的:
newmtl mymtl_1
ka r g b
kd r g b
ks r g b
其中newmtl代表着定义一个新的材质,mymtl_1位材质名称,obj文件中应该有对应的usemtl mymtl_1
ka:a为环境光,及ambient
kd:d为漫反射,及diffuse
ks:s为镜面反射,及specular
相关文章推荐
- BestCoder Round #53 (div.2) HDOJ5422 Rikka with Graph(floyd)
- 解决行内元素之间的间隔bug问题
- CListCtrl控件详解(三)
- 讯飞离线语音合成(离线资源包)
- Autoit3 安装
- Collider 与Collision的区别
- 用循环语句while或for循环编写一个验证登陆的小程序
- 讯飞离线语音合成(离线资源包)
- 8天学通MongoDB——第三天 细说高级操作
- javascript定时器使用
- 整型转字符串C++实现
- iPhone开发之动态创建控件(纯代码创建控件)
- [leetcode单元总结]hash table部分easy篇小总结
- Filter及FilterChain的使用详解
- BackboneJs入门学习[04]—Model实践(2)
- OSPF的stub区域
- 找出字符串中第一个只出现一次的字符 华为OJ
- 浅谈git
- 数据结构学习之路-第二章:循环链表
- 8天学通MongoDB——第二天 细说增删查改