学习100个Unity Shader (15) ---透明+双面渲染

ops/2024/9/24 18:43:43/

文章目录

  • 效果
  • shader
  • 理解
  • 参考

效果

在这里插入图片描述

shader

Shader "Example/AlphaBlendBothSided"
{Properties{_Color ("Main Tint", Color) = (1, 1, 1, 1)_MainTex ("Texture", 2D) = "white" {}_AlphaScale ("Alpha Scale", Range(0, 1)) = 1}SubShader{Tags {"Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent"}// Pass的先后顺序有影响//渲染后面Pass{Tags{"LightMode" = "ForwardBase"}Cull Front同透明图混合}//渲染前面Pass{Tags{"LightMode" = "ForwardBase"}Cull Back同透明图混合}}Fallback "Transparent/VertexLit"
}

理解

使用透明度混合关闭了深度写入,所以需要两个Pass,一个只渲染背面先执行,另一个后渲染之渲染前面。
Cull <state> 设置 GPU 应该基于多边形相对于摄像机的方向剔除哪些多边形。

参数功能
stateBack剔除背对摄像机的多边形。这称为背面剔除。这是默认值。
Front剔除面向摄像机的多边形。这称为正面剔除。使用它可翻转几何体。
Off不根据面朝的方向剔除多边形。可用于实现特殊效果,如透明对象或双面墙。

Cull 可以写在SubShader下,也可以写在Pass下,作用域不同

参考

《Unity Shader 入门精要》冯乐乐
ShaderLab 命令:Cull


http://www.ppmy.cn/ops/28983.html

相关文章

【EXCEL自动化11】pandas提取指定数据(补充)

🔥学好办公自动化,帮你节省更多宝贵的时间 🔥这个专栏收录python办公自动化的实操案例,利用python实现高效的办公自动化 🔥实现excel,word,文件批处理等自动化操作 目录 一、批量提取多个文件的指定数据二、批量读取xlsx文件并另存三、批量替换文件夹中所有excel文件…

Linux下启动jenkins报错问题解决

jenkins端口报错 java.io.IOException: Failed to start Jettyat winstone.Launcher.<init>(Launcher.java:209)at winstone.Launcher.main(Launcher.java:496)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.int…

嵌入式Linux 系统组成

三种系统组成图 嵌入式Linux系统和PC完整的操作系统的对比如下&#xff1a; // 可以看到我们嵌入式arm 上的 u-boot 同时替代了 BIOS 和 grub2&#xff08;bootmgr&#xff09;的功能 &#xff0c;下面我们来进行一些详细的介绍 1. BIOS和UEFI的作用&#xff1a; a. 进行硬件自…

android 修改最低亮度值,不要太暗

/frameworks/base/core/java/com/android/internal/display/BrightnessSynchronizer.java 修改最低亮度&#xff0c;不能太暗看不见 /** * Converts between the int brightness system and the float brightness system. */ public static float brightnessInt…

Web3与智能合约:科技革新下的新金融时代

在当今数字化时代&#xff0c;Web3和智能合约正在共同塑造着金融领域的未来。Web3作为下一代互联网的重要组成部分&#xff0c;以其去中心化、安全性和透明性为核心特点&#xff0c;正推动着金融行业向着数字化和去中心化的方向发展。而智能合约作为Web3技术的关键应用之一&…

如何从0深入PostgreSQL内核写一个执行器算子?

如何从0深入PostgreSQL内核写一个执行器算子&#xff1f; 大家好&#xff0c;我叫光城&#xff0c;昨天分享了一个主题&#xff1a;如何从0深入PostgreSQL内核写一个执行器算子&#xff1f;今天来总结一下&#xff0c;本篇文章的直播回放可以在b站观看&#xff0c;点击原文或者…

LeetCode455:分发饼干

题目描述 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 g[i]&#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸&#xff1b;并且每块饼干 j&#xff0c;都有一个…

【Day 9】Mybatis CURD + XML 映射 + 动态 SQL

1 Mybatis 基础操作 下面进行&#xff1a;增删改查——C(create)U(update)R(retrieve)D(delete) 1.1 删除&#xff08;删&#xff09; 根据主键 id 进行删除 注意 占位符 #{ } 返回值是删除的记录条数 测试&#xff1a; 可以在日志中看到 mybatis 具体的语句 预编译 SQL 的优…