ogre的材质与unity的材质的相似性

最近研究了火炬之光的游戏资源,这款游戏采用ogre引擎,也就促使我研究了一下ogre的材质文件格式,发现和我经常使用的unity的材质格式有很多相似之处,因此分享出来给大家。

ogre的材质文档可以参考这里 http://www.ogre3d.org/docs/manual/manual_16.html , 而unity的shader文档参考这里 http://docs.unity3d.com/Manual/SL-Shader.html

unity的shader语言分为3种,即shaderlab,类似于固定管线语法;cg shader,比较经典的shader语法,相当于对shaderlab的扩展可编程语法;以及surface shader,这个是另外一种系统,没有pass的概念,相当于 基于某种光照模型,然后调整光照模型的参数。 第三种语法不是很熟悉, 如果有了解这第三种模型渊源的朋友可以告诉我。

继续将ogre和unity的对比: 类似的两者的材质语言 都有固定管线和 可编程管线 语法。 其中unity中的shaderlab 标准语法和ogre 相比很类似,但是ogre比unity的shaderlab强大一些。

两者都有基本的Pass概念,基本语法形式都是在Pass中操作texture的混合方式,以及配置标准的光照参数。

ogre有一个 scroll anim的功能,是非常常用的做纹理动画的参数,但是unity的shaderlab中是没有的,可以用 cg shader来模拟。

火炬之光中常见的几种shader技巧: scroll anim 做水流和烟雾; 用 加法混合 模式来做灯光的混合,做出高亮的光照效果; 使用 反射贴图 加上 scroll anim动画,做出 流光的效果; 使用乘法模式,来做光照 照射物体的效果; 使用纹理帧动画来做假河流 的 波光粼粼效果; 使用 alpha rejection 即alpha 测试来做 一些树叶 草丛等;

这些效果都可以用unity来模拟,对于unity不支持的语法,可以写cg shader来模拟。 unity 同时支持queue 渲染队列的概念,来达到渲染顺序的控制。

转载于:https://my.oschina.net/u/186074/blog/380617

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值