1.4 Pass

1.Pass简介

2.Tags之LightMode

3.渲染状态


1.Pass简介

在URP中, Pass的执行顺序并不是严格按照Shader中编写的Pass顺序, 而是由URP管线根据每个Pass的LightMode Tag来调度

执行; URP管线在渲染过程中会定义多个渲染阶段(例如: 前向渲染、阴影投射、深度预处理等), 每个阶段会收集所有Shader

中具有对应LightMode的Pass, 然后按照URP内部定义的顺序执行

2.Tags之LightMode

a.UniversalForward

这是URP的主通道, 用于渲染所有受到光照影响的物体

b.SRPDefaultUnlit

用于渲染不受光照影响的物体

c.ShadowCaster

用于渲染物体到阴影贴图中, 当物体需要投射阴影时, URP会调用这个Pass来生成阴影信息

d.DepthOnly

用于渲染物体的深度信息到深度纹理(_CameraDepthTexture)

e.Universal2D

用于URP的2D渲染器(Render 2D)

3.渲染状态

1).渲染剔除

a.Cull Back 剔除背面, 默认的方式

b.Cull Front 剔除正面

c.Cull Off 不剔除

2).ZTest 深度测试

a.Less

当前片元的深度值小于深度缓冲中的值时通过测试(默认值)

b.Greater

当前片元的深度值大于深度缓冲中的值时通过测试

c.LEqual

当前片元的深度值小于或等于深度缓冲中的值时通过测试

d.GEqual

当前片元的深度值大于或等于深度缓冲中的值时通过测试

e.Equal

当前片元的深度值等于深度缓冲中的值时通过测试

f.NotEqual

当前片元的深度值不等于深度缓冲中的值时通过测试

g.Always

始终通过深度测试

3).ZWrite 深度写入是否打开

a.On 开启深度写入

b.Off 关闭深度写入

注: "UPR渲染管线中, 天空盒一般是在不透明物体之后渲染的"

在这里插入图片描述


4).Blend

渲染状态中的Blend(混合)用于控制如何将"当前片元的颜色与已有颜色缓冲中的颜色进行混合"URP(Universal Render Pipeline), 默认的混合状态通常是不混合("即Blend Off")

a.语法

在这里插入图片描述

b.混合因子

在这里插入图片描述

在这里插入图片描述

c.常见的使用混合情况

- 半透明物体 "Blend SrcAlpha OneMinusSrcAlpha"

如玻璃、水、烟雾等,需要将当前片元的颜色与背景颜色混合, 以产生透过物体看到后面的效果; 通常使用

- 加法混合(Additive Blending) "Blend One One"

常用于光晕、粒子效果等, 这种混合模式会让颜色相加, 使得颜色变亮

- 乘法混合(Multiplicative Blending) "Blend DstColor Zero 或 Blend Zero SrcColor"

用于暗化或阴影效果

- 预乘Alpha(Premultiplied Alpha) "Blend One OneMinusSrcAlpha"

用于处理已经乘以Alpha的纹理, 可以避免边缘黑边

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值