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 ...
随机推荐
- Using Tensorflow SavedModel Format to Save and Do Predictions
We are now trying to deploy our Deep Learning model onto Google Cloud. It is required to use Google ...
- C# 压缩、解压缩
/// <summary> /// 压缩文件 FNameArry 为客户端传回来的文件列表:文件名数组,压缩包的名称strZipName /// </summary> /// ...
- 洛谷P2330 [SCOI2005]繁忙的都市——kruskal
给一手链接 https://www.luogu.com.cn/problem/P2330 这道题实质就是最小生成树 TIPS:最小生成树不仅是整体权值最小,也是最大边最小 #include<cs ...
- df认识
import pandas as pd #自己创建一个df df = pd.DataFrame({ ,,], 'col2':["zs",'li','zl'], 'col3':[3. ...
- 【xinsir】githook之precommit分享
钩子类型 使用node编写githook,以pre-commit为例: 1.在项目下配置自动生成pre-commit文件,一般可以在启动项目的脚本下添加: modifyPreCommit: funct ...
- [Codeforces 364D]Ghd(随机算法+gcd)
[Codeforces 364D]Ghd(随机算法) 题面 给出n个正整数,在其中选出n/2(向上取整)个数,要求这些数的最大公约数最大,求最大公约数的最大值 分析 每个数被选到的概率\(\geq \ ...
- Gradle 入门--只此一篇
是什么? 在语法上是基于Groovy语言的(Groovy 是一种基于JVM的敏捷开发语言,可以简单的理解为强类型语言java的弱类型版本),在项目管理上是基于Ant和Maven概念的项目自动化建构工具 ...
- angularjs 信息链接 转摘自:http://www.zhihu.com/question/27427447
这个问题嘛,真不好回答,问的太笼统了,其实你只要熟悉掌握了Angular.js,自然而然的就会用Angular.js结合自身的业务去构建SPA程序了,Angular.js是一个比较全面的框架,按照他的 ...
- LeetCode 852. Peak Index in a Mountain Array(C++)
Let's call an array A a mountain if the following properties hold: A.length >= 3 There exists som ...
- matlab调试技巧
Matlab的调试总体分为,直接调试和间接调试. 1.直接调试: (1)去掉句末的分号: (2)单独调试一个函数:将第一行的函数声明注释掉,并定义输入量,以脚本方式执行 M 文件: (3)适当地方添加 ...