lod_index 和 lod_distances

lod_index

设置该技术所属的细节层次索引。

格式: lod_index <数字>
数字的合法数值范围是 0(最高细节层次)到 65535,尽管这是不可能的。在技术之间的细节层次索引中不能留空当。也就是说,细节层次索引要按顺序排列,例如:0,1,2,3,……;而不能出现:0,10,20,30,……,这样的情况。
示例: lod_index 1

每个技术都必须对应属于一个细节层次索引,默认它们都属于索引0,即最高等级的细节层次。增加索引的数值意味着降低细节层次。你可以给不止一个技术赋值相同的细节层次索引,这就是说OGRE会自动从中挑选最好的技术。为了方便阅读,建议你先按照细节层次顺序,然后再按照优先级顺序,排列你的技术,尽管按照优先级排列是唯一必要条件(OGRE按照排列的前后顺序决定哪一个是“最好的”)。你必须在lod_index 0层上至少有一个技术。

在一个细节层次水平上所应用的距离是靠包含在材质里的lod_distances属性决定的。细节详见下面lod_distances部分。

默认: lod_index 0

lod_distances

注意:这一属性必须在材质部分之外指定(例如,所有技术的父层次),而在这里进行介绍是因为它与这部分关系最密切。

在设置这个属性前,你先要指定你想要这个材质基于距离镜头的远近距离决定它使用的技术。你必须给定一个升序的距离表,其中每一项指定了材质将要转换到下一个细节层次的距离。暗含的意思就是,如果小于距离表中最小值,则所有材质在细节层次0上都会显示。你必须保证每个细节层次上至少有一个技术(所以,如果你指定了三个距离,你就必须有技术1、技术2和技术3)。注意你必须总是保证在lod_index 0上至少有一个技术。

格式: lod_distances <distance_1> [<distance_2> ... <distance_n>]
示例: lod_distances 300.0 600.5 1200

距离在300单位以下时,上例会令材质选用lod_index 0中最好的技术;距离在300到600之间时,会选用lod_index 1中最好的技术;距离在600到1200之间时,选用lod_index 2中最好的技术;距离在1200以上时,选用lod_index 3中最好的技术。

技术也包括一个或一个以上渲染通路(且必须至少有一个),详见3.1.2 渲染通路(Pass)部分。 

 

 
所以技术的排列顺序通常为这样
Material MyTestMaterial
{
lod_distances 200
       Technique Lod_0_Hdr_Open_Shader_3_0
       {
Lod_index 0
              Pass 0
{
       Texture_unit
       {
              //…..
}
       Texture_unit
       {
              //…..
}
              }
Pass 1
{
       Texture unit
{
       // ….
}
}
}
       Technique Lod_0_Hdr_Close_Shader_1_0
       {
Lod_index 0
              Pass
{
       Texture_unit
       {
              //…..
}
       Texture_unit
       {
              //…..
}
              }
}
       Technique Lod_1_Hdr_Open_Shader_3_0
       {
Lod_index 1
              Pass
{
       Texture_unit
       {
              //…..
}
       Texture_unit
       {
              //…..
}
              }
}
       Technique Lod_1_Hdr_Close_Shader_1_0
       {
Lod_index 1
              Pass
{
       Texture_unit
       {
              //…..
}
       Texture_unit
       {
              //…..
}
              }
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值