CN1848179B - 高效z测试 - Google Patents

高效z测试 Download PDF

Info

Publication number
CN1848179B
CN1848179B CN200510136675.XA CN200510136675A CN1848179B CN 1848179 B CN1848179 B CN 1848179B CN 200510136675 A CN200510136675 A CN 200510136675A CN 1848179 B CN1848179 B CN 1848179B
Authority
CN
China
Prior art keywords
pixel
block
sub
promote
psa
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.)
Expired - Fee Related
Application number
CN200510136675.XA
Other languages
English (en)
Other versions
CN1848179A (zh
Inventor
托马斯·派亚扎
埃里克·萨姆森
纳塞赫·阿卡邦恩
迪纳卡·穆纳伽拉
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1848179A publication Critical patent/CN1848179A/zh
Application granted granted Critical
Publication of CN1848179B publication Critical patent/CN1848179B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • 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
    • G06T15/405Hidden part removal using Z-buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

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

Abstract

计算机图形渲染期间的Z测试的执行方式是为了优化渲染。不可提升的像素状态可使用像素状态阵列(PSA)来跟踪。每个PSA行可包括对应于像素的不可提升状态的位。每行可包括5位,其中的首4位代表子块中的像素。如果行对应于合法子块,则可确定该子块中是否有任何像素被表示为1,即表明该像素是不可提升的。此行对应于已被送到渲染流水线的在先子块。如果出现1,则可阻滞当前子块,直到在先子块的像素已通过色彩计算。如果在刚读取的行中没有像素表示为1,则可确定当前子块中是否有任何像素是不可提升的。如果有,则可将当前PSA行中的对应位设置为1。否则,可对当前子块的每个像素执行Z测试。

Description

高效Z测试
技术领域
在此描述的本发明的实施方案涉及计算机图形,更具体地说涉及渲染(rendering)。 
背景技术
一般地说,计算机图形渲染是这样一个过程,通过此过程可接收并处理图形指令和数据以可产生图像数据。然后将该图像数据发送到输入/输出(I/O)设备例如显示器。渲染操作创建可被显示为图像的数据。 
计算机图形渲染的过程可包括多个离散操作。例如,可能需要计算物体或背景的特定颜色。还可能需要将纹理(texture)应用到给定的表面。计算机图形渲染中可能执行的另一个操作是确定给定物体是否在另一个物体或背景的前面。如果前景物体是不透明的,则背景物体可被遮挡,而背景物体被遮挡的部分可能不需要被渲染。这一深度分析一般称为Z测试。在渲染的三维场景中,物体或像素和假想的照相机或观测者的眼睛之间的距离可被确定。类似地,可确定照相机和第二可能遮挡的物体或像素之间的可比较的距离。这些距离可以在假想的Z轴上测量,因此有了术语“Z测试”。如果较近的物体是不透明的,则较远的像素或物体可能不需要被渲染。 
但是要注意,Z测试在某些实现方式中可能更为复杂。例如,当一个物体可能在前景中时,该物体可能是半透明或透明的。在这一情形中,可能需要渲染背景物体。这些条件也可被设计到Z测试中。 
如上所述,Z测试处理可能只是渲染期间发生的几个处理中的一个。而且,图像可能需要近乎实时地生成、修改和显示。如果这样,由于计算机图形渲染经常意味着大量数据的处理,渲染处理必须高效而迅速地进行。因此,出现若干设计问题,涉及如何最佳地排序这些处理以及如何实现它们,以可最大化渲染吞吐率。 
发明内容
根据本发明的一个方面,提供了一种方法,包括:读像素状态阵列(PSA)的两行的容器标志,所述行对应于在先子块和当前子块;以及,确定所述当前子块是否包括不可提升的像素并且与所述在先子块重叠,并且,如果是,则阻滞所述当前子块,直到所述在先子块被渲染流水线的色彩计算逻辑处理;否则,将所述当前子块转发通过所述渲染流水线。
根据本发明的另一个方面,提供了一种方法,包括:确定在先行是否出现在像素状态阵列(PSA)中,所述在先行对应于在先子块;确定所述PSA的当前行中是否表明有不可提升的像素;如果表明有不可提升的像素,则阻滞对应于所述当前行的当前子块,直到所述在先子块被渲染流水线的色彩计算逻辑处理;如果未表明有不可提升的像素,则确定所述当前子块是否包括不可提升的像素;如果所述当前子块包括不可提升的像素,则设置对应于所述当前子块的所述不可提升的像素的PSA位置;以及,如果所述当前子块只包括可提升的像素,则对所述可提升的像素进行Z测试。 
根据本发明的又一个方面,提供了一种计算机图形渲染器,包括进行下述操作的中间Z单元:根据代表多个像素的状态的像素状态阵列(PSA),确定像素是否是可提升的;对可提升的像素执行Z测试;如果所述Z测试失败,则丢弃所述可提升的像素;以及,如果所述Z测试通过,则将所述像素转发通过渲染流水线。 
附图说明
下面将参考附图来描述本发明。某个元件首次在其中出现的附图由对应标号中的最左位表示。 
图1表示根据本发明实施方案的像素状态阵列。 
图2的流程图示出了根据本发明的实施方案,使用所述像素状态阵列来执行Z测试的过程。 
图3的流程图示出了根据本发明的实施方案,校验像素状态阵列中的一行的容器(bin)标志并对其操作的过程。 
图4的方框图示出了根据本发明实施方案的计算机图形渲染器。 
具体实施方式
这里描述的本发明例如可表示为一种方法和系统,用于在计算机图形渲染期间执行Z测试,以优化渲染吞吐率效率。为了本发明的目的,像素可被安排成子块(subspan),每个子块可以是在计算机显示器上显示的2像素乘2像素的阵列。子块可进一步组合成更大的集合,在此称为容器(bin)。每个容器因此可代表一组子块,并可代表显示在计算机显示器上的场景(scene)的离散区域。一些像素可被指定为不可提升的。如果像素是不可提升的,则意味着即使该像素相对于背景中的像素可能位于前景中,该前景中不可提升的像素也未必遮挡所述背景像素。不可提升的像素例如可能是透明或半透明的物体或表面的一部分。不可提升的像素状态可使用称为像素状态阵列(PSA)的数据结构来跟踪。在本发明的实施方案中,像素状态阵列可包括多个行。每行可包括多个位,每个位对应于像素的不可提升状态。在本发明的实施方案中,PSA的每行可包括5个位,其中的首4位可代表单个子块中的像素。如果像素是不可提升的,则PSA中的对应位可在对应于该像素的子块的行中被设置。PSA可实现为硬件或软件,或其结合。 
在本发明的实施方案中,本发明的处理可开始于读PSA的行。可确定子块的合法性,即该处理可确定子块是否包括至少一个像素。可确定该行中的首4个位置中是否有任何一个出现1。1表明对应的像素是不可提升的。注意,此行可对应于一个在先的像素子块,该子块已经被送进渲染流水线中进行色彩计算和其他操作。如果出现1,则当前子块可在渲染流水线之前被阻滞,直到在先子块的像素已经完成色彩计算。 
如果已经读取的行中没有像素表示为1,则可确定当前子块中是否有任何像素是不可提升的。如果是,则可将对应于当前子块的PSA行中的对应位设置为1。否则,可对当前子块的4个像素中的每一个进行Z测试。以这种方式,可在Z测试期间分析已知为可提升的像素,并可能在发现它们将被另一个像素遮挡时将起丢弃。这一被丢弃的像素因此绝不再会转到其他处理如色彩计算。这可消除不需要被处理的像素。 
下面将参考附图描述本发明的实施方案。如上所述,给定像素可被看作为可提升的或不可提升的。给定像素的可提升性或不可提升性可在PSA中跟踪。图1示出了根据本发明实施方案的示例性PSA。PSA可组织为二维阵列。阵列的每一行可对应于一个像素子块。在所示出的实施方案中,每个子块包括4个像素,因此PSA的每行包括4位,每像素1位,后跟第五位。行中的第五位在此可称为容器标志。容器标志的作用将在下面更详细地描述。因此在所示出的实施方案中,PSA的每行是5位。 
图2示出了本发明的处理的实施方案。该处理开始于方框205。在方框210中,读PSA的行。PSA的该行可和已经转发到通过渲染流水线进行色彩计算处理的在先像素子块相关联。如果在方框215中确定该子块是合法的,则处理可继续到方框220。这里可考虑当前子块。这一子块还未被转发到渲染流水线中的色彩计算。在方框220,确定当前子块中是否有任何像素表示为1。如上所述,1表明对应的像素是不可提升的。如果出现1,则在方框225中,阻滞当前子块,直到色彩计算逻辑完成了在先子块的解析。否则,处理继续到方框230。这里,确定当前子块中是否有任何像素是不可提升的。如果有,则处理继续到方框235。这里,将适当的PSA位置设置为1。如果当前子块中没有像素是不可提升的,则处理继续到方框240。这里,可对当前子块中的像素进行Z测试。由于当前子块中的所有像素都是可提升的,如在方框230中确定的那样,因此此时可进行Z测试。按照这种方式,被可提升的像素遮挡的像素可被丢弃而不进行进一步的处理。因此,在方框250中,可确定是否已通过Z测试。如果是,则在方框270,被测试的像素可被转到渲染流水线上的色彩计算逻辑。否则,可在方框260丢弃该像素。 
在本发明的实施方案中,当前子块可能被发现是不可提升的,同时PSA中没有匹配的条目。在这一情形下,然后可对该子块的像素进行Z测试。如果通过了Z测试,则可设置对应的PSA位,并可将当前子块转发通过渲染流水线。 
在本发明的实施方案中,PSA的每行可包括容器标志。容器标志可用来解决PSA的大小限制。理想地,PSA对场景中的每个子块都包括一行。这一般来说是不实际的,尤其 如果PSA实现为硬件时。为了解决这个问题,子块可被组织到容器中,每个容器可给出一个二进制指定号。每个容器因此可被看作为偶或奇数的。容器的指定号在场景上可交替,这样如果给定容器是奇,则它相邻的容器可被看作为偶。这一二进制方案可被编码为PSA中的0或1。因此,对于给定的子块,它的容器可通过容器标志而标识为偶或奇,容器标志在图1的示例性PSA中即为与子块相关联的行中的第5位。如果给定PSA的两行各自的容器标志不同,则可推论对应的子块与不同的容器相关联。因此在Z测试中这些子块将彼此相对地进行评估。因此,这些子块中的一个在另一个进行色彩计算期间不会有阻滞。 
当当前子块是不可提升的,并且另一个子块具有在渲染流水线更下面的步骤例如色彩计算逻辑中正被处理的重叠像素时,这一过程可能出现例外。在这一情形下,可阻滞当前子块,即使各自的容器标志可能不同。 
根据本发明实施方案的容器标志的处理示出在图3中。该处理开始于方框310。在方框320,可读取容器标志。在方框330,可确定容器标志是否表示不同于在先子块的容器的容器。如果是,则处理可继续到方框333。这里,可确定当前子块是否是不可提升的并且与在先子块重叠。如果是,则在方框336中,阻滞当前子块,直到渲染流水线的色彩计算逻辑解析了在先子块。如果否,则处理继续到方框340。这里,可将当前子块转到通过渲染流水线。如果在方框330中确定可能表示相同的子块,则处理可前进到方框205,如图2所示。 
本发明可实现为计算机图形渲染器,一个实施例示出在图4中。方框410可看作为渲染流水线。如图2和3所示出的本发明可被包括在方框420中,即中间的Z单元。如上所述,本发明使得如果根据Z测试的确定发现像素将被阻挡,则可丢弃该像素而无须额外的处理。可在图4中看到,通过Z测试的像素最终可被发送通过多个处理,并最终到达色彩计算器430。通过消除最终不会被显示的像素,本发明可通过针对不会被显示的像素而避免不必要的色彩计算,从而节省大量处理。 
借助于示出了执行所指定的功能及其关系的功能构建模块和方法步骤,已经描述了本发明。为了便于描述,任意地定义了这些功能构建模块和方法步骤的边界。可定义可替换的边界,只要适当地执行所指定的功能及其关系。因此任何这些可替换的边界仍在要求保护的发明的范围和精神之内。本领域的普通技术人员将会认识到,这些功能构建模块可由离散组件、专用集成电路、执行适当的软件等等的处理器或其结合来实现。因此,本发明的宽度和范围不应局限于上述示例性的实施方案,而仅应根据权利要求及其等同屋来定义。 
尽管已经描述了本发明的多个实施方案,但应理解到它们是以例示而非限制的方式给出的。对本领域的普通技术人员来说,很清楚可在其中作出各种形式和线程细节上的改变而不偏离本发明的精神和范围。

Claims (10)

1.一种用于在像素上执行Z测试的方法,包括:
读取像素状态阵列PSA的行;
确定子块的合法性,包括:如果在先行出现在所述PSA中,则确定所述在先行是否代表合法子块;
确定当前子块的任何像素的所述PSA中的位表示该像素是否是不可提升的;
如果当前子块中的任何像素被表示为是不可提升的,则阻滞当前子块,直到色彩计算逻辑完成了在先子块的解析;
如果当前子块中的没有像素被表示为是不可提升的,则确定当前子块中是否有任何像素是不可提升的;
如果当前子块中有任何像素是不可提升的,则将与当前子块对应的像素状态阵列PSA中的对应位设置为表示该对应像素是不可提升的;
如果当前子块中没有像素是不可提升的,则对当前子块中的像素进行Z测试,以分析所述像素是否被另一像素阻挡;
如果所述像素被另一像素阻挡,则丢弃被阻挡的像素;以及
如果所述像素没有被阻挡,则执行色彩计算。
2.根据权利要求1的方法,其中每个子块包括2乘2阵列形式的4个像素。
3.根据权利要求2的方法,其中所述像素状态阵列PSA的每行表示一个子块,并包括代表所述子块的4个像素的4位以及对应于该子块的容器标志。
4.根据权利要求1的方法,还包括:
如果可提升的像素中有任何像素通过了所述Z测试,则将所述可提升的像素转发通过渲染流水线;以及
如果所述可提升的像素未通过所述Z测试,则丢弃所述可提升的像素。
5.根据权利要求1的方法,还包括:
如果所述不可提升的像素中有任何像素通过了所述Z测试,则将所述不可提升的像素转发通过渲染流水线;以及
如果所述不可提升的像素未通过所述Z测试,则丢弃所述不可提升的像素。
6.根据权利要求1的方法,其中所述Z测试是在渲染流水线的中间Z模块中执行的。
7.根据权利要求1的方法,还包括:
设置所述PSA中对应于所述不可提升的像素的位;以及
如果所述PSA中没有行对应于所述当前子块,并且所述当前子块包括不可提升的像素,则对所述不可提升的像素执行所述Z测试。
8.一种计算机图形渲染器,包括:
色彩计算单元;
中间Z单元,根据权利要求1所描述的每一个步骤在像素上执行Z测试。
9.根据权利要求8的渲染器,其中所述当前和在先子块中的每一个都包括2乘2阵列形式的4个像素。
10.根据权利要求8的渲染器,其中所述PSA的每行对应于一个子块,并对所述子块的每个像素包括一个位。
CN200510136675.XA 2004-12-29 2005-12-29 高效z测试 Expired - Fee Related CN1848179B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/023,639 US8072451B2 (en) 2004-12-29 2004-12-29 Efficient Z testing
US11/023,639 2004-12-29

Publications (2)

Publication Number Publication Date
CN1848179A CN1848179A (zh) 2006-10-18
CN1848179B true CN1848179B (zh) 2014-07-09

Family

ID=36176165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200510136675.XA Expired - Fee Related CN1848179B (zh) 2004-12-29 2005-12-29 高效z测试

Country Status (6)

Country Link
US (1) US8072451B2 (zh)
KR (1) KR100908580B1 (zh)
CN (1) CN1848179B (zh)
DE (1) DE112005003295B4 (zh)
TW (1) TWI296784B (zh)
WO (1) WO2006072108A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102057166B1 (ko) * 2012-12-17 2019-12-18 에이알엠 리미티드 그래픽 처리 시스템에서 히든 표면의 제거
US9214006B2 (en) 2013-06-04 2015-12-15 Arm Limited Hidden surface removal in graphics processing systems
US9153070B2 (en) 2012-12-17 2015-10-06 Arm Limited Hidden surface removal in graphics processing systems
CN109427084B (zh) * 2017-08-25 2022-05-24 腾讯科技(深圳)有限公司 一种地图显示方法、装置、终端及存储介质
GB2574361B (en) 2017-12-18 2021-03-24 Advanced Risc Mach Ltd Graphics Processing
US10726610B2 (en) 2018-08-29 2020-07-28 Arm Limited Efficient graphics processing using metadata

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684942A (en) * 1991-08-30 1997-11-04 Canon Kabushiki Kaisha Image processing apparatus and method for generating a third image from first and second images
US5977987A (en) * 1995-07-26 1999-11-02 Raycer, Incorporated Method and apparatus for span and subspan sorting rendering system
US6219058B1 (en) * 1997-09-08 2001-04-17 Intel Corporation Bin-per-span based representation and communication of graphical data
US6411294B1 (en) * 1998-03-12 2002-06-25 Sega Enterprises, Ltd. Image display apparatus and image display method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864342A (en) * 1995-08-04 1999-01-26 Microsoft Corporation Method and system for rendering graphical objects to image chunks
US6166743A (en) 1997-03-19 2000-12-26 Silicon Magic Corporation Method and system for improved z-test during image rendering
US6456285B2 (en) * 1998-05-06 2002-09-24 Microsoft Corporation Occlusion culling for complex transparent scenes in computer generated graphics
US6271851B1 (en) 1999-07-26 2001-08-07 Silicon Integrated Systems Corporation Z-buffer pre-test for 3D graphic performance enhancement
US6559852B1 (en) 1999-07-31 2003-05-06 Hewlett Packard Development Company, L.P. Z test and conditional merger of colliding pixels during batch building
TW449729B (en) 1999-10-27 2001-08-11 Silicon Integrated Sys Corp Effective test ahead method and structure for Z buffer in 3D graphics
US6636214B1 (en) * 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US6999076B2 (en) 2001-10-29 2006-02-14 Ati Technologies, Inc. System, method, and apparatus for early culling
JP3761085B2 (ja) * 2001-11-27 2006-03-29 株式会社ソニー・コンピュータエンタテインメント 画像処理装置及びその構成部品、レンダリング処理方法
US7268779B2 (en) 2002-12-24 2007-09-11 Intel Corporation Z-buffering techniques for graphics rendering
US7583263B2 (en) * 2003-12-09 2009-09-01 Siemens Product Lifecycle Management Software Inc. System and method for transparency rendering

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684942A (en) * 1991-08-30 1997-11-04 Canon Kabushiki Kaisha Image processing apparatus and method for generating a third image from first and second images
US5977987A (en) * 1995-07-26 1999-11-02 Raycer, Incorporated Method and apparatus for span and subspan sorting rendering system
US6219058B1 (en) * 1997-09-08 2001-04-17 Intel Corporation Bin-per-span based representation and communication of graphical data
US6411294B1 (en) * 1998-03-12 2002-06-25 Sega Enterprises, Ltd. Image display apparatus and image display method

Also Published As

Publication number Publication date
KR20070088776A (ko) 2007-08-29
TW200636611A (en) 2006-10-16
WO2006072108A1 (en) 2006-07-06
DE112005003295T5 (de) 2008-04-17
TWI296784B (en) 2008-05-11
US8072451B2 (en) 2011-12-06
DE112005003295B4 (de) 2010-08-12
US20060139366A1 (en) 2006-06-29
CN1848179A (zh) 2006-10-18
KR100908580B1 (ko) 2009-07-22

Similar Documents

Publication Publication Date Title
Huang et al. Bevdet: High-performance multi-camera 3d object detection in bird-eye-view
US7463261B1 (en) Three-dimensional image compositing on a GPU utilizing multiple transformations
CN1848179B (zh) 高效z测试
CN111210498B (zh) 降低多边形网格的细节水平以减少被渲染几何的复杂度
JP4579262B2 (ja) 3次元画像のレンダリングにおける早期zテスト方法およびシステム
US8674985B2 (en) Method, medium, and system rendering 3D graphic data to enhance image quality of transparent objects
CN103620641B (zh) 最大化图形处理器中的并行处理
US20090122083A1 (en) Edge evaluation techniques for graphics hardware
CN104835191A (zh) 3d图形处理系统中用于处理图元的不透明度测试
CN104641412A (zh) 用于选择性显示刷新的方法和设备
CN100399358C (zh) 图像处理装置及其方法
CN102821293B (zh) 图像处理方法和设备
CN101025901A (zh) 图像处理系统、显示装置、程序及信息存储媒介
TW201724020A (zh) 圖形處理系統
US11631212B2 (en) Methods and apparatus for efficient multi-view rasterization
US20230326134A1 (en) Variable rate tessellation
CN115687194A (zh) 采用降低的能量传输模式的存储器接口
EP2141659B1 (en) Graphics processing with hidden surface removal
US20200380745A1 (en) Methods and apparatus for viewpoint visibility management
US11380047B2 (en) Methods and apparatus for order-independent occlusion computations
EP4066217B1 (en) Methods and apparatus for reducing draw command information
WO2024055221A1 (en) Fast msaa techniques for graphics processing
CN118262026A (zh) 基于光线追踪的相交判断方法、处理器、系统及电子设备
EP4371074A1 (en) Optimization of depth and shadow pass rendering in tile based architectures
CN110223369A (zh) Tbr架构的帧缓存写回方法、装置及计算机存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140709

Termination date: 20181229