半透明渲染

阅读: 评论:0

半透明渲染

半透明渲染

 

半透明物体的特性是什么?

        半透明物体需要显示被它遮挡的的物体。

ok……场景中物体大致就分为半透物体和不透明物体,我们会分别讨论不透明物体与不透明物体,半透明与不透明物体,半透明物体与半透物体之间的渲染关系。

先来几个概念开胃

        在shader中,我们可以设置渲染类型,设置渲染队列值,渲染队列值表示该物体的绘制顺序。

        引擎在渲染时有一个规则,所有半透明物体会在所有不透明物体绘制完成之后绘制。所以引擎会自动给场景物体排序,保证这条原则正确执行。

明确这个之后,需要再回顾渲染管线逐片元处理阶段流程:  模板测试--》alpha测试--》深度测试--》合并图元 

 

渲染队列(RenderQueue):控制绘制顺序,

深度测试 ( ZTest):处理遮挡关系,

深度写入 ( Zwrite):控制通过深度测试的像素写入深度缓冲,

混合(blend):控制通过测试的图元和缓冲中的图元是否进行混合。

 

深度测试保证了被不透明物体遮挡的物体不会被渲染,不透明物体通常会关闭深度写入(zwrite_off),开启混合(blend on)操作。

 

为什么要关闭深度写入?

假设两面玻璃,正常情况下 我们可以透过前面的玻璃看到后面的玻璃,但是开启深度写入的话,在绘制两面玻璃的时候会将图元写入深度缓冲,那么在绘制第二面玻璃的时候,通过深度测试的图元会直接覆盖第一面镜子的渲染结果,这时候渲染的结果就是我们不能通过前面的玻璃看到后

本文发布于:2024-02-01 22:15:25,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170679692439772.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23