CN112189219A - 低分辨率深度预过程 - Google Patents

低分辨率深度预过程 Download PDF

Info

Publication number
CN112189219A
CN112189219A CN201980034802.5A CN201980034802A CN112189219A CN 112189219 A CN112189219 A CN 112189219A CN 201980034802 A CN201980034802 A CN 201980034802A CN 112189219 A CN112189219 A CN 112189219A
Authority
CN
China
Prior art keywords
depth
pixel
gpu
sampled
full resolution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980034802.5A
Other languages
English (en)
Inventor
M·J·I·福勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN112189219A publication Critical patent/CN112189219A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)

Abstract

本文所描述的示例涉及使用降低的分辨率深度预过程来预填充深度数据用于剔除来绘制全分辨率图像。计算设备可以包括存储器、包括分层深度缓冲区或全分辨率深度数据的图形处理单元(GPU)和至少一个处理器。计算机设备可以以降低的分辨率绘制遮挡几何体。计算机设备可以被配置为对遮挡几何体的像素的深度值进行采样。计算机设备可以基于采样的深度值来预填充GPU深度数据。计算机设备可以响应于至少一个图块或像素的深度大于在GPU深度数据中的对应的深度值,从全分辨率绘制过程中剔除该至少一个图块或像素。计算机设备可以对剩余的图块或像素执行全分辨率绘制过程。

Description

