Early -z Test

  • 什么是Early-z,为什么需要Early-z?

渲染管线:顶点着色器(可以进行顶点mvp变换等)->曲面细分着色器(Tessellatioin 细分控制着色器 细分计算着色器)->几何着色器->剔除(正反面剔除)裁剪-> 三角形设置 三角形遍历->三角形光栅化(顶点插值生成三角形)->[ealy z test] ->像素着色器->alphatest->depth test. 

Early-z 是 发生在顶点着色器后像素着色器之前的深度测试。

由于渲染管线中 深度测试在像素着色器后执行导致渲染的像素,执行完深度测试后被丢弃这无疑是很浪费的,所以 early-z 就被发明出来了。

背景

在了解early-z 之前 先看一下 OpenGL 渲染管线中 都有那些测试。

在网上查看资料有两种 一种是 Per-Sample Processing (每采样处理) 一种是 Per-Fragment_Operations(每像素处理)

                                                                     (每像素处理)

究竟采用上面那种?不重要,重要的是只要知道alpha test 在 深度测试之后执行,这个也是理解为什么alpha test 会使得 early-z失效的关键因素。

1 开启 alpha test (因为如果提前进行深度测试,深度会提前写入,这会导致后面进行alpha test 的时候,但是如果没有通过alpha测试这个像素的渲染就是无效的被丢弃,这样等于一个么有通过alpha测试的像素,深度值却被写入了,会让后面的渲染产生错误的效果).

2.在片段着色器中使用 discard关键字。因为这在一些硬件上执行的时候,相当于已经关闭了深度测试。

但是在一些硬件上也会强制执行提前进行深度测试以OpenGL为例比如使用 

layout(early_fragment_tests) in;

总结:

因此为了性能考虑我们应该尽量不适用影响提前进行测试的操作 alpha test, discard操作等。

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"on early-boot" 是 Android 系统启动过程中的一个阶段,它是在设备引导过程的早期阶段触发的一个事件。在这个阶段,系统会运行一些早期初始化和配置的任务。 要在 "on early-boot" 阶段执行一些脚本或任务,可以按照以下步骤进行操作: 1. 连接到设备:使用 USB 数据线将设备连接到计算机。 2. 启用开发者选项:在设备上启用开发者选项。打开设备设置,找到关于设备或系统信息,然后连续点击版本号几次,直到开发者选项被激活。 3. 启用 USB 调试:在开发者选项中,启用 USB 调试模式。这将允许计算机与设备进行调试和文件传输。 4. 安装 ADB 工具:在计算机上安装 Android 调试桥(ADB)工具。ADB 是一个命令行工具,用于与连接的 Android 设备进行通信和管理。 5. 打开终端:在计算机上打开终端或命令提示符。 6. 运行 ADB 命令:使用 ADB 命令将脚本或任务推送到设备并运行。在终端中,运行以下命令: ```bash adb push script.sh /data/local/tmp/script.sh adb shell chmod +x /data/local/tmp/script.sh adb shell /data/local/tmp/script.sh ``` 其中,`script.sh` 是你要推送的脚本文件名称。将脚本推送到 `/data/local/tmp/` 目录下,并设置脚本的执行权限,然后使用 `adb shell` 命令在设备上运行脚本。 请注意,具体的操作步骤可能因设备和系统版本而有所不同。确保你已正确安装 ADB 工具,并且设备已连接到计算机并启用了 USB 调试模式。根据需要,你可以调整脚本文件的位置和名称,并修改脚本内容以满足你的要求。 请谨慎操作,确保在运行脚本之前备份你的设备数据,并确保你知道如何回滚可能的更改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值