Unity3D:Graphics.BlitMultiTap方法
2015-08-15 21:52
113 查看
在研究《Graphics.BlitMultiTap方法和ShaderLab类Shader的多重贴图研究》的代码时,发现Graphics.BlitMultiTap函数不太看得懂,百度一下居然发现好文《Graphics.BlitMultiTap方法和ShaderLab类Shader的多重贴图研究》,在这里分享一下。
其中最重要的文字如下:
证明确实是每次SetTexture都可以获取一个新的Multi-Texture层和坐标的,这种隐式传递的方式真害死人...
所以系统BlurEffect自带的那个Shader,即使在BlitMultiTap指定了超过4个OffSets,也只能最多混合4层,因为shader里写死了4次SetTexture,这个BlitMultiTap并不像想的那么自动好用..
这就是Graphics.BlitMultiTap和BlurEffect完全彻底的工作原理了:使用了OpegGL的Multi-texturing 特性,在一个pass里完成硬件支持的多层贴图不同坐标偏移显示并混合。只是官方从来没有资料提过原来Shader里每次SetTexture都对应BlitMultiTap传入的一组Offsets坐标,Shader代码看的人云里雾里的。
意思就是,BlitMultiTap的参数中Vector2D数组的个数 是和 参数material的shader中 SetTexture的个数 是匹配的。
其中最重要的文字如下:
证明确实是每次SetTexture都可以获取一个新的Multi-Texture层和坐标的,这种隐式传递的方式真害死人...
所以系统BlurEffect自带的那个Shader,即使在BlitMultiTap指定了超过4个OffSets,也只能最多混合4层,因为shader里写死了4次SetTexture,这个BlitMultiTap并不像想的那么自动好用..
这就是Graphics.BlitMultiTap和BlurEffect完全彻底的工作原理了:使用了OpegGL的Multi-texturing 特性,在一个pass里完成硬件支持的多层贴图不同坐标偏移显示并混合。只是官方从来没有资料提过原来Shader里每次SetTexture都对应BlitMultiTap传入的一组Offsets坐标,Shader代码看的人云里雾里的。
意思就是,BlitMultiTap的参数中Vector2D数组的个数 是和 参数material的shader中 SetTexture的个数 是匹配的。
相关文章推荐
- Unity Action Game Demo(1)
- unity插件之TDTK的学习之Editor与Manager(二
- Unity3d-Socket之龙一编年史network.dll分析(1)
- Unity3d-Socket之龙一编年史network.dll分析(1)
- Unity Shader:Projective Texture Mapping
- Unity3d之截图方法
- Unity Assets目录下的特殊文件夹名称(作用和是否会被打包到build中)
- Unity3D 5.1.2 html文档打开很慢解决办法
- Unity3d设计模式之单例模式
- Unity3d设计模式之单例模式
- Unity 3D学习笔记(二)—— 脚本01
- Unity shader: Bank BRDF
- unity3d ngui3.7 新手引导遮罩和高亮实现
- Unity Shader: Cook-Torrance
- Unity3D 5.1.2破解(亲测有效)
- 使用Unity3D的50个技巧:Unity3D最佳实践(下)
- Unity Asset(1)Pocket RPG Weapon Trails 武器拖尾效果
- unity3D实际的原始视频游戏开发系列讲座10它《战斗:外来入侵》在第一季度游戏开发
- Unity Critter地图导出到服务器配置
- Unity用shader显示物体线框