低分辨率深度预过程
背景技术
本公开涉及计算机图形系统,更具体地,涉及绘制(render)包括在不同深度的对象的图像。
计算机图形系统可以从相机的角度绘制基于多个对象的图像。与在现实世界中一样,当从特定的视角观察虚拟对象时,其他对象可能会阻挡(或遮挡)对象的全部或部分的视图。一般来说,较近的对象会遮挡较远的对象。在计算机图形系统中,当使用已经包含另一对象的像素绘画(draw)较近的对象时,会发生过度绘画(overdraw)。现有的像素被替换为针对较近的对象的像素。一般来说,过度绘画被认为是浪费的,因为每个过度绘画的像素的属性使用附加的处理资源被多次确定。
一种减少或消除过度绘画的解决方案是使用在现代图形处理单元(GPU)上可用的深度预过程(pre-pass)。在此方案中,每个对象被绘制两次。在第一次迭代中,仅每像素最近的深度被记录到深度缓冲区。在第二次迭代中,仅最近的对象会通过深度缓冲测试并写入像素数据。这样避免了过度绘画,但代价是处理每个对象两次。这种代价有时可以超过消除过度绘画带来的好处,产生净损失。
减少过度绘画的另一解决方案是执行低分辨率遮挡绘制,通常使用中央处理单元(CPU)。低分辨率遮挡几何体被绘制到遮挡缓冲区,例如,针对建筑的长方体(box)或针对墙或围栏的矩形。这种遮挡绘制被用于测试针对每个对象(通常是长方体)的单个边界体积。如果整个边界长方体被遮挡,则软件可以阻止对象的绘制。然而,对象通常可能只被部分地遮挡,因此软件遮挡绘制仍可以绘制整个对象,从而导致绘制许多被遮挡且随后被过度绘画的像素。
因此,本领域需要改进针对确定是否绘制像素的图形处理。
发明内容
以下提出本公开的一个或多个实现的简化的发明内容,以便提供对这些实现的基本理解。本发明内容不是对所有预期的实现的广泛概述,其既不旨在标识所有实现的关键或必要元素,也不旨在描述任何或所有实现的范围。其唯一目的是以简化形式呈现本公开的一个或多个实现的一些概念,以作为稍后呈现的更详细描述的序言。
在一个示例中,以全分辨率绘制图像的方法包括以低于全分辨率的降低的分辨率绘制遮挡几何体。该方法可以包括对该遮挡几何体的像素的深度值进行采样。该方法可以包括基于多个采样的深度值来预填充GPU深度数据(例如,分层深度缓冲区元数据)。该方法可以包括响应于至少一个图块(tile)或像素的深度比GPU深度数据中的相应的深度值更远,从全分辨率绘制过程中剔除至少一个图块或像素。该方法可以包括对剩余的图块或像素执行全分辨率绘制过程来以全分辨率生成图像。该方法可以包括以全分辨率在计算机显示器上显示该图像。
在另一示例中,以全分辨率绘制图像的方法包括以低于全分辨率的降低的分辨率绘制遮挡几何体。该方法可以包括对遮挡几何体的像素的深度值进行采样。该方法可以包括基于多个采样的深度值来预填充全分辨率深度缓冲区。该方法可以包括响应于至少一个像素的深度比被存储在预填充的深度缓冲区中的对应的深度值更远,从全分辨率绘制过程中剔除至少一个像素。该方法可以包括对剩余像素执行全分辨率绘制过程。例如,当不能直接访问分层深度缓冲区值时,或者在当前GPU上没有实现分层深度缓冲区时,可以使用该方法。
在另一示例中,用于以全分辨率绘制图像的计算设备可以包括存储器,该存储器存储用于执行操作系统和一个或多个应用的一个或多个参数或指令。计算设备可以包括图形处理单元(GPU),用于绘制一个或多个应用的帧以用于在被耦合到计算设备的显示设备上进行显示,GPU包括深度缓冲区,具有或不具有分层深度。计算设备可以包括被耦合到存储器和GPU的至少一个处理器。至少一个处理器可以被配置为以低于全分辨率的降低的分辨率来绘制遮挡几何体。至少一个处理器可以被配置为对遮挡几何体的像素的深度值进行采样。至少一个处理器可以被配置为基于多个采样的深度值来预填充分层深度缓冲区的元数据,或者预填充全分辨率深度值。GPU可以被配置为响应于至少一个图块或像素的深度比分层深度元数据缓冲区或深度缓冲区中的相应的深度值更远,从全分辨率绘制过程中剔除至少一个图块或像素。GPU可以被配置为对剩余的图块或像素执行全分辨率绘制过程,来以全分辨率生成图像。
在另一示例中,计算机可读介质可以包括代码,该代码由一个或多个处理器可执行以用于以全分辨率绘制图像。计算机可读介质可以包括用于以低于全分辨率的降低的分辨率绘制遮挡几何体的代码。计算机可读介质可以包括用于对遮挡几何体的像素的深度值进行采样的代码。计算机可读介质可以包括用于将多个采样的深度值朝向远离相机的另一深度值偏置(biasing)的代码。计算机可读介质可以包括用于基于偏置的(biased)深度值来预填充分层深度缓冲区元数据或者全分辨率深度的代码。计算机可读介质可以包括用于响应于至少一个图块或像素的深度比分层深度缓冲区元数据或深度缓冲区中的对应的深度值更远,从全分辨率绘制过程中剔除至少一个图块或像素的代码。计算机可读介质可以包括用于对剩余的图块或像素执行全分辨率绘制过程来以全分辨率生成图像的代码。
与本公开的实现有关的附加的优点和新颖的特征将部分地在下面的描述中阐述,并且部分地在对以下内容进行检查或通过对其经过实践的学习后,对本领域技术人员而言,附加的优点和新颖的特征将是更加明显的。
附图说明
在附图中:
图1是根据本公开的实现的示例系统的示意框图,该示例系统用于使用低分辨率深度预过程从图形管线中剔除被遮挡的像素;
图2是示例对象的绘制的图像;
图3是根据本公开的实现的、针对图2的示例对象的示例遮挡几何体的表示;
图4是图2的示例对象的包括由于欠采样(undersampling)而得到的缺失的像素的绘制的图像;
图5是示出了被采样到低分辨率屏幕空间中的示例对象的横截面视图的概念图;
图6是根据本公开的实现的、示出了示例每样本偏置技术的概念图,该示例每样本偏置技术用于将图5的对象采样到低分辨率屏幕空间中;
图7是示出了被采样到低分辨率屏幕空间中的示例凹的对象的横截面视图的概念图;
图8是根据本公开的实现的、示出了示例幻像点(phantom point)偏置技术的概念图;
图9是根据本公开的实现的、示出了用于将图7的对象采样到低分辨率屏幕空间中的示例幻像点偏置技术的概念图;
图10是示出了当绘制图2的示例对象时的过度绘画的示意图;
图11是根据本公开的实现的、示出了在使用低分辨率深度预过程预填充分层深度缓冲区之后的过度绘画的示意图;
图12是根据本公开的实现的示例方法的流程图,该示例方法通过使用低分辨率深度预过程从图形管线中剔除被遮挡的像素来绘画图像;以及
图13是根据本公开的实现的示例计算机设备的示意性框图。
具体实施方式
本公开提供了用于以相对低的时延(与当前解决方案相比)在显示器上绘画图像的系统和方法。在图形密集型计算机应用(例如,视频游戏)中,用户体验通常通过提高由特定系统绘制图像的速度来改善。例如,更快的绘制可以实现更高的帧速率(frame-rate),用户将该更高的帧速率感知为更流畅的运动。作为另一示例,更快的绘制可以在保持帧速率不变的情况下使得能够使用更高的分辨率、更多的效果或更多的内容。
例如,在一个实现中,本公开提供了用于执行图像的低分辨率绘制以确定将被用于遮挡剔除(occlusion culling)的可见像素的深度的系统和方法。与执行图像的全分辨率绘制相比,低分辨率绘制可以使用少得多的资源。例如,以全分辨率的八分之一进行的低分辨率绘制可以仅使用六十四分之一的像素。在一个实现中,低分辨率像素可以对应于全分辨率图像的图块,因此剔除可以以图块粒度级别进行。因此,通过使用低分辨率绘制以从全分辨率绘制中剔除与对象的被遮挡部分相对应的像素组,所公开的技术可以减少用于绘制图像的资源使用(例如,时间和处理资源)。
使用降低的分辨率绘制进行遮挡剔除的一个问题是欠采样的可能性。由于在降低的分辨率绘制中的每个像素可以表示在全分辨率绘制中的多个像素,因此降低的分辨率绘制可能无法捕获对象的一些细节。特别值得关注的是,通过对降低的分辨率的深度绘制进行采样,可能无法捕捉到更远或更深的特征。例如,以低分辨率对凹的表面进行采样可能无法捕获凹的表面的最深点。如果与较深特征对应的特征组由于欠采样而被不正确地从全分辨率绘制中剔除,最终图像可能包括缺失的像素,这些缺失的像素对于用户可能是可注意到的。因此,本公开提供了几种用于从降低的分辨率的深度绘制中偏置样本以防止不正确的剔除的技术。
现在参考图1,示例计算机系统100包括计算机设备110。例如,计算机设备110可以是任何移动或固定的计算机设备,包括但不限于台式计算机或膝上型计算机或平板计算机、蜂窝电话、游戏设备、混合现实或虚拟现实设备、音乐设备、电视、导航系统、相机、个人数字助理(PDA)、手持式设备,与一个或多个其他设备具有有线和/或无线连接能力的任何其他计算机设备,或者任何其他类型的计算机化的设备。计算机设备110可以包括用于显示绘制的图像的显示器112。显示器112可以以刷新率(例如,30Hz–90Hz)定期更新。计算机设备110可以使用图形处理单元(GPU)120提供图像以用于在显示器112上显示,该图形处理单元(GPU)120包括用于接收在图像中绘制对象的命令的图形队列124、用于基于分层深度缓冲区130来剔除像素组的遮挡剔除组件134、以及用于绘画未被剔除的剩余像素组的绘制管线126。
计算机设备110还可以包括CPU 114,其执行被存储在存储器116中的指令。例如,CPU 114可以执行操作系统140和一个或多个应用150。操作系统140可以包括显示控制器142以控制GPU 120。例如,显示控制器142可以向GPU 120发送绘制命令。在一些情况下,显示控制器142可以在CPU 114上执行以生成降低的分辨率的遮挡几何体155。
计算机设备110可以包括存储器116和CPU 114,CPU 114被配置为控制计算机设备110的操作。存储器116可以被配置用于存储数据和/或计算机可执行指令,该数据和/或计算机可执行指令定义操作系统140和/或应用160、和/或与操作系统140和/或应用150相关联,并且CPU 114可以执行操作系统140和/或应用150。存储器116的示例可以包括但不限于由计算机可用的存储器类型,诸如随机存取存储器(RAM)、只读存储器(ROM)、磁带、磁盘、光盘、易失性存储器、非易失性存储器及其任何组合。存储器116可以存储由CPU 114执行的应用的本地版本。
CPU 114可以包括用于执行指令的一个或多个处理器。CPU 114的示例可以包括但不限于如本文所描述的专门编程的任何处理器,包括控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、片上系统(SoC)或其他可编程逻辑或状态机。CPU 114可以包括其他处理组件,诸如算术逻辑单元(ALU)、寄存器和控制单元。
操作系统140可以包括被存储在存储器116中并由CPU 114可执行的指令(诸如应用150)。操作系统140可以包括用于控制GPU 120的显示控制器142。例如,显示控制器142可以从应用150接收对象148,并向GPU 120提供命令146以执行一个或多个特定的图形处理操作,诸如绘制源图像或执行调整。
GPU 120可以包括用于图像处理的一个或多个处理器和专用硬件。在实现中,GPU120可以与计算机设备的主板上的CPU 114集成,或者可以是分立的芯片。GPU 120可以包括专用存储器122。GPU 120可以经由显示器接口138连接到显示器112。GPU 120可以根据显示器112的刷新率,经由显示器接口138从图像缓冲区128周期性地扫描出图像到显示器112。GPU 120可以包括图形队列124、绘制管线126、分层深度缓冲区130和遮挡剔除组件134。图形队列124可以从显示控制器142接收用于绘制图像的命令。图形队列124通常可以向绘制管线126提供命令。绘制管线126可以执行图像处理的多个级。例如,绘制管线126可以包括输入汇集器(input-assembler)级、顶点着色器级、外壳(hull)着色器级、镶嵌器(tessellator)级、域着色器级、几何体着色器级、流输出级、光栅化器(rasterizer)级、像素着色器级和输出合并器(merger)级。
GPU 120可以包括用于存储与全分辨率绘制相关的深度数据的GPU深度数据129。例如,GPU深度数据129可以包括分层深度缓冲区130,其也可以被称为分层z缓冲区或HZB。分层深度缓冲区130还可以包括元数据132,元数据132可以包括针对像素组的附加信息。例如,分层深度缓冲区130和元数据132可以包括针对被称为图块的8×8像素组的信息。分层深度缓冲区130包含针对在该图块中包含的像素集的最小深度值和/或最大深度值。这些最小深度值和最大深度值可以被保守地量化(例如使用14位或16位),而全分辨率深度数据136可以使用更多位(例如32位)来存储。因此,分层深度缓冲区130相比实际GPU 120的计算可能具有较低的精度。元数据132还可以包括清除状态位和用于加速深度测试或清除操作的其他数据。分层深度缓冲区130最小深度值和最大深度值可以与元数据132的其他值一起打包,以形成完整的机器字,例如32位数据,或者它们可以被分离地存储。
遮挡剔除组件134可以是用于基于分层深度缓冲区130剔除像素或图块的硬件加速器。在第一次通过中,遮挡剔除组件134可以接收图块,并且基于分层深度缓冲区130来确定该图块是否被遮挡例如,通过将被绘制的图块的深度范围与最小和最大深度值进行比较。在第二次通过中,如果图块通过遮挡剔除,则遮挡剔除组件134可以基于分层深度缓冲区130来确定各个像素是否被遮挡,并且最后如有必要,对全分辨率深度缓冲区测试各个像素。遮挡剔除组件134的实现可以基于GPU 120而变化,并且一旦分层深度缓冲区130和/或元数据132被填充,则遮挡剔除组件134的实现可以对应用150是透明的。
在示例中,显示器接口138可以与GPU 120和/或存储器122通信地耦合用于与显示器112通信。如本文所称的显示器接口还可以包括能够允许计算机设备110和显示器112之间的通信的各种类型的端口,包括高清多媒体接口(HDMI)端口、显示器串行接口(DSI)端口、移动行业处理器接口(MIPI)DSI端口、通用串行总线(USB)端口、火线端口或其他嵌入式或外接的有线或无线显示器端口。
应用150可以包括涉及向显示器112绘制图像的图形组件。例如,应用150可以包括以帧速率向显示器112绘制一系列图像的视频游戏。通常,应用开发者可以通过最大化帧速率、分辨率、颜色深度或其他图像属性,或者让用户选择这些属性,来寻求改善用户体验。一个或多个应用150可以包括深度预过程组件152,用于在以全分辨率绘制图像之前使用降低的分辨率绘制来从图像中剔除被遮挡的像素组。深度预过程组件152可以包括深度绘制器154和采样器156,深度绘制器154用于以低于全分辨率的降低的分辨率绘制遮挡几何体155,采样器156用于基于遮挡几何体155的采样的深度值158来预填充GPU深度数据129(例如,分层深度缓冲区130、元数据132,或深度数据136)。
深度绘制器154可以包括执行场景的仅深度绘制以生成遮挡几何体155的指令。遮挡几何体155可以具有比最终的全分辨率图像低的分辨率。例如,较低的分辨率可能是全分辨率的四分之一、八分之一或更低。深度绘制器154可以指示CPU 114或者GPU 120以执行仅深度绘制。由于仅深度绘制以较低的分辨率被执行,并且可以省略一些处理密集的像素级操作,因此CPU 114和GPU 120两者都可以能够快速执行仅深度绘制。应用设计者可以基于应用150的特定需要以及正在CPU 114或GPU 120中的每一个上被执行的其他工作,来选择是否CPU 114或GPU 120执行仅深度绘制。由仅深度绘制生成的遮挡几何体155可以包括在仅深度绘制中屏幕空间的每个像素的深度值。深度值158可以是绘制的最近对象/表面的深度。较大的深度值158可以指示对象离相机或屏幕更远,或者如果应用正在采用Reverse-Z算法,较小的深度值158可以指示对象离相机更远。
深度绘制器154可以从仅深度绘制中省略一些场景对象。特别地,可以从仅深度绘制中省略作为不良遮挡器的对象。例如,小对象、透明对象和包括孔的对象可能无法完全遮挡不良遮挡器后面的对象。由于低分辨率和欠采样,不良遮挡器也可以具有比预期更大的遮挡效果,从而导致不正确的图像。即,不良遮挡器后面的像素可以基于深度被剔除,导致缺失的像素在邻近不良遮挡器处可见或通过不良遮挡器可见。不良遮挡器可以通过覆盖的像素的数量、通过其投影的屏幕空间面积、通过从遮挡绘制中手动排除或通过其他方式来被标识。因此,深度绘制器154可以从仅深度绘制中省略不良遮挡器,但是这种不良遮挡器可以被包括在全分辨率绘制过程中。
采样器156可以对遮挡几何体155的深度值158进行采样,以用于预填充GPU深度数据129的分层深度缓冲区130、元数据132或全分辨率深度数据136。在实现中,采样器156可以被偏置以生成保守的深度采样值。即,采样器156可以生成更远的深度值,以防止可能接近遮挡几何体155的像素的不正确剔除。例如,采样器156可以使用诸如全局偏置、舍入(rounding)偏置和每样本偏置的技术来保守地偏置深度样本,同时保持接近遮挡几何体155的实际深度值,以便获得剔除的益处。每样本偏置可以包括取相邻像素及其幻像点的最远的深度。下面参照图5-图9进一步详细地描述这些采样技术。
现在参考图2,示例图像200表示可以经由GPU 120被绘制的示例对象210。对象210可以具有可能被过度绘画并且可能消耗大量图形处理资源的几何体。例如,所图示的对象210可以是由在表面上具有半球形凹陷的多个立方体组成的分形对象。球形凹陷可能是基于纹理的效果,该纹理不存在于底层对象中。如图所示,立方体的表面与其他立方体的表面重叠,这通常导致每个立方体的可见部分为矩形棱柱体。因此,如果每个表面被绘制,则GPU120可以对先前绘制的像素执行显著的过度绘画。此外,全分辨率深度预过程仍将包括绘制每个立方体。边界体积软件遮挡剔除可能不是特别有用,因为每个立方体仅阻挡其他立方体的一部分,因此,软件遮挡剔除可能从绘制过程中剔除少数立方体,而大量的过度绘画可以保留。
图3图示了可以由深度预过程组件152的深度绘制器154生成的对象210的示例降低的分辨率遮挡几何体300(即,和遮挡几何体155的示例)。降低的分辨率遮挡几何体300仅包括对象210的深度值。离相机较近(深度较浅)的像素以较暗的阴影示出,而距离相机较远(较深)的像素以较浅的阴影示出。
图4图示了对象210的一部分的示例图像400。图像400可以包括由于欠采样而得到的缺失的像素410、420。缺失的像素410可以位于基于降低的分辨率遮挡几何体300而被剔除的像素组的位置。因此,当全分辨率绘制过程将每个图块的实际最远点与降低的分辨率遮挡几何体300的采样值比较时,采样点显现为遮挡了该图块,因此该图块被不正确地剔除。其他缺失的像素420可以是由于表面的边没有实际遮挡2D图像中与该边邻近的更远的表面。即,由于欠采样,即使高分辨率绘制不包括针对邻近的像素的针对较近表面的像素,在高分辨率绘制中,较近表面的采样值也被应用于邻近的像素,该像素显现为被遮挡。
图5是示出了被采样到低分辨率屏幕空间中的对象510的横截面视图的概念图500。低分辨率屏幕空间可以由像素520、522、524表示。全分辨率屏幕空间可以由像素540表示。对象510可以具有斜率(slope),使得对象510的深度在与像素520、522、524相对应的不同位置采样时变化,以获得深度值530、532、534。当GPU 120的遮挡剔除组件134使用深度值530、532、534来剔除全分辨率屏幕空间中的像素540时,深度值532可以表示实际对应于不同深度的像素540。为了剔除,对象510中比深度值532更近的部分将不被剔除,但是与比深度值532更远的对象510的部分相对应的像素540可以被剔除,因为即使深度值532和像素540可以表示对象510的相同表面,遮挡剔除组件134可以确定对象的部分被与深度值532相对应的像素遮挡。这种不正确的剔除可以导致缺失的像素410、420。
图6是示出了用于将对象510采样到低分辨率屏幕空间中的示例每样本偏置技术的概念图600。每样本偏置技术可以将对应像素522的最远的采样的深度值和最多八个邻近像素分配给深度值622。在这个横截面视图中,仅两个邻近的像素被图示。例如,深度值632可以被设置为在像素520、522和524处的样本的最大深度值,在本示例中是在像素520处的深度值630。因此,通过将在像素520处的深度值分配给深度值632,针对每个像素520、522和524所存储的值可能比对象510的表面更远。因此,当使用每样本偏置时,所图示的全分辨率像素540都不会被剔除。
图7是示出了被采样到低分辨率屏幕空间中的对象710的横截面视图的概念图700。低分辨率屏幕空间可以由像素720、722和724表示。全分辨率屏幕空间可以由像素740表示。对象710可以具有由表面712和表面714限定的凸(convex)表面。因此,当对分别对应于像素720、722、724的深度值730、732、734进行采样时,针对一些全分辨率像素740,对象710的表面有可能比任何深度值730、732、734更远。因此,获取一组相邻深度的最远的深度的每样本偏置技术可能无法防止一些全分辨率像素740被不正确地剔除。
图8是示出了使用幻像点的示例每样本偏置技术的概念图。幻像点可以是与延伸到表面边之外的对应于该表面的点。例如,幻像点810可以对应于表面712。采样器156可以基于被采样的像素722的深度以及与幻象点810相对的像素724使用简化的斜率计算来确定针对与被采样的像素722邻近的每个像素720、724的幻像点。即,由于两个邻近的像素720、724与被采样的像素722等距,因此幻像点810的深度可以是深度值732的深度减去在相对的像素724处的深度值734与深度值732之间的差。即如图8所示,像素A的幻像点的深度值PA=B–(C-B)。
图9是示出了使用被应用于对象710的幻像点的偏置的概念图。如图8所示,幻像点810可以对应于表面712。像素722的深度值932可以被设置为像素722的深度、八个相邻像素(例如,像素720和724)的深度以及任何幻像点(例如,幻像点810)的深度中最远的深度。因此,在该示例中,样本深度值932可以被设置为幻像点810的深度。在实现中,只有与针对被采样的像素的采样的表面相对应的幻像点可以针对被采样的像素被确定。例如,由于像素722不对应于表面714,采样器156可以不确定针对像素722的与表面714相对应的幻像点。然而,当确定样本深度值930时,采样器156可以确定针对表面714的幻像点。针对全分辨率像素740中的每一个像素的对象710的深度可以比基于幻像点810的深度值932更近,因此像素740中的每个像素将基于对象710而被绘画。
可以使用的附加的偏置技术包括全局偏置,该全局偏置对每个深度样本施加偏移(offset)。虽然全局偏置减少了不正确的剔除,但是全局偏置也可以减少期望的剔除和相关联的处理节省。另一示例偏置技术是偏置的舍入。分层深度缓冲区130和元数据132可以有有限的精度。因此,当对深度值进行采样时,采样器156可能需要舍入到要被存储在分层深度缓冲区130中的离散值。因此,当对降低的分辨率遮挡几何体155进行采样时,采样器156可以始终舍入到更远的深度值。
图10是示出了当在不预填充分层深度缓冲区130的情况下绘制对象210时的过度绘画的示意图1000。较暗的阴影表示像素被过度绘画更多次。如图所示,较小的矩形棱柱体的表面被多次过度绘画。
相比之下,图11是示出了当在使用低分辨率深度预过程预填充分层深度缓冲区130之后绘制对象210时的过度绘画的示意图1100。在此示例中,深度绘制器154仅绘制在分形对象210中的立方体的六次迭代中的四次迭代。如图所示,过度绘画主要发生在针对在深度预过程中没有被绘制的立方体的表面。也有一些沿矩形棱柱体的边的过度绘画,其中偏置技术保守地对与沿较近对象的边上的更远对象相对应的相邻像素进行采样。因此,一些沿边的被遮挡的像素被多次绘画。然而,总体而言,使用低分辨率深度预过程大大地减少了过度绘画。
现在参考图12,示例方法1200向计算机设备110提供使用低分辨率深度预过程来绘制全分辨率图像。例如,方法1200可以由应用150来执行,应用150在CPU 114上执行并且使用GPU 120执行图形处理。
在框1210中,方法1200可以包括以低于全分辨率的降低的分辨率绘制遮挡几何体。例如,应用150可以执行深度绘制器154来以低于全分辨率的降低的分辨率绘制遮挡几何体155(例如,降低的分辨率遮挡几何体300)。深度绘制器154可以在CPU 114或GPU 120上绘制遮挡几何体155。降低的分辨率可以是全分辨率的部分。在一个实现中,降低的分辨率可以是全分辨率的八分之一。例如,4k帧(3840x 2160像素)可以使用270p(480*270)的降低的分辨率。在这种情况下,遮挡几何体155的一个像素可以对应于全分辨率的一个图块。其他分辨率还可以基于例如CPU 114或GPU 120的可用处理资源来选择。
在框1212处,框1210可以包括仅绘制尺寸大于阈值尺寸的对象。例如,深度绘制器154可以选择仅绘制尺寸大于阈值尺寸的对象。例如,屏幕面积的5%。在另一示例中,阈值尺寸可以是在降低的分辨率下每个三角形至少两个像素,这可以导致对象的至少两个样本,使得该对象的斜率可以被确定。
在框1220处,方法1200可以包括对遮挡几何体的像素的深度值进行采样。例如,采样器156可以对遮挡几何体155的像素的深度值进行采样。在实现中,采样计数可以对应于分层深度缓冲区130的结构。例如,如果分层深度缓冲区130包括针对8x8图块的元数据132,则可以使用每个图块一个样本。因此,当降低的分辨率为八分之一时,每个像素可以对应于一个图块样本。然而,分层深度缓冲区130的其他分组(grouping)或不同的分辨率可以被使用并适当地取样。
在框1230处,方法1200可以包括基于采样的深度值预填充GPU深度数据。例如,在实现中,应用150可以执行深度预过程组件152来预填充GPU深度数据129。预填充的GPU深度数据129可以包括可以与其他深度元数据132组合的分层深度缓冲区130。例如,在框1231处,框1230可以包括将GPU深度数据的分层深度缓冲区的对应的值设置为采样的深度值。例如,深度预过程组件152可以将针对分层深度缓冲区130中的图块的最小和最大深度值设置为采样的深度值。在没有分层深度缓冲区130或不直接访问分层深度缓冲区130的另一实现中,采样器156可以对遮挡几何体155进行采样,并且深度预过程组件152可以直接地填充全分辨率深度数据136。例如,在1233处,框1230可以包括将采样的深度值复制到GPU深度数据的全分辨率深度数据中的一组对应像素中的每个像素。例如,深度预过程组件152可以将采样的深度值复制到GPU深度数据129的全分辨率深度数据136中的一组对应像素中的每个像素。在降低的分辨率是全分辨率的八分之一的情况下,深度预过程组件152可以将低分辨率像素的采样值复制到对应的全分辨率像素的8x8组的每个像素。
在框1232中,框1230可以包括将采样的深度值朝向远离相机的深度值偏置。例如,深度预过程组件152或采样器156可以将采样的深度值朝向更远的深度偏置。针对第一示例偏置技术,在框1234处,将采样的深度值偏置可以包括将针对像素的分层深度缓冲区130的深度值设置为该像素和与该像素邻近的每个像素的最远的深度值。例如,深度预过程组件152或采样器156可以将针对像素(例如,像素522)的分层深度缓冲区130的深度值(例如,深度值532)设置为像素522和与该像素邻近的每个像素(例如,像素520和522)中的最远的深度值。针对非边像素,可以有八个邻近的像素。
针对第二示例偏置技术,在框1236处,将采样的深度值偏置可以包括确定像素的采样的深度值和每个相邻像素的采样的深度值之间的斜率。例如,深度预过程组件152或采样器156可以确定像素722的采样的深度值732和每个相邻像素724的采样的深度值734之间的斜率。斜率可以基于采样的深度值的差异和均一的像素尺寸。在框1237处,将采样的深度值偏置可以包括沿与每个相邻像素相对的像素处的斜率确定深度值。例如,深度预过程组件152或采样器156可以确定沿着在与每个相邻像素724相对(例如,在幻像点810处)的像素720处的斜率的深度值930。在框1238处,将采样的深度值偏置可以包括将针对像素的分层深度缓冲区元数据的深度值设置为像素的采样深度值、每个相邻像素的采样深度值以及沿斜率的每个外推的深度值中的最远的深度值。例如,深度预过程组件152或采样器156可以将针对像素722的分层深度缓冲区130的深度值设置为像素的采样深度值732、每个相邻像素的采样深度值730、734以及沿斜率的每个外推深度值930中的最远的深度值。
在框1240处,方法1200可以包括响应于至少一个图块或像素的深度大于在GPU深度数据129中的对应的深度值,从全分辨率绘制过程中剔除该至少一个图块或像素。在实现中,例如,GPU 120可以响应于至少一个图块或像素的深度大于GPU深度数据129中的相应的深度值,从全分辨率绘制过程中剔除该至少一个图块或像素。在实现中,GPU 120可以响应于来自应用150或显示控制器142的请求自动地执行剔除以执行全分辨率绘制。
在框1250处,方法1200可以包括对剩余的图块或像素执行全分辨率绘制过程,来以全分辨率生成图像。例如,GPU 120可以使用绘制管线126对剩余的图块或像素(例如,未被剔除的图块或像素)执行全分辨率绘制过程。GPU 120可以在计算机显示器112上以全分辨率显示图像。
现在参考图13,图示了根据实现的示例计算机设备110,与图1相比其包括附加的组件细节。在一个示例中,计算机设备110可以包括处理器48,用于执行与本文所描述的一个或多个组件和功能相关联的处理功能。处理器48可以包括一组或多组处理器或多核处理器。此外,处理器48可以被实现为集成处理系统和/或分布式处理系统。在实现中,例如,处理器48可以包括CPU 114和/或GPU 120。在示例中,计算机设备110可以包括存储器50,用于存储由处理器48可执行的用于执行本文所述的功能的指令。在实现中,例如,存储器50可以包括存储器116和/或存储器122。
此外,计算机设备110可以包括通信组件52,该通信组件52提供用于建立和维护与利用本文所描述的硬件、软件和服务的一方或多方的通信。通信组件52可以承载计算机设备110上的组件之间的通信,以及计算机设备110和外部设备(诸如位于跨通信网络上的设备和/或串行或本地连接到计算机设备110的设备)之间的通信。例如,通信组件52可以包括一个或多个总线,并且可以进一步包括分别与传输器和接收器相关联的传输链组件和接收链组件,该传输器和接收器可操作用于与外部设备接口连接。
附加地,计算机设备110可以包括数据存储库54,其可以是硬件和/或软件的任何适当的组合,其提供针对与本文所描述的实现相结合的信息、数据库和程序的大容量存储。例如,数据存储库54可以是针对操作系统140(图1)和/或应用150(图1)的数据储存库。
计算机设备110还可以包括用户界面组件56,该用户界面组件56可操作以从计算机设备110的用户接收输入,并进一步可操作以生成输出以呈现给用户。用户界面组件56可以包括一个或多个输入设备,包括但不限于键盘、数字键盘、鼠标、触摸屏显示器、数字转换器、导航键、功能键、麦克风、语音识别组件、能够接收来自用户的输入的任何其他机构或其任何组合。此外,用户界面组件56可以包括一个或多个输出设备,包括但不限于显示器(例如,显示器112)、扬声器、触觉反馈机构、打印机、能够向用户呈现输出的任何其他机构或其任何组合。
在实现中,用户界面组件56可以传输和/或接收与操作系统140和/或应用150的操作相对应的消息。另外,处理器48执行操作系统140和/或应用150,并且存储器50或数据存储库54可以存储它们。
如在本申请中使用的,术语“组件”、“系统”等旨在包括计算机相关实体,诸如但不限于硬件、固件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于在处理器上运行的过程、处理器、对象、可执行文件、执行线程、程序和/或计算机。举例来说,在计算机设备上运行的应用和计算机设备两者都可以是组件。一个或多个组件可以驻留在过程和/或执行线程中,并且组件可以本地化在一台计算机上和/或分布在两台或更多台计算机之间。此外,这些组件可以从具有存储在其上的各种数据结构的各种计算机可读介质执行。组件可以通过本地和/或远程过程来通信,诸如根据具有一个或多个数据包的信号,诸如来自一个组件的数据,该组件与本地系统、分布式系统中的另一组件交互,和/或跨网络(诸如因特网)与其他系统通过信号交互。
此外,术语“或”旨在意味着包含性的“或”而不是排他的“或”。即,除非另有规定,或者从上下文中明确,否则短语“X采用A或B”旨在意味着任何自然包含性排列。即,短语“X采用A或B”通过任何以下情况被满足:X采用A;X采用B;或X采用A和B两者。此外,本申请以及所附权利要求中使用的冠词“一(a)”和“一个(an)”通常应被解释为意味着“一个或多个”,除非另有指定或从上下文清楚地指向单数形式。
各种实现或特征可能已经被呈现在可以包括许多设备、组件、模块等的系统中。应当理解和领会,各种系统可以包括附加的设备、组件、模块等,和/或可以不包括结合附图所讨论的所有设备、组件、模块等。也可以使用这些方法的组合。
结合本文所公开的实施例描述的各种说明性的逻辑、逻辑块和方法的动作可以利用专用编程的以下中的一项来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立门或晶体管逻辑、分立硬件组件或被设计为执行本文所描述的功能的以上的任何组合。通用处理器可以是微处理器,但是备选地,处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器也可以被实现为计算机设备的组合,例如,DSP和微处理器的组合、多个微处理器、与DSP核心结合的一个或多个微处理器、或任何其他这样的配置。另外,至少一个处理器可以包括一个或多个可操作以执行以上描述的一个或多个步骤和/或动作的组件。
此外,结合本文所公开的实现而描述的方法或过程的步骤和/或动作可以直接在硬件、由处理器执行的软件模块或两者的组合中被实施。软件模块可以驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除磁盘、CD-ROM或本领域已知的任何其他形式的存储介质中。示例性存储介质可以被耦合到处理器,使得处理器能够从存储介质读取信息并向存储介质写入信息。备选地,存储介质可以是处理器的集成部分。此外,在一些实现中,处理器和存储介质可以驻留在ASIC中。附加地,ASIC可以驻留在用户终端中。备选地,处理器和存储介质可以作为分立的组件驻留在用户终端中。另外,在一些实现中,方法或过程的步骤和/或动作可以作为代码和/或指令的一个或任何组合或集驻留在机器可读介质和/或计算机可读介质上,该机器可读介质和/或计算机可读介质可以合并入计算机程序产品中。
在一个或多个实现中,所描述的功能可以在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则功能可以在计算机可读介质上作为一个或多个指令或代码被存储或传输。计算机可读介质包括计算机存储介质和通信介质两者,通信介质包括支持将计算机程序从一个地方传送到另一地方的任何介质。存储介质可以是由计算机能够访问的任何可获得的介质。通过示例而非限制,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储装置、磁盘存储装置或其他磁存储设备,或任何其他可以用于以指令或数据结构的形式承载或存储期望程序代码并且可以由计算机访问的介质。如本文所使用的磁盘和光盘包括压缩盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地再现数据,而光盘通常使用激光来光学地再现数据。上述组合也应该被包括在计算机可读介质的范围内。
虽然已经结合本公开的示例描述了本公开的实现,但是本领域技术人员将理解,可以在不脱离本公开范围的情况下对上述实现进行变型和修改。从说明书考虑或者根据本文所公开的示例的实践,其他实现对于本领域技术人员来说将是明显的。

