vision引擎中地形着色器介绍

 

引言
地表景观纹理是实时程序中的一大挑战,因为纹理细节、混合层数量、纹理内存和渲染性能之前始终存在矛盾。 vForge 内置各种游戏类型中常用的景观着色技术,可以直观可见地在 vForge 地形编辑器中绘制多种纹理。
 
地形着色器
可在地形编辑器纹理选项卡中自定义地形着色器。

延迟渲染模式下的默认着色器变量:
DefferedTerrain(延迟地形)
DefferedTerrainNormal(延迟地形法线)
DefferedTerrainNormalParallax(延迟地形法线视差)
DefferedTerrain_Lightmap(延迟地形光照贴图)
DefferedTerrainNormal_Lightmap(延迟地形法线光照贴图)
DefferedTerrainNormalParallax_Lightmap(延迟地形法线视差光照贴图)
DefferedTerrainFullbright(延迟地形全亮)
DefferedTerrainSpecular(延迟地形高光)
DefferedTerrain2WM(延迟地形 2 权重贴图)- 着色器会在一个基地纹理上混合 8 个纹理,其代价是使用 2 个权重贴图,不使用法线贴图。
 
正向渲染模式下的默认着色器变量:
地形
TerrainNormalmap(地形法线贴图)
TerrainDirectional(地形指向性)
TerrainDirectionalNormalmap(地形指向性法线贴图)
通常,纹理混合会在每个区块将 4 个纹理和一个基底纹理混合在一起(基底 + RGBA 混合),要使用更多数量的纹理,您可以选择  DefferedTerrain2WM(延迟地形 2 权重贴图)着色器,使用两个权重贴图后,可以在一个基底纹理上混合最多 8 个纹理。
 
   注:纹理采样器和缩放比例参数等属性可通过地形渲染代码自动追踪,所以不应作为着色器参数呈现。

   注:如果地形编辑器为
烘培模式 (切换按钮在工具栏内),自定义着色器分配仅在 vForge 内可见。 非烘培模式下,vForge 始终使用编辑着色器,每个细节纹理都在单独通路中渲染。
 
权重贴图
纹理结果通常由像素着色器定义,该着色器决定了输入的纹理如何组合产生最终色彩结果。 大部分组合方法都使用权重贴图纹理来混合不同的细节纹理。
 
 SDK 内置一个演示该方法的示例:
开始菜单 → 所有程序 → Havok Vision SDK → vForge Sample Maps → Exported Scenes → Terrain Editing - Landscape Mixing 和 
开始菜单 → 所有程序 → Havok Vision SDK → vForge Sample Maps → Scene Files → Terrain Editing - Landscape Mixing
 
 
每个细节纹理都由同一个涵盖整个高度场的大加权纹理加权。
加权纹理的红色通道用来混合到细节纹理 #0,
绿色通道用来混合到细节纹理 #1
蓝色通道用来混合到细节纹理 #2。
仅在没有指定任何加权的位置(黑色部分),第四个基底细节纹理才会可见。 所有细节纹理都可独立平铺,例如 60×60、80×80 等。 混合技术如下图所示:

这一方案不使用建模工具中指定的原始基底颜色贴图。 但是,如果没有与客户图形系统兼容的着色实施方案,单色贴图应被视为回退系统的最低保障,所以观感也不能差。
 
在地形编辑器内,您可以在交互式界面下绘制颜色通道并保存所产生的加权贴图。

转自:project anarchy中文社区

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值