Graphics - Pass

本文介绍了图形渲染中Pass的基本概念及应用,包括如何利用多Pass技术实现特定视觉效果,如外扩模型式描边和解决半透明物体渲染时的显示乱序问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;

Pass

将一组 Mesh/Parameter 输入转化为Pixel Output的过程,称做一个Pass;多Pass则是指将一组 Mesh/Parameter 输入在屏幕上Draw多次;

在Unity的Shaderlab中,我们经常会使用Pass{ }关键字为同一个材质声明多个RenderState不同的Pass实现一些效果,而在UE4中并没有在shader/材质层面做多Pass的支持;虽然有Layer,但并无法实现不同ShadingModel / RenderState计算结果的叠加,只是对MaterialParameter的计算结果做了混合;

多Pass的应用场景很多,比如外扩模型式描边;第一个Pass做正常的渲染,第二个Pass用BackfaceCull,DepthLess的RenderState设置,然后在VS中将顶点沿法线方向偏移;还有在渲染半透明物体时我们也会经常用到多Pass,比如半透明的物体一般不会写Depth,就会导致模型的内部和背面也被画出来, 造成显示乱序的效果;解决这个的方法是在第一个Pass中只写入Depth,不渲染任何像素,然后在第二个Pass中把RenderState设为DepthLEqual,这样就可以用DepthTest过滤掉我们不希望渲染出来的内部和背部了;其实多个Pass相当于给同一个Mesh不同的材质


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DoomGT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值