Claims (15)

1.一种用于以全分辨率绘制图像的计算设备,包括:
存储器,所述存储器存储一个或多个参数或指令,所述一个或多个参数或指令用于执行操作系统和一个或多个应用;
图形处理单元(GPU),所述GPU用于绘制所述一个或多个应用的帧以用于在被耦合到所述计算设备的显示设备上进行显示,所述GPU包括GPU深度数据;
至少一个处理器,所述至少一个处理器被耦合到所述存储器和所述GPU,其中所述至少一个处理器被配置为:
以低于所述全分辨率的降低的分辨率绘制遮挡几何体;
对所述遮挡几何体的像素的深度值进行采样;以及
基于多个采样的深度值来预填充所述GPU深度数据,其中所述GPU被配置为:
响应于至少一个图块或像素的深度比所述GPU深度数据中的对应的深度值更远,从全分辨率绘制过程中剔除所述至少一个图块或像素;以及
对剩余的图块或像素执行所述全分辨率绘制过程来以所述全分辨率生成所述图像。
2.根据权利要求1所述的计算设备,其中所述处理器被配置为将所述多个采样的深度值朝向更远的深度偏置,以用于预填充所述GPU深度数据。
3.根据权利要求2所述的计算设备,其中所述处理器被配置为将对应于采样的像素的所述GPU深度数据的深度值设置为所述采样的像素和与所述采样的像素邻近的每个像素中的最远的深度值。
4.根据权利要求2所述的计算设备,其中所述处理器被配置为:
确定像素的采样的深度值与每个相邻像素的采样的深度值之间的相应斜率;
确定在每个相邻像素相对的像素处沿着所述相应斜率的深度值;以及
将对应于所述像素的所述GPU深度数据的深度值设置为所述像素的所述多个采样的深度值、每个相邻像素的采样的深度值、和沿着每个相应斜率的所确定的所述深度值中的最远的深度值。
5.根据权利要求2所述的计算设备,其中所述处理器被配置为对每个采样的深度值增加偏移。
6.根据权利要求1所述的计算设备,其中所述GPU深度数据包括针对图块的分层深度缓冲区元数据,并且所述至少一个处理器被配置为针对所述分层深度缓冲区元数据的所述图块将对应的最小深度值和最大深度值设置为所述多个采样的深度值。
7.一种以全分辨率绘制图像的方法,包括:
以低于所述全分辨率的降低的分辨率绘制针对所述图像的遮挡几何体;
对所述遮挡几何体的像素的深度值进行采样;
基于多个采样的深度值来预填充图形处理单元GPU深度数据;
响应于至少一个图块或像素的深度比所述GPU深度数据中的对应的深度值更远,从全分辨率绘制过程中剔除所述至少一个图块或像素;
对剩余的图块或像素执行所述全分辨率绘制过程来以所述全分辨率生成所述图像;以及
在计算机显示器上以所述全分辨率显示所述图像。
8.根据权利要求7所述的方法,其中基于所述多个采样的深度值来预填充所述GPU深度数据包括:将所述采样的深度值朝向更远的深度偏置。
9.根据权利要求8所述的方法,其中偏置所述多个采样的深度值包括:将针对采样的像素的深度值设置为所述采样的像素和与所述采样的像素邻近的每个像素中的最远的深度值。
10.根据权利要求8所述的方法,其中偏置所述多个采样的深度值包括:
确定像素的采样的深度值与每个相邻像素的采样的深度值之间的相应斜率;
确定在每个相邻像素相对的像素处沿着所述相应斜率的深度值;以及
将针对所述像素的深度值设置为所述像素的所述采样的深度值、每个相邻像素的所述采样的深度值、和沿着每个相应斜率的外推的深度值中的最远的深度值。
11.根据权利要求8所述的方法,其中偏置所述多个采样的深度值包括:将所述采样的深度值舍入到所述GPU深度数据的分层深度缓冲区的更远的离散值。
12.根据权利要求7所述的方法,其中基于所述多个采样的深度值来预填充所述GPU深度数据包括:将针对所述GPU深度数据的分层深度缓冲区的图块的对应的值设置为所述多个采样的深度值。
13.根据权利要求7所述的方法,其中基于所述多个采样的深度值来预填充所述GPU深度数据包括:将所述采样的深度值复制到所述GPU深度数据的全分辨率深度数据中的一组对应的像素中的每个像素。
14.根据权利要求7所述的方法,其中绘制遮挡几何体包括:仅以所述降低的分辨率绘制具有至少两个像素的尺寸的对象。
15.一种计算机可读介质,包括代码,所述代码由一个或多个处理器可执行以用于以全分辨率绘制图像,所述代码包括用于以下的代码:
以低于所述全分辨率的降低的分辨率绘制遮挡几何体;
对所述遮挡几何体的像素的深度值进行采样;
将多个采样的深度值朝向更远的深度偏置;
基于偏置的深度值来预填充分层深度缓冲区;
响应于至少一个图块或像素的深度比所述分层深度缓冲区中的对应的深度值更远,从全分辨率绘制过程中剔除所述至少一个图块或像素;以及
对剩余的图块或像素执行所述全分辨率绘制过程来以所述全分辨率生成所述图像。
CN201980034802.5A 2018-05-25 2019-05-13 低分辨率深度预过程 Pending CN112189219A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/989,367 2018-05-25
US15/989,367 US10719971B2 (en) 2018-05-25 2018-05-25 Low resolution depth pre-pass
PCT/US2019/031938 WO2019226383A1 (en) 2018-05-25 2019-05-13 Low resolution depth pre-pass

