TA百人计划学习笔记 3.2混合模式及剔除

发布时间:2024年01月23日
  • 资料
  • 混合模式
    • 是什么
      • 从渲染流程解释
      • 从效果上解释
        • Blend 就是把两种颜色混在一起。具体就是把某一像素位置原来颜色和将要会上去的颜色,通过某种方式或者算法混在一起,从而实现新的效果。
    • 公式
      • 最终颜色 = Shader计算后的颜色值 * 源因子(SrcFactor) + 累积颜色* 目标因子(DstFactor).
        • 累计颜色可以理解为渲染当前物体后面的颜色即GBuffer中的像素(颜色缓冲区中的颜色)。
      • factor因子
        • 在脚本里会看到的就是 :Blend SrcFactor DstFactor。
      • Blendop操作符
    • 常见的模式
    • shader
  • 剔除
    • 是什么
      • ?
        • 剔除是一种优化方式,即不渲染背离观察者的面。
    • 方式
      • 法线剔除
        • 也被称为背面消隐,根据法线朝向判断哪个面被剔除掉。可以用来控制是否双面渲染。
        • 语法
          • 配置
            • Cull Off/ Front / Back
              • Back 不渲染背离观察者的多边形_(默认值)_,即剔除背面多边形。
              • Front 不渲染面向观察者的多边形。用于从里到外翻转对象。
              • Off 禁用剔除 - 绘制所有面。用于特殊效果。
          • 枚举
      • 面裁剪
        • clip函数会将参数小于0直接在片元着色器直接丢弃,常用于制作溶解,裁剪等效果。
          • 注意
            • clip函数在powerVR的机型上效率低
            • clip函数最好使用alphatest队列
        • 语法:clip();默认会切掉0.5的部分。
          • 可以通过预制件_int 控制clip(_int)的裁剪
            • code
          • 底层逻辑
  • 补充
    • 双面渲染
      • ?
        • 与剔除的底层逻辑相同,通过视线方向(viewdir)dot法线方向(normal)的值判断面相对观察者的朝向
      • 实现方法
        • 设置材质的 CullMode 为 None,如下图所示:
        • 根据朝向判断采用正面还是背面的贴图和颜色
          • 当为背面时,翻转法线,才能确保光照正确,如下图所示:
      • 应用场景
        • 人物衣服、裙子、飘带里外
        • 单向透光玻璃
        • 阔叶植被(如芭蕉树、椰子树等)
        • 布料、纸张等特殊展示场合
文章来源:https://blog.csdn.net/weixin_57856130/article/details/135777415
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。