实现透明效果时,开启深度测试,关闭深度写入_透明度可以开启深度测试_isyb的博客-程序员秘密

技术标签: C++  3d渲染  DirectX  

        同一个场景,同时存在透明和不透明物体,存在各种遮挡关系。

        正常渲染流程:渲染不透明物体时,开启深度测试和深度写入;渲染透明物体时,开启深度测试,关闭深度写入。两种状态,互相切换。

        深度测试与深度写入就3种情况:(以下透明物体称为A,不透明物体称为B)

1、始终开启深度测试和深度写入(默认状态)

        此时,如果A在前,B在后,深度测试时,B不能通过测试,B的像素直接被丢弃,因此B不能参与混合,也就不能实现透明效果

2、渲染透明物体时,直接关闭深度测试(“直接关闭深度测试”与“不关闭深度测试只关闭深度写入”的区别)

        此时,如果B在前,A在后,由于不进行深度测试,A和B的像素都参与混合,呈现透明效果。就是说不透明物体挡不住透明物体,渲染错误。

3、渲染透明物体时,开启深度测试,关闭深度写入

        此时,如果A在前,B在后。由于A的深度没有写入,B始终可以通过深度测试,B和A可以混合,实现透明效果。如果B在前,由于A没有通过深度测试,A像素直接被丢弃,B挡住A,渲染正常。

        综上,渲染透明物体时,只能开启深度测试,关闭深度写入,渲染不透明物体时,再把深度写入打开

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/syb1295306116/article/details/121293203

智能推荐

JDBC项目-MySQL 事务、JDBC事务示例、连接池dbcp和c3p0_使用jdbc做事务管理 dbcp做连接池_伍Wu哈Ha的博客-程序员秘密

我没有擦去争吵的橡皮 只有一支画着孤独的笔 MySQL 事务、JDBC事务示例、连接池dbcp 、c3p0事务(TRANSACTION)是作为**单个逻辑工作单元**执行的一系列操作。这些操作作为一个**整体**一起向系统提交,要么都**执行**、要么都**不执行**。

PCB设计,抄板_weixin_33733810的博客-程序员秘密

印刷板制作工艺流程制板工艺程序:修整板周边尺寸--复制--钻孔定位--贴胶--腐蚀--清洗--去胶--细砂纸擦光亮--涂松香水。1.先将符合尺寸要求的复铜板表面用细砂纸擦光亮,再用复写纸将布线图复制到复铜板上。2.用直径1.0mm钻头钻孔、定位口,再进行贴胶(或上油漆)。3.贴完胶后,应在板上垫放一张厚张,用手掌在上面压一压,其目的是使全部贴胶与复铜板粘贴得更加牢靠。必要时还...

html语言利用什么语言,HTML是什么_河星星的博客-程序员秘密

在使用电脑的时候,我们会利用电脑打游戏,听音乐,聊天,更多的时候要进行网页的浏览,求知欲强的小伙伴很希望知道,网页为什么是这样,网页为什么会有如此多的内容?通过一个网页为什么就能打开更多的网页?如此如此的疑问,其实不光是网友朋友好奇,早在互联网开始普及的时候,很多计算机专家学者也在思考如何让网页实现现在我们能看到的网页的效果。经过数十年的发展,HTML成为解决的办法。什么是HTML?HTML是英文...

asp毕业设计——基于vb+VB.NET+SQL Server的web订餐系统设计与实现(毕业论文+程序源码)——订餐系统_sql数据库订餐系统设计_毕业设计方案专家的博客-程序员秘密

大家好,今天给大家介绍基于vb+VB.NET+SQL Server的web订餐系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。文章目录:项目难度:中等难度适用场景:相关题目的毕业设计配套论文字数:7237个字27页包含内容:整套源码+完整毕业论文资源文件目录简图如下:提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。引言1.1 课题背景省略1.2 本课题的研究内容本系统采用B/S(Browser/Server)结构进行设计,使用SQL Server 构建数

Camera-ISP DP/DM/EE/NR/CR_isp ee_Cmatrix204的博客-程序员秘密

Image Process主要过程有DM(Demosic)、DP(Defect Pixel Correction)、CR(Color Reproduction)、EE(Edge Enhancement)、NR(Noise Reduction)处理,主要去研究这些处理的原理以及作用便于工作中更好的接触。

“多尺度”目标检测问题_多尺度问题_笑傲NLP江湖的博客-程序员秘密

一、“多尺度”目标检测问题简介在目标检测任务中,被测目标的大小经常是不固定的,自动驾驶相关检测任务可能要同时检测大卡车与小狗;工业质检相关检测任务可能要同时检测布料的大面积撕裂与小穿孔;医疗病灶检测任务可能要同时检测大小不一的病灶。在被测物体尺度相差极大时,模型通常难以对极大和极小的物体同时进行检测。首先,要知道为什么被测物体尺度相差过大会造成模型精度降低。物体检测领域中各个模型的骨干网络,无外乎不是使用多层卷积逐步提取图像深层信息,生成多层特征图,并基于深层特征图做定位、分类等进一步处理。在这“由

随便推点

小猿圈Java程序员很迷茫怎么办_weixin_34226182的博客-程序员秘密

你有没有很迷茫的阶段,感觉自己什么都不行什么都不会,人生没有方向,没有目标,不知道下一步该往哪里走,下面给你讲讲小猿圈Java讲师的一些经历,java程序员很迷茫改怎么办?作为一名Java程序员,你是不是有的时候会感觉到特别的迷茫呢?有的人说,在刚开始找Java工作的时候,就感觉特别的迷茫,有的人说工作一年就感觉到特别的迷茫,还有的人说工作几年后特别的迷茫,那么你是不是有迷茫的时候呢。不管谁都有迷...

小米多看|变身番茄todo计时,时钟_wlsccc的博客-程序员秘密

小米多看|变身番茄todo计时,时钟;小米多看充不上电;闲置小米多看;

Linux下的串口调试工具 —— Xgcom_Kallen的博客-程序员秘密

(1)安装必须的库apt-get install automakeapt-get install libglib2.0-devapt-get install libvte-devapt-get install libgtk2.0-dev(2)下载xgcom源码包tar -xvf xgcom-0.04.2.tgzcd xgcom-0.04.2-src/(3)编译安装xgcom./autogen

Jedis与Redisson对比有哪些优缺点?_道友,且慢的博客-程序员秘密

Jedis是Redis的java实现客户端,其API提供了比较全面的Redis命令的支持;Redisson实现了分布式和可扩展的Java数据结构,和Jedis相比,功能较为简单,不支持字符串操作,不支持排序、事务‘管道、分区等Redis特性。Redisson的宗旨是促进使用者对Redis的关注分离,从而让使用者能够将精力更集中地放在处理业务逻辑上。...

[翻译]CloudBees 设计原则_weixin_34092370的博客-程序员秘密

2019独角兽企业重金招聘Python工程师标准>>> ...

Python —类的私有属性、公有属性、私有方法、公有方法_python 公有私有_海淀阿朗的博客-程序员秘密

类的私有属性、公有属性、私有方法、公有方法类的公有属性public_attrs:能在类的外部被使用或直接访问。在类内部的方法中使用时 public_attrs_attrs,在类的外部class_name.public_attrs。类的私有属性__private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用时 self.__private...