在研究《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的个数 是匹配的。

转载于:https://www.cnblogs.com/foxianmo/p/4733208.html

Unity3D:Graphics.BlitMultiTap方法相关推荐

  1. [转] C# 绘制报表,使用Graphics.DrawString 方法

    原文 Graphics.DrawString 方法 在指定位置并且用指定的 Brush 和Font 对象绘制指定的文本字符串. public void DrawString(string s,Font ...

  2. 用RTF格式解决DrawText函数或Graphics.DrawString方法不能设置行距的问题

    绘制多行文字时会用到DrawText函数或Graphics.DrawString方法,但它们都无法设置行距,也无法设置段落间距.下图是用DrawString方法绘制的两段文字,可以看到中文测试段落的行 ...

  3. java使用drawtext重叠_Java Graphics.drawText方法代碼示例

    本文整理匯總了Java中org.eclipse.draw2d.Graphics.drawText方法的典型用法代碼示例.如果您正苦於以下問題:Java Graphics.drawText方法的具體用法 ...

  4. drawimage的用法 java_Java Graphics.drawImage方法代码示例

    本文整理汇总了Java中javax.microedition.lcdui.Graphics.drawImage方法的典型用法代码示例.如果您正苦于以下问题:Java Graphics.drawImag ...

  5. drawrect java_Java Graphics.drawRect方法代码示例

    import javax.microedition.lcdui.Graphics; //导入方法依赖的package包/类 /** * Draws the item. * * @param g Gra ...

  6. unity3d 重要类+方法 。。。再来一遍吧。。。

      static var matrix : Matrix4x4 描述:设置用于渲染所有gizmos的矩阵. 类方法 ◆ Static function DrawCube(center:Vector3, ...

  7. Unity3D 物体移动方法总结

    1. 简介 在Unity3D中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position. 2. 通过Transform组件移动物体 Transform 组件用于描述物体在 ...

  8. android 引用非 android 工程,Unity3D调用android方法(非插件方式)

    关于Unity3D工程与android工程的转换与合并,请参考我的另外一篇博客,如果你对Unity3D工程加入到android工程的过程不熟悉,也请先看完下面这篇博客: android与Unity3D ...

  9. Unity3D调用android方法(非插件方式)

    关于Unity3Dproject与androidproject的转换与合并,请參考我的另外一篇博客.假设你对Unity3Dproject增加到androidproject的过程不熟悉.也请先看完以下这 ...

最新文章

  1. 字符串翻转的两种方法(C++版本)
  2. 饶毅坚守教育学者的风骨,网友鼓励:远离精致利己主义的舒适区
  3. 大数据将改变信息生命周期管理
  4. 铁血规则:事件预订与取消预订[转]
  5. VMware新装CentOS无法连接外网解决方法
  6. P2633-Count on a tree【主席树,LCA】
  7. linux 中文 音乐播放器,linux下的常见音乐播放器
  8. mac系统和鸿蒙,鸿蒙发力,或将超越苹果系统
  9. 2013年测试工作总结
  10. 我中招了:解喝汽水问题
  11. 完美世界hr给大家的简历修改和面试的建议
  12. gitlab无法推送
  13. 用360安全卫士检查计算机中是否有木马,你的电脑真的做好防护了吗?使用360安全卫士木马查杀一键扫描就知道...
  14. MATLAB-APP编程
  15. CVTE 2022届实习生 Web后台开发笔试
  16. 大陆人怎么去香港银行开户?
  17. 网络知识基础篇(网络分层和IP地址)
  18. python输出emoji表情符号 学习笔记
  19. 一套完整的投资体系:判断好生意、发现好公司、找到好价格
  20. LCD液晶显示屏常见类型和接口

热门文章

  1. mysqlreport
  2. 拆分器SplitContainer控件
  3. [扮演不同的角色 知道不同的成就]2008.06.20 黄桃西米露
  4. 征稿 | MIUA 2022 医学影像理解与分析会议
  5. ECCV 2020 论文大盘点-视频目标分割篇
  6. 【python教程入门学习】用Python制作迷宫GIF
  7. 次世代3d游戏建模,零基础的小白可以学吗?
  8. Python | Numpy核心语法和代码整理汇总!
  9. NLP基础|中英文词向量评测理论与实践
  10. ROS 与 Matlab/Simulink联合仿真测试(1)