-
材质库文件
.mtl
文件格式解析
分类:
图形处理(图形学
+openGL
)
2012-03-29
21:13
334
人阅读
评论
(0)
收
藏举报
.
mtl
文件
(
Material
Library
File
)
是材质库文件,
描述的是物体的材质信息,
AS
CII
存储,
任何文本编辑器可以将其打开和编辑。
一个
.mtl
文件可以包含一个
< br>或多个材质定义,对
于每个材质都有其颜色,纹理和反
射贴图的描述,应用于
物体的表面和顶点。
以下是一个材质库文件的基本结构:
newmtl mymtl_1
材质颜色光照定义
纹理贴图定义
反射贴图定义
newmtl
mymtl_2
材质颜色光照定义
纹理贴图定义
反射贴图定义
newmtl mymtl_3
材质颜色光照定义
纹理贴图定义
反射贴图定义
??
注释:每个材质库可含多个材质
定义,每个材质都有一个材质名。用
newmtl
mtlNa
me
来定义一个材质。对于每个材质,可定义它的颜色光照纹理反射等描述
特征。主要的定义格式如下文所示:
//////
//////////////////////////////////////////
材质颜色光照
1
。环境反射有以下三种描述格式,三者是互斥的,不能同时使用。
Ka r g b
——用
RGB
p>
颜色值来表示,
g
和
b
两参数是可选的,如果只指定了
r
的值,则
g
和
b
的值都等于
r
的值。三个参数一般取值范围为
0.0~1.0
,在此范
围外的值则相应的增加或减少
反射率
;
Ka spectral factor
——用一个
rfl
文件来表示。
factor
是一个可
选参数,表示
.rfl
文件中值的乘数,默认为
1.0;
Ka xyz x y z
——用
C
IEXYZ
值来表示,
x
,
y
,
z
是
CIEXYZ
颜色空间的各分量
值。
< br>y
和
z
两参数是可选的,
如果只指定了
x
的值,
则
y
和
z
的
值都等于
r
的值。
三个参数一般取值范
围为
0~1
。
2
。漫反射描述的三种格式:
Kd r g b
Kd spectral factor
Kd xyz x y z
3
。镜反射描述的三种格式
:
Ks r g b
Ks spectral factor
Ks xyz x y z
4
。滤光透射率描述的三种格式:
Tf r g b
Tf spectral factor
Tf xyz x y z
5
。光照模型描述格式:
illum illum_#
指定材质的光照模型。
illum
后面可接
0~10
< br>范围内的数字参数。各个参数代表
的光照模型如下所示:
---------------------------------------
-----------------------
光照模型
属性
0 Color on and
Ambient off
1 Color on and Ambient on
2 Highlight on
3 Reflection
on and Ray trace on
4 Transparency:
Glass on
Reflection: Ray trace on
5 Reflection: Fresnel on and Ray trace
on
6 Transparency: Refraction on
Reflection: Fresnel off and Ray trace
on
7 Transparency: Refraction on
Reflection: Fresnel on and Ray trace
on
8 Reflection on and Ray trace off
9 Transparency: Glass on
Reflection: Ray trace off
10 Casts
shadows onto invisible surfaces
-------
--------------------------------------------------
-----
6
。渐隐指数描述
d factor
参数
factor
表示物体融入背景的数量,取值范围为
0.0~1.0
,取值为
1.0
表示
完
全不透明,取值为
0.0
时表示完全透明。当新创建一个物体时
,该值默认为
1.0
,即无渐隐效果。
与真正的透明物体材质不一样,
这个渐隐效果是不依赖于物体的
厚度或是否具有
光谱特性。该渐隐效果对所有光照模型都有效。
d -halo factor
指定一种受观察者影响的渐隐效果。例如,对于一个定义为
d
-halo 0.0
的球
体,在它的中心是完全消隐的,而在表
面边界处将逐渐变得不透明。
其中
f
actor
表示应用在材质上的渐隐率的最小值。而材质上具体的渐隐率将在
这个最小值到
1.0
之间取值。其计算公式为:<
/p>
dissolve = 1.0 -
(N*v)(1.0-factor)
7
。反射指数描述
Ns exponent
指定材质的反射指数,定义了反射高光度。
< br>exponent
是反射指数值,该值越高则高光越密集,一般取值范围在
0~1000
。
8
。清晰度描述
Sharpness value
指定本地反射贴图的清晰度
。
如果材质中没有本地反射贴图定义,
则将此值应用
到预览中的全局反射贴图上。
value
可在
0~1000
中取值,默认
60
。值越高则越清晰。
9
。折射值描述
Ni ptical density
指定材质表面的光密度,即折射值。
ptical density
是光密度值,可在
0.001
到
10
之间进行
取值。若取值为
1.0
,
光在通过物体
的时候不发生弯曲。玻璃的折射率为
1.5
。取值小于
1.0
的时候可
能会产生奇怪的结果,不推荐。
//////////////
//////////////////////////////////
纹理映射
纹理映射可以对映射的相应
材质参数进行修改,
这个修改只是对原有存在的参数
进行叠加修
改,
而不是替换原有参数,
从而纹理映射在物体表面的表现上有
很好
的灵活性。
纹理映射只可以改变以下材质参数:
- Ka (color)
- Kd (color)
- Ks (color)
- Ns (scalar)
-
-
-
-
-
-
-
-
-
上一篇:常用的铺装材料汇总
下一篇:PADS制作4层PCBA板的练习