CN104756150A - 深度缓冲 - Google Patents
深度缓冲 Download PDFInfo
- Publication number
- CN104756150A CN104756150A CN201380054751.5A CN201380054751A CN104756150A CN 104756150 A CN104756150 A CN 104756150A CN 201380054751 A CN201380054751 A CN 201380054751A CN 104756150 A CN104756150 A CN 104756150A
- Authority
- CN
- China
- Prior art keywords
- important position
- depth
- store
- less
- sequence
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
根据一些实施例,深度值可被分成较重要位和较不重要位。通过这样操作,可仅基于较重要位来完成一些处理。在较重要位的数量显著少于位的总数的情况下,可保存一些存储器带宽。换言之,通过仅使用较重要位以用于深度缓冲操作中的一些操作,可减少存储器带宽的使用,从而提高效率。
Description
背景技术
本发明总体上涉及深度缓冲领域,特别地,涉及与用于针对三维图形创建中的图形渲染的改进的深度缓冲的技术相关的实施例。
计算机图形系统用于建模具有三维物体的场景,然后将三维物体显示在二维显示设备上。一种常用的这种系统为基于多边形、物体排序的图形系统,其中,场景中的三维物体分别由与图像中所描绘的物体的形状近似的多个多边形表示。根据所选择的用于在二维中查看该场景的取向,表示场景中物体的图元将被隐藏在其它图元后面并且不被显示。未完全隐藏的图元被称为是可见的,并且将被全部或部分显示,这取决于在显示设备的所渲染的图像中给定图元的一部分是否被隐藏。随着待渲染场景的深度复杂性的增加,最终可由显示设备的观察者看见的表示该场景的所有图元的百分比显著降低。因此,在很多情况下,场景的许多图元将被隐藏。
附图说明
关于以下附图描述了一些实施例:
图1是本发明的一个实施例的系统图;
图2是根据一个实施例的图1所示的深度缓冲器的更详细的示意图;
图3是本发明一个实施例的系统图;以及
图4是一个实施例的前视图。
具体实施方式
传统的计算机图形系统可具有帧缓冲器和深度缓冲器。帧缓冲器通常是保存图像中每个像素或样本的色彩和强度的数字表示的存储器。帧缓冲器也被称为视频位映射。深度缓冲器(也被称为Z缓冲器)是一个具有针对帧缓冲器中每个像素或样本的条目的大存储器阵列。
一种用于确定哪些图元将是可见的或被隐藏的方法涉及使用深度缓冲器。图形系统中的深度轴反映距特定观察者的视点的距离。因此,较大的深度值表示距视点的较大距离。深度缓冲涉及比较所生成的物体上的点的深度值,以确定哪个物体最接近视点,并且因此应该出现二维显示器上。作为对针对场景的图形数据的处理的一部分,为场景中的每个图元生成像素。
在传统的深度缓冲中,随着每个像素的生成,将其深度坐标与之前存储在针对图像该位置的深度缓冲器中的深度坐标进行比较。在处理针对场景的第一图元之前,通过将与最大距离相对应的值存储在针对每个像素的深度缓冲器条目中来初始化深度缓冲器,从而使得初始的、旧的深度值与最大距离相对应。一般地,如果新的深度值小于旧的深度值(这表示该像素与之前的视点相比更靠近视点),则该象素被写入到显示设备中,并且深度缓冲器被更新以包含新的值。如果新的值大于或等于旧的值,则该象素不被写入并且深度缓冲器保持不变。需要注意的是,上述文字描述了被称为“小于”的深度测试,即,深度缓冲器保持小于之前值的值。也可使用其它深度测试。在处理期间,针对最终被完全隐藏的图元的所有像素可在深度缓冲器被覆盖(overwrite),从而使得图元不被显示。
在计算机图形中,“渲染”是将一组数据转换为可被显示的图像的过程。在渲染过程中,图像数据库通常保持所读取的多边形数据,并由渲染硬件逐像素地执行计算以决定每个像素的色彩。色彩计算器通常执行该功能。当多边形被渲染时,为多边形覆盖的每个像素获得色彩样本。如果进行了过采样,则每个像素具有多个相应的色彩值,这些色彩值经平均后给出最终的色彩。每个色彩均具有相关联的深度值和位置。例如,在小于深度测试中,深度缓冲器存储每个位置的最小深度值和计数器。如果色彩样本具有小于深度缓冲器中所记录的该位置的值的深度值,则将该样本写入到帧缓冲器中并更新深度缓冲器。否则,舍弃该色彩样本。
因此,在深度缓冲中,每个像素的色彩确定以及与三维图形相关联的许多其它功能(例如,使用包括不同阴影、孔洞、透明纹理、半透明纹理及其它特征的不同的纹理)通常是在图形处理器的渲染引擎中执行的。渲染引擎通过利用渲染管线来执行这些功能。图形数据沿渲染管线流动。通常,直到管道末端才执行深度缓冲。深度缓冲的理念在于移除针对将被遮挡的图元的像素。因此,可节省处理时间并提高效率。
根据一些实施例,深度值可被分成较重要位(more significant bit)和较不重要位(less significant bit)。通过这样操作,可仅基于较重要位来完成一些处理。在较重要位的数量显著少于位的总数的情况下,可保存一些存储器带宽。换言之,通过仅使用较重要位以用于深度缓冲操作中的一些操作,可减少存储器带宽的使用,从而提高效率。
在一些情况下,存储器带宽利用率是功耗的最重要的决定因素。在包括移动应用的许多应用中,功耗是首要考虑的因素。
在计算机系统中,存储器访问是最消耗功率的操作之一。因此,在最大可能程度上减少内存带宽的使用是重要的。
在一些情况下,通过在图形处理器中减少到深度缓冲器以及从深度缓冲器的存储器带宽的使用,可获得显著的功耗节省。因此,在一些实施例中,通过减少用于表示深度值的位的数量,可减少存储器带宽,同时也降低了功耗。本文所描述的技术可与普通的深度缓冲技术(包括深度缓冲器高速缓存、深度缓冲器压缩、Zmax消隐以及Zmin消隐)结合使用。
在包括DirectX以及OpenGL的许多图形处理规范中,深度值可以24位整数或32位浮点值来存储。本申请的发明人已发现,在深度值的最不重要位中具有相对无用的内容。因此,深度值Z可具有N位,目前通常是24位或32位。H个最重要位可用术语Zhi表示,L个最不重要位可用Zlo来表示。因此,Z=(Zhi<<L)+Zlo。(Zhi<<L)+000...00b<=Z<=(Zhi<<L)+111...l1b成立,其中000...00b表示L个二进制零,111...l1b表示L个二进制1。为简单起见,Zf=(Zhi<<L)+000...00b,(其中Z被量化至H位,并且下舍入),且Zc=(Zhi<<L)+111...l1b,(其中Z被量化至H位,并且上舍入)。
通常,借助Zmin/Zmax消隐,图形处理器读取当前的深度值,接着是逐样本或像素进行深度比较,并且如果通过深度比较,则经由深度高速缓存将新的深度值写入到深度缓冲器。根据本发明的一些实施例,通过在第一实例中仅使用Zhi并仅在需要时使用Zlo而继续,深度比较可保留地(conservatively)进行,以便从不生成任何不正确的深度比较。
在本文所述的实施例中,深度测试为小于测试,这是因为如果传入的样本的深度小于深度缓冲器中的相应的深度,则深度测试通过。然而,在本发明的其它实施例中可使用任何深度测试。
参照图1,深度管线可包括耦合到存储器系统18的光栅化器12、HiZ单元14和深度单元16。在一个实施例中,所述HiZ单元14执行Zmin/Zmax消隐。在深度单元16和存储单元18之间传递的数据量确定所需要的带宽,并最终控制单元的功耗的一部分部分。因此,在本发明的一些实施例中,期望的是减少在深度单元和存储器系统之间的存储器传送的带宽。这些存储器传送通常关于存储器读或存储器写。
因此,如果仅由深度单元16从存储器系统中通过读取Zhi而读取深度值的H个位,则可以减带宽少。即,通过使用Zhi值来执行来保留深度测试,深度单元和存储器系统18之间需要传送较少的位。在Zi为传入深度并且Zd为来自深度单元16内部的深度缓冲器的深度的情况下,当完成该操作时,以下结果是可能的。如果Zi小于Zd f,则保证传入深度Zi位于已在深度缓冲器中的深度值的前面。在这种情况下,由于仅使用H个位而非全部N个位,所以可实现显著的节省。为了更新深度缓冲器,可将Zi hi和Zi lo写入到深度缓冲器。虽然写入可能无法节约带宽,但读取操作涉及较少的带宽,因此也是保留带宽的。
另一可能性是Zi大于Zd c,这意味着测试失败,因为保证传入的深度在深度缓冲器的当前内容的后面,或者被深度缓冲器的当前内容遮挡。再一次,由于仅读取H个位而非N个位来找到该答案,因此节省了带宽。
在其它情况下,结果是不明确的(ambiguous),并且仅使用高位集合并非是决定性的。但在许多情况下,仍节约了带宽。在结果是不明确的情况下,也必须读取较不重要位以便解决深度测试。随后再次对较不重要位执行深度测试,如果深度测试失败,则不需要更新存储器。然而,如果深度测试通过,则必需将Zi lo写入到高速缓存中。然而,不需要写Zi hi,这是因为当存储在缓冲器中时已知晓其是正确的。
基于实验,已确定在一些实施例中,针对读取带宽的H的最优值为8位,并且H的最优写入带宽为9位。因此,在一些实施例中,H=8可被选定为最合理的选择,这是由于这与多数存储器布局良好匹配。
在许多情况下,针对像素(例如,瓦片(tile))的小矩形区的Zhi位将仅包括一些组独特的H位值。在一个实施例中,可使用H位的2k个值中的每个。随后,每个样本/像素需要指向这些2k个值中之一的k位索引。在许多情况下,k=2触发大多数情况下的压缩并提供相当大的压缩。例如,对于8×8的像素瓦片,最重要为可为8*8*8=512个存储位,而使用本文所述的方法,将仅需要160(4*8+8*8*2)个存储位。k的不同变化也是可以想得到的。在一些实施例中,经压缩的最重要位可与Zmin和Zmax值一起存储在快速小存储器中。
对于瓦片的Zlo位,可使用压缩。例如,可使用深度偏移压缩技术。参见Jon Hasselgren and Tomas的“Efficient Depth BufferCompression”(图形硬件,103-110页,2006年)。
现转至图2,其可表示软件、固件和/或硬件实施例。在软件和固件的实施例中,可由存储在一个或多个非瞬时性计算机可读介质(例如,磁、光、或半导体存储器)中的计算机可读指令来实现。
在一个实施例中,两个分离的高速缓存30和32(或同一存储器的两个分离的部分)可用于存储H个位和L个位。在一些实施例中,这些高速缓存可位于共享高速缓存中,并且它们还可以共享第二级高速缓存。
传入深度值Zi来到保留深度比较模块20。其执行已描述的三个测试。如果Zi大于Zd c,则实现结果并且流程可结束,如22所示。如果Zi小于Zd f为真,则应当将针对高深度值和低深度值的值写入到低存储器高速缓存32和高存储器高速缓存30两者。如果保留深度比较是不确定的,则必须从低存储器高速缓存32中读取较不重要值,并接着在比较模块28中与高或较重要值进行比较。如果比较通过,则低值必须替代低存储器高速缓存32中当前存储的值。否则,进行失败指示并且流程结束。
图3示出了系统700的实施例。在实施例中,系统700可以是媒体系统,尽管系统700并不限于该上下文。例如,系统700可以并入到个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板计算机、触控板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板计算机或智能电视)、移动互联网设备(MID)、消息设备、数据通信设备等。
在实施例中,系统700包括耦合到显示器720的平台702。平台702可以从诸如内容服务设备730或内容分发设备740或其它类似内容源的内容设备接收内容。导航控制器750包括可以用于与例如平台702和/或显示器720进行交互的一个或多个导航特征。在下文中更具体地描述这些组件中的每个。
在实施例中,平台702可包括芯片组705、处理器710、存储器712、存储设备714、图形子系统715、应用程序716、全球定位系统(GPS)721、摄像机723和/或无线电设备718的任意组合。芯片组705可以在处理器710、存储器712、存储设备714、图形子系统715、应用程序716和/或无线电设备718之间提供相互通信(intercommunication)。例如,芯片组705可以包括能够提供与存储设备714的相互通信的存储设备适配器(未示出)。
此外,平台702可包括操作系统770。到处理器的接口772可将操作系统与处理器710接合。
可提供固件790来实现诸如引导序列的功能。可提供更新模块,该模块使得所述固件能够行从平台702外部进行更新。例如,更新模块可包括用于确定更新尝试是否是可信的代码以及用于识别固件790的最新更新的代码,以便于确定何时需要更新。
在一些实施例中,平台702可由外部电源供电。在一些情况下,平台702还可以包括内部电池780,内部电池780在不适合于外部电源的实施例中或者在允许电池电力或外部电力的实施例中充当电源。
举几个例子,可通过将软件和固件的实施例并入到存储器714内或处理器710或图形子系统715内的存储器内,来以软件和固件实施例实现图2则所示的序列。在一个实施例中,图形子系统715可包括图形处理单元,并且处理器710可为中央处理单元。
处理器710可以被实现为复杂指令集计算机(CISC)处理器或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核处理器或任何其它微处理器或中央处理单元。在实施例中,处理器710可以包括双核处理器、双核移动处理器等。
存储器712可以被实现为易失性存储器设备,例如但不限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM)、或静态RAM(SRAM)。
存储设备714可以被实现为非易失性存储设备,例如但不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附接存储设备、闪速存储器、电池供电的SDRAM(同步DRAM)、和/或网络可访问存储设备。在实施例中,例如,当包括多个硬盘驱动器时,存储设备714可以包括提高对有价值的数字媒介的存储性能增强保护的技术。
图形子系统715可以执行对诸如静态或视频这样的图像的处理以供显示。例如,图形子系统715可以是图形处理单元(GPU)110或可视处理单元(VPU)。模拟或数字接口可以用于将图形子系统715和显示器720通信地耦合。例如,该接口可以是高清晰度多媒体接口、显示接口、无线HDMI、和/或无线HD兼容技术中的任意一种。图形子系统715可以被集成到处理器710或芯片组705中。图形子系统715可以是通信地耦合到芯片组705的独立的卡。
本文所描述的图形和/或视频处理技术可以在各种硬件架构中实现。例如,图形和/或视频功能可以被集成在芯片组内。或者,可以使用分立的图形和/或视频处理器。作为又一实施例,图形和/或视频功能可由通用处理器,包括多核处理器来实现。在进一步的实施例中,所述功能可以在消费电子产品设备中实现。
无线电设备718可以包括能够使用各种合适的无线通信技术来发射并接收信号的一个或多个无线电设备。这种技术可以涉及跨一个或多个无线网络的通信。示例性无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络、和卫星网络。在跨这种网络的通信中,无线电设备718可以根据任意版本的一个或多个适用标准而进行操作。
在实施例中,显示器720可以包括任何电视类的监视器或显示器。显示器720可以包括,例如计算机的显示屏幕、触摸屏显示器、视频监视器,类似电视的设备和/或电视。显示器720可以是数字和/或模拟的。在实施例中,显示器720可以为全息显示器。另外,显示器720可以是可接收视觉投影的透明表面。这种投影可以传达各种形式的信息、图像和/或对象。例如,这种投影可以是用于移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用程序716的控制下,平台702可以将用户界面722显示在显示器720上。
在实施例中,例如,内容服务设备730可以由任何国家、国际和/或独立的服务托管,并且因此可以通过例如互联网访问平台702。内容服务设备730可以耦合到平台702和/或显示器720。平台702和/或内容服务设备730可以耦合到网络760,以便向网络760和从网络706传送媒体信息(例如,发送和/或接收)。内容分发设备740也可以耦合到平台702和/或显示器720。
在实施例中,内容服务设备730可以包括有线电视盒、个人计算机、网络、电话、互联网使能的设备或能够递送数字信息和/或内容的装置、以及能够在内容提供者和平台702和/显示器720之间通过网络760或直接单向或双向传送内容的其它类似装置。应该理解的是,内容可通过网络760向和从系统700中的组件与内容提供者中的任何一个被单向和/或双向地传送。内容的示例可以包括任何媒体信息,包含例如视频、音乐、医疗和游戏信息等。
内容服务设备730接收诸如有线电视节目(包括媒体信息、数字信息和/或其它内容)的内容。内容提供者的示例可以包括任何有线或卫星电视或广播电台或互联网内容提供者。所提供的示例并不意味着限制本发明的实施例。
在实施例中,平台702可以从具有一个或多个导航特征的导航控制器750接收控制信号。例如,控制器750的导航特征可以用于与用户界面722交互。在实施例中,导航控制器750可以是指示装置,其可以是允许用户将空间(例如,连续的和多维的)数据输入到计算机中的计算机硬件组件(具体地说,人机接口设备)。许多系统,例如图形用户界面(GUI)、电视以及监视器允许用户使用身体姿势来控制计算机或电视以及向计算机或电视提供数据。
通过指针、光标、聚焦环、或在显示器上显示的其它视觉指示符的移动,控制器750的导航特征的移动可以呼应在显示器(例如,显示器720)上。例如,在软件应用程序716的控制下,位于导航控制器750上的导航特征可以被映射到显示在用户界面722上的虚拟导航特征。在实施例中,控制器750可以不是单独的组件,而是集成到平台702和/或显示器720中的组件。然而,实施例并不限于这些元件或本文所示或所描述的内容。
在实施例中,例如当被启用时,驱动程序(未示出)可以包括使用户能够在系统初始化后,通过触摸按钮可以即时开启和关闭平台702(像开启和关闭电视一样)的技术。当平台被“关闭”时,程序逻辑可以允许平台702将内容串流(stream)到媒体适配器或其它内容服务设备730或内容分发设备740。此外,例如,芯片组705可以包括支持例如5.1环绕立体声和/或高清7.1环绕立体声的硬件和/或软件。驱动程序可以包括用于集成显卡平台的图形驱动程序。在实施例中,图形驱动程序可以包括外设部件互连标准(PCI)快速图形卡。
在各个实施例中,系统700中所示的任何一个或多个组件可以是集成的。例如,平台702和内容服务设备730可以是集成的,或者平台702和内容分发设备740可以是集成的,或者平台702、内容服务设备730和内容分发设备740可以是集成的。在各个实施例中,平台702和显示器720可以是一个集成单元。例如,显示器720和内容服务设备730可以是集成的,或者显示器720和内容分发设备740可以是集成的。这些实施例并不意味着限制本发明。
在各种实施例中,系统700可以被实现为无线系统、有线系统、或两者的组合。当被实现为无线系统时,系统700可以包括适于在无线共享介质上通信的组件和接口,例如一个或多个天线、发射器、接收器、收发器、放大器、滤波器、控制逻辑等。无线共享介质的示例可以包括无线频谱的一部分,例如,RF频谱等。当被实现为有线系统时,系统700可以包括适于在有线通信介质上通信的组件和接口,例如输入/输出(I/O)适配器、将I/O适配器与相应的有线通信介质连接起来的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等。有线通信介质的示例可以包括导线、电缆、金属引线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤等。
平台702可以建立一个或多个逻辑或物理信道来传送信息。该信息可以包括媒体信息和控制信息。媒体信息可以指表示针对用户的内容的任何数据。内容的示例可以包括,例如来自于语音对话、视频会议、流视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自于语音对话的数据可以是例如语音信息、静默时段、背景噪声、舒适噪声、音调等。控制信息可以指表示针对自动系统的命令、指令或控制字的任何数据。例如,控制信息可以用于通过系统而路由媒体信息,或指示节点来以预先确定的方式处理媒体信息。然而,实施例并不限于这些元件或图3所示或所描述的上下文。
如上文所述,可以以变换的物理样式或形状因子而实施系统700。图4示出了在其中可以实施系统700的小的形状因子设备800的实施例。在实施例中,例如,设备800可以被实现为具有无线功能的移动计算设备。例如,移动计算设备可以指具有处理系统和移动电压源或电源(例如,一个或多个电池)的任何设备。
如上文所述,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板计算机、触控板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板计算机或智能电视)、移动互联网设备(MID)、消息设备、数据通信设备等。
移动计算设备的示例还可以包括被布置为由人穿戴的计算机,例如腕上计算机、手指计算机、戒指计算机、眼镜计算机、腰带扣计算机、鞋计算机、衣服计算机、以及其它可穿戴计算机。在实施例中,例如,移动计算设备可以被实现为能够执行计算机应用程序以及语音通信和/或数据通信的智能电话。尽管可以通过示例的方式用被实现为智能电话的移动计算设备来描述一些实施例,但是可以理解的是,也可以使用其它无线移动计算设备来实现其它实施例。实施例并不限于该上下文。
如图5所示,设备800包括壳体802、显示器804、输入/输出(I/O)设备806、以及天线808。设备800还可以包括导航特征812。显示器804可以包括用于显示适合于移动计算设备的信息的任何合适的显示单元。I/O设备806可以包括用于将信息输入到移动计算设备中的任何合适的I/O设备。I/O设备806的示例可以包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、摇臂开关、麦克风、扬声器、语音识别设备和软件等。还可以通过麦克风的方式将信息输入到设备800。可以由语音识别设备将该信息数字化。实施例并不限于该上下文。
可以使用硬件元件、软件元件或两者的组合来实现各个实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任意组合。确定是否使用硬件元件和/或软件元件来实现实施例可以根据以下任意数量的因素而变化,例如所期望的计算速率、功率电平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储资源、数据总线速度和其它设计或性能约束。
可以由存储在机器可读介质上的、表示处理器内的各个逻辑的代表性指令来实现至少一个实施例的一个或多个方面,当该代表性指令被机器读取时,使得该机器制造逻辑以执行本文中描述的技术。可以将这种被称为“IP核”的表示存储在有形、机器可读介质上,并且将其提供到各个顾客或制造设备以加载到实际制造逻辑或处理器的制造机器中。
本文所描述的图形处理技术可在各种硬件架构中实现。例如,图形功能可集成到芯片组内。或者可使用分离的图形处理器。作为又一实施例,图形功能可由包括多核处理器的通用处理器实现。
本说明书中通篇提到的“一个实施例”或“实施例”意味着结合该实施例描述的特定特征、结构、或特性被包括在本发明内所包含的至少一个实施方式中。因此,短语“一个实施例”或“在实施例中”的出现并不一定指代同一实施例。此外,可以以其它合适的形式(而非所示出的特定实施例的形式)来制定该特定特征、结构、或特性,并且所有这样的形式都可以被包含在本申请的权利要求内。
虽然关于有限数量的实施例描述了本发明,但是本领域技术人员将理解所述实施例的修改和变型。目的在于,所附权利要求覆盖落入本发明的真实精神和范围内的所有这样的修改和变型。
Claims (27)
1.一种方法,包括:
在图形处理单元中将构成深度值的位分成较重要位和较不重要位;并且
最初仅使用所述较重要位来进行深度缓冲分析。
2.根据权利要求1所述的方法,包括如果使用所述较重要位进行的深度分析为不确定的,则仅使用所述较不重要位。
3.根据权利要求1所述的方法,包括执行小于深度测试。
4.根据权利要求1所述的方法,包括检测使用所述较不重要位的深度测试是否是确定的。
5.根据权利要求4所述的方法,包括如果是不确定的,则不执行存储器更新。
6.根据权利要求4所述的方法,包括如果是确定的,则将所述较不重要位写入到高速缓存。
7.根据权利要求6所述的方法,包括不存储所述较重要位。
8.根据权利要求1所述的方法,包括使用所述深度值中的八位作为所述较重要位。
9.一种或多种存储有指令的非瞬时性计算机可读介质,所述指令由处理器执行以执行包含以下操作的序列:
在图形处理单元中将构成深度值的位分成较重要位和较不重要位;并
且
最初仅使用所述较重要位来进行深度缓冲分析。
10.根据权利要求9所述的介质,进一步存储执行包括以下操作的序列的指令:
如果使用所述较重要位进行的深度分析为不确定的,则仅使用所述较不重要位。
11.根据权利要求9所述的介质,进一步存储执行包括以下操作的序列的指令:执行小于深度测试。
12.根据权利要求9所述的介质,进一步存储执行包括以下操作的序列的指令:检测使用所述较不重要位的深度测试是否是确定的。
13.根据权利要求12所述的介质,进一步存储执行包括以下操作的序列的指令:如果是不确定的,则不执行存储器更新。
14.根据权利要求9所述的介质,进一步存储执行包括以下操作的序列的指令:如果是确定的,则将所述较不重要位写入到高速缓存。
15.根据权利要求14所述的介质,进一步存储执行包括以下操作的序列的指令:不存储所述较重要位。
16.根据权利要求9所述的介质,进一步存储执行包括以下操作的序列的指令:使用所述深度值中的八位作为所述较重要位。
17.一种图形处理单元,包括:
内核,其用于将深度值位分成第一组较重要位和第二组较不重要位并且接着仅使用所述第一组来分析深度缓冲;以及
存储器,其耦合到所述内核。
18.根据权利要求17所述的单元,所述内核在使用所述较重要位进行的所述深度分析为不确定的情况下,使用所述较不重要位。
19.根据权利要求17所述的单元,所述内核检测使用所述较不重要位的深度测试是否是确定的。
20.根据权利要求19所述的单元,如果是不确定的,则所述内核不执行存储器更新。
21.根据权利要求19所述的单元,如果是确定的,则所述内核将所述较不重要位写入到高速缓存。
22.根据权利要求21所述的单元,所述内核不存储所述较重要位。
23.根据权利要求17所述的单元,所述内核使用所述深度值中的八位作为所述较重要位。
24.根据权利要求17所述的单元,所述内核执行小于深度测试。
25.根据权利要求17所述的单元,包括操作系统。
26.根据权利要求17所述的单元,包括电池。
27.根据权利要求17所述的单元,包括固件及用于更新所述固件的模块。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/681,614 US9665973B2 (en) | 2012-11-20 | 2012-11-20 | Depth buffering |
US13/681,614 | 2012-11-20 | ||
PCT/US2013/048058 WO2014081473A1 (en) | 2012-11-20 | 2013-06-27 | Depth buffering |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104756150A true CN104756150A (zh) | 2015-07-01 |
CN104756150B CN104756150B (zh) | 2018-07-24 |
Family
ID=50727500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380054751.5A Expired - Fee Related CN104756150B (zh) | 2012-11-20 | 2013-06-27 | 深度缓冲 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9665973B2 (zh) |
CN (1) | CN104756150B (zh) |
DE (1) | DE112013004618T5 (zh) |
TW (1) | TWI535277B (zh) |
WO (1) | WO2014081473A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109643464A (zh) * | 2016-09-16 | 2019-04-16 | 英特尔公司 | 用于高效深度预过程的方法和装置 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160054563A9 (en) * | 2013-03-14 | 2016-02-25 | Honda Motor Co., Ltd. | 3-dimensional (3-d) navigation |
US9164281B2 (en) | 2013-03-15 | 2015-10-20 | Honda Motor Co., Ltd. | Volumetric heads-up display with dynamic focal plane |
US10215583B2 (en) | 2013-03-15 | 2019-02-26 | Honda Motor Co., Ltd. | Multi-level navigation monitoring and control |
US9251715B2 (en) | 2013-03-15 | 2016-02-02 | Honda Motor Co., Ltd. | Driver training system using heads-up display augmented reality graphics elements |
US9747898B2 (en) | 2013-03-15 | 2017-08-29 | Honda Motor Co., Ltd. | Interpretation of ambiguous vehicle instructions |
US10339711B2 (en) | 2013-03-15 | 2019-07-02 | Honda Motor Co., Ltd. | System and method for providing augmented reality based directions based on verbal and gestural cues |
US9378644B2 (en) | 2013-03-15 | 2016-06-28 | Honda Motor Co., Ltd. | System and method for warning a driver of a potential rear end collision |
US9393870B2 (en) | 2013-03-15 | 2016-07-19 | Honda Motor Co., Ltd. | Volumetric heads-up display with dynamic focal plane |
US9552620B2 (en) | 2014-06-30 | 2017-01-24 | Intel Corporation | Depth offset compression |
US11417065B2 (en) | 2019-10-29 | 2022-08-16 | Magic Leap, Inc. | Methods and systems for reprojection in augmented-reality displays |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5844571A (en) * | 1996-06-10 | 1998-12-01 | International Business Machines Corporation | Z buffer bandwidth reductions via split transactions |
US20030080965A1 (en) * | 1999-07-31 | 2003-05-01 | Jon L. Ashburn | Creating column coherency for burst building in a memory access command stream |
CN101123707A (zh) * | 2007-09-24 | 2008-02-13 | 威盛电子股份有限公司 | 像素色彩值数据决定装置与方法 |
US7414625B1 (en) * | 2003-01-31 | 2008-08-19 | Microsoft Corporation | Generation of glow effect |
CN101729919A (zh) * | 2009-10-30 | 2010-06-09 | 无锡景象数字技术有限公司 | 基于fpga的全自动平面视频转立体视频系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6498605B2 (en) | 1999-11-18 | 2002-12-24 | Intel Corporation | Pixel span depth buffer |
US6677945B2 (en) | 2001-04-20 | 2004-01-13 | Xgi Cayman, Ltd. | Multi-resolution depth buffer |
JP2003099250A (ja) * | 2001-09-20 | 2003-04-04 | Oki Electric Ind Co Ltd | レジスタ読み出し回路及びマイクロプロセッサ |
FR2841013B1 (fr) * | 2002-06-12 | 2004-09-03 | Mbda France | Procede et systeme de gestion des evenements |
ATE383627T1 (de) | 2004-11-19 | 2008-01-15 | Ericsson Telefon Ab L M | Verfahren und vorrichtung zur erzeugung dreidimensionaler bilder |
US8106914B2 (en) * | 2007-12-07 | 2012-01-31 | Nvidia Corporation | Fused multiply-add functional unit |
US8878849B2 (en) | 2007-12-14 | 2014-11-04 | Nvidia Corporation | Horizon split ambient occlusion |
JP5278441B2 (ja) * | 2008-12-04 | 2013-09-04 | 富士通株式会社 | 記憶装置および故障診断方法 |
EP2513795B1 (en) * | 2009-12-16 | 2014-03-12 | SanDisk IL Ltd | Auxiliary parity bits for data written in multi-level cells |
US8565522B2 (en) * | 2010-05-21 | 2013-10-22 | Seiko Epson Corporation | Enhancing color images |
CN103518227B (zh) | 2011-04-28 | 2017-09-15 | 英特尔公司 | 用于随机运动模糊栅格化的深度缓冲器压缩 |
AU2011203169C1 (en) * | 2011-06-29 | 2014-07-17 | Canon Kabushiki Kaisha | Compression of high bit-depth images |
US10019353B2 (en) * | 2012-03-02 | 2018-07-10 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for referencing data on a storage medium |
-
2012
- 2012-11-20 US US13/681,614 patent/US9665973B2/en active Active
-
2013
- 2013-06-27 DE DE112013004618.0T patent/DE112013004618T5/de not_active Withdrawn
- 2013-06-27 WO PCT/US2013/048058 patent/WO2014081473A1/en active Application Filing
- 2013-06-27 CN CN201380054751.5A patent/CN104756150B/zh not_active Expired - Fee Related
- 2013-11-13 TW TW102141238A patent/TWI535277B/zh not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5844571A (en) * | 1996-06-10 | 1998-12-01 | International Business Machines Corporation | Z buffer bandwidth reductions via split transactions |
US20030080965A1 (en) * | 1999-07-31 | 2003-05-01 | Jon L. Ashburn | Creating column coherency for burst building in a memory access command stream |
US7414625B1 (en) * | 2003-01-31 | 2008-08-19 | Microsoft Corporation | Generation of glow effect |
CN101123707A (zh) * | 2007-09-24 | 2008-02-13 | 威盛电子股份有限公司 | 像素色彩值数据决定装置与方法 |
CN101729919A (zh) * | 2009-10-30 | 2010-06-09 | 无锡景象数字技术有限公司 | 基于fpga的全自动平面视频转立体视频系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109643464A (zh) * | 2016-09-16 | 2019-04-16 | 英特尔公司 | 用于高效深度预过程的方法和装置 |
CN109643464B (zh) * | 2016-09-16 | 2023-12-01 | 英特尔公司 | 用于高效深度预过程的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2014081473A1 (en) | 2014-05-30 |
US20140139524A1 (en) | 2014-05-22 |
CN104756150B (zh) | 2018-07-24 |
TWI535277B (zh) | 2016-05-21 |
TW201424356A (zh) | 2014-06-16 |
DE112013004618T5 (de) | 2015-06-03 |
US9665973B2 (en) | 2017-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104756150A (zh) | 深度缓冲 | |
US8823736B2 (en) | Graphics tiling architecture with bounding volume hierarchies | |
CN104951263B (zh) | 避免向显示器发送未改变的区域 | |
CN104205161B (zh) | 用于块压缩图象的解压缩的系统、方法和计算机程序产品 | |
CN104704469B (zh) | 动态地重新平衡图形处理器资源 | |
US9251731B2 (en) | Multi-sampling anti-aliasing compression by use of unreachable bit combinations | |
US9336561B2 (en) | Color buffer caching | |
TWI517086B (zh) | 用於去耦取樣為主描繪管線之低功率質心決定及紋理覆蓋區最佳化 | |
WO2022100663A1 (zh) | 一种选择抗锯齿算法的方法、装置、设备及可读存储介质 | |
CN104025031B (zh) | 减少应用中对共享存储器单元执行的顺序操作的数量 | |
CN104737198B (zh) | 在输入几何对象粒度上记录可见度测试的结果 | |
US9934604B2 (en) | Culling using masked depths for MSAA | |
CN104067318B (zh) | 使用三维光栅化的时间连续碰撞检测 | |
JP6182225B2 (ja) | カラーバッファ圧縮 | |
CN104035540A (zh) | 在图形渲染期间降低功耗 | |
CN104603844B (zh) | 减小的位计数多边形光栅化 | |
CN104584544A (zh) | 使用一般化平面编码的随机深度缓冲器压缩 | |
CN104040589A (zh) | 使用随机光栅化生成随机采样分布 | |
CN105103512A (zh) | 分布式图形处理 | |
CN104054049A (zh) | 减少由cpu执行以便复制源数据从而实现对源数据的并行处理的读/写操作的数量 | |
CN104025035B (zh) | 当执行迭代处理连续数据的程序时减少对存储器io请求的数量 | |
CN104012078B (zh) | 图像数据的感知无损压缩以减少存储器带宽和存储 | |
CN104221393A (zh) | 内容自适应视频处理 | |
US9153008B2 (en) | Caching for reduced depth and/or color buffer bandwidth | |
CN104272285A (zh) | 渲染多个远程图形应用程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180724 Termination date: 20210627 |
|
CF01 | Termination of patent right due to non-payment of annual fee |