obj文件中的关键字
obj文件使用的关键字
关键字 |
含义 |
v |
表示本行指定一个顶点,此关键字后跟着3个单精度浮点数,分别表示该顶点的X、Y、Z坐标值 |
vt |
表示本行指定一个纹理坐标,此关键字后跟着两个单精度浮点数,分别表示此纹理坐标的U、V值 |
vn |
表示本行指定一个法线向量,此关键字后跟着3个单精度浮点数,分别表示该法向量的X、Y、Z坐标值 |
g |
表示组,后面参数为组名称,指定从此行之后到下一个以g开头的行之间的所有元素结合到一起 |
f |
表示本行指定一个表面,一个表面就是一个三角形图元,此关键字后的参数格式后面将详细介绍 |
usemtl |
此关键字后参数为材质名称,指定了从此行之后到下一个以usemtl开头的行之间的所有表面所使用的材质名称,该材质可以在此obj文件所附属的mtl文件中找到具体信息 |
mtllib |
此关键字后参数为文件名称,指定了obj文件所使用的材质库文件(mtl文件)的文件名称 |
obj文件不包含面的颜色定义信息,不过可以引用材质库,材质库信息储存在一个后缀是".mtl"的独立文件中。mtl文件是obj文件附属的材质库文件,材质库中包含材质的漫射(diffuse),环境(ambient),光泽(specular)的RGB的定义值,以及反射(specularity),折射(refraction),透明度(transparency)等其它特征。mtl文件同obj文件一样,也可以用写字板打开,其中的关键字的含义如下表。
mtl文件使用的关键字
关键字 |
含义 |
newmtl |
定义新的材质组,后面参数为材质组名称 |
Ka,Kd,Ks,Ke |
材质的环境,散射,镜面,放射参数,对应数据为r、g、b值 |
Ns |
材质的光亮度 |
d,Tr |
均可用于定义材质的Alpha透明度 |
sharpness,illum |
材质的锐度(sharpness)和照明度(illumination) |
Ni |
材质的光密度(optical density) |
Tf |
材质的透射滤波(transmission filter),对应数据为r,g,b值 |
map_Ka、map_Kd |
材质的环境,散射和镜面贴图,对应数据为贴图文件名称 |
refl |
材质的反射属性 |
obj文件中的关键字的更多相关文章
- Linux - Shell - 在多个文件中查找关键字
1. 概述 在多个文件中 查找内容 2. 想干啥 目的 在 多个文件 中, 查找内容 准备 之前在 单个文件里 查找过内容 工具 awk 前提 文件有固定格式 查找时有字段的要求 例子 # print ...
- linux所有文件中查找关键字的命令
grep 192.168.1.1 * -r 在所有文件中查找192.168.1.1
- Linux:从文件中搜索关键字并显示行数(cat,grep函数)
假如有test1.txt的格式如下图所示: 有test2.txt的内容如下: 现需将test2.txt含有的关键字的行搜索出来并显示行数 则可以用到命令: cat test1.txt | grep - ...
- 关于Mybatis的SQL映射文件中in关键字的用法
有一个需求是可以选择多个设备进行删除,于是想到将多个设备id拼成字符串作为参数,以逗号隔开,如:"123,234,456". SQL如下: <delete id=" ...
- linux中在某个目录下多个文件中搜索关键字
有四种方法: find 文件目录 -name '*.*' -exec grep 'xxx' {} + -n 或是 find 文件目录 -name '*.*' | xargs grep 'xxx' -n ...
- C++-模板的声明和实现为何要放在头文件中
源: http://blog.csdn.net/lqk1985/archive/2008/10/24/3136364.aspx 如何组织编写模板程序 发表日期: 1/21/2003 12:28:58 ...
- OBJ文件
OBJ文件是Alias|Wavefront公司为它的一套基于工作站的3D建模和动画软件"Advanced Visualizer"开发的一种标准3D模型文件格式,很适合用于3D软件模 ...
- C ++模板的声明和实现为何要放在头文件中?
源: http://blog.csdn.net/lqk1985/archive/2008/10/24/3136364.aspx 如何组织编写模板程序 发表日期: 1/21/2003 12:28:58 ...
- CSharpGL(9)解析OBJ文件并用CSharpGL渲染
CSharpGL(9)解析OBJ文件并用CSharpGL渲染 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo ...
随机推荐
- HDU 6583 Typewriter 题解
——本题来自杭电多校第一场 题意:给定一个字符串,主角需要用打字机将字符串打出来,每次可以: 1.花费p来打出任意一个字符 2.花费q来将已经打出的某一段(子串)复制到后面去 对于这种最优化的问题,我 ...
- xmake 描述语法和作用域详解
xmake的工程描述文件xmake.lua虽然基于lua语法,但是为了使得更加方便简洁得编写项目构建逻辑,xmake对其进行了一层封装,使得编写xmake.lua不会像些makefile那样繁琐 基本 ...
- java--反射原理及操作
1.反射原理 反射具体操作 15.反射的原理(********理解********) * 应用在一些通用性比较高的代码 中 * 后面学到的框架,大多数都是使用反射来实现的 * 在框架开发中,都是基于配 ...
- jQuery基础--事件处理
2. jQuery事件机制 JavaScript中已经学习过了事件,但是jQuery对JavaScript事件进行了封装,增加并扩展了事件处理机制.jQuery不仅提供了更加优雅的事件处理语法,而且极 ...
- python3标准库总结
Python3标准库 操作系统接口 os模块提供了不少与操作系统相关联的函数. ? 1 2 3 4 5 6 >>> import os >>> os.getcwd( ...
- C# InterLock保证数据一致性
; i < ; i++) { c.Increment(); c.Decrement(); ...
- CodeChef Gcd Queries
Gcd Queries Problem code: GCDQ Submit All Submissions All submissions for this problem are ava ...
- qt 如何注册自定义类型?
如何声明自定义类型 如果仅仅在 QVariant 中使用,则仅需要使用 Q_DECLARE_METATYPE 宏进行声明即可. class Custom_ : public QObject { Q_O ...
- go中基本数据类型的默认值
代码 // 基本数据类型(整型,浮点型,字符串型,布尔型)的默认值 package main import ( "fmt" ) func main() { var a int va ...
- 将ibatis迁移到mybatis3的过程记录
将ibatis迁移到mybatis3的过程记录 场景:有些以前的老项目是使用ibatis开发的,现在有转换成mybatis3的需求. 环境准备:需要安装Ant,以下是本人的安装版本,具体怎么安装不再赘 ...