Publications (1)

Publication Number Publication Date
CN112189219A true CN112189219A (zh) 2021-01-05

Family

ID=66676912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980034802.5A Pending CN112189219A (zh) 2018-05-25 2019-05-13 低分辨率深度预过程

Country Status (4)

Country Link
US (1) US10719971B2 (zh)
EP (1) EP3803800A1 (zh)
CN (1) CN112189219A (zh)
WO (1) WO2019226383A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10977856B2 (en) * 2018-03-29 2021-04-13 Microsoft Technology Licensing, Llc Using a low-detail representation of surfaces to influence a high-detail representation of the surfaces
US11514549B2 (en) * 2020-02-03 2022-11-29 Sony Interactive Entertainment Inc. System and method for efficient multi-GPU rendering of geometry by generating information in one rendering phase for use in another rendering phase
US11520598B2 (en) * 2020-07-01 2022-12-06 Anthony Donte Ebron Multi-processor mobile computing device
US20230377178A1 (en) * 2022-05-19 2023-11-23 Microsoft Technology Licensing, Llc Potentially occluded rasterization
GB2624428A (en) * 2022-11-17 2024-05-22 Advanced Risc Mach Ltd Graphics processors
CN117116200B (zh) * 2023-10-23 2023-12-29 广州市惠正信息科技有限公司 一种led显示屏分辨率的调节方法及系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5509110A (en) * 1993-04-26 1996-04-16 Loral Aerospace Corporation Method for tree-structured hierarchical occlusion in image generators
US7023437B1 (en) * 1998-07-22 2006-04-04 Nvidia Corporation System and method for accelerating graphics processing using a post-geometry data stream during multiple-pass rendering
US7375727B1 (en) * 1998-07-22 2008-05-20 Nvidia Corporation System, method and computer program product for geometrically transforming geometric objects
US6603474B1 (en) * 1999-05-27 2003-08-05 International Business Machines Corporation Method and apparatus for occlusion culling of objects in a data processing system
US6882349B2 (en) * 2001-12-31 2005-04-19 Intel Corporation Efficient image allocation for zone rendering
US7212204B2 (en) * 2005-01-27 2007-05-01 Silicon Graphics, Inc. System and method for graphics culling
ITMI20070038A1 (it) * 2007-01-12 2008-07-13 St Microelectronics Srl Dispositivo di renderizzazione per grafica a tre dimensioni con architettura di tipo sort-middle.
TWI464692B (zh) * 2012-07-03 2014-12-11 Wistron Corp 操作物辨識方法、操作物深度資訊建立方法及電子裝置
US20140098096A1 (en) * 2012-10-08 2014-04-10 Nvidia Corporation Depth texture data structure for rendering ambient occlusion and method of employment thereof
US8891905B2 (en) * 2012-12-19 2014-11-18 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Boundary-based high resolution depth mapping
US9286714B2 (en) * 2013-06-20 2016-03-15 Arm Limited Apparatus and method for processing graphics primitives
US9311743B2 (en) * 2013-10-23 2016-04-12 Qualcomm Incorporated Selectively merging partially-covered tiles to perform hierarchical z-culling
US9824412B2 (en) 2014-09-24 2017-11-21 Intel Corporation Position-only shading pipeline
US20170352182A1 (en) * 2016-06-06 2017-12-07 Qualcomm Incorporated Dynamic low-resolution z test sizes
US10102662B2 (en) * 2016-07-27 2018-10-16 Advanced Micro Devices, Inc. Primitive culling using automatically compiled compute shaders

Also Published As

Publication number Publication date
US20190362533A1 (en) 2019-11-28
US10719971B2 (en) 2020-07-21
EP3803800A1 (en) 2021-04-14
WO2019226383A1 (en) 2019-11-28

Similar Documents

Publication Publication Date Title
US10719971B2 (en) Low resolution depth pre-pass
US9836810B2 (en) Optimized multi-pass rendering on tiled base architectures
KR102006584B1 (ko) 레이트 심도 테스팅과 컨서버티브 심도 테스팅 간의 동적 스위칭
CN116391205A (zh) 用于图形处理单元混合渲染的装置和方法
US20220092801A1 (en) Depth buffer pre-pass
JP2016529593A (ja) 立体シーンのインターリーブ方式のタイル型レンダリング
CN115244584A (zh) 用于处理拆分渲染中的遮挡的方法和装置
US11631212B2 (en) Methods and apparatus for efficient multi-view rasterization
CN111989715A (zh) 用于与硬件实例化兼容的gpu的压缩可见性状态
TW202137141A (zh) 用於邊緣壓縮抗混疊的方法和裝置
CN115715464A (zh) 用于遮挡处理技术的方法和装置
US20230377178A1 (en) Potentially occluded rasterization
US11887245B2 (en) Techniques for rendering signed distance functions
US11380047B2 (en) Methods and apparatus for order-independent occlusion computations
WO2024055221A1 (en) Fast msaa techniques for graphics processing
US20230063422A1 (en) Techniques for rendering signed distance functions
US20220138961A1 (en) Methods and apparatus for motion estimation based on region discontinuity
CN117616446A (zh) 基于图块的架构中的深度和阴影通道渲染的优化

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination