CN103890814A - 基于表面的图形处理 - Google Patents
基于表面的图形处理 Download PDFInfo
- Publication number
- CN103890814A CN103890814A CN201180074245.3A CN201180074245A CN103890814A CN 103890814 A CN103890814 A CN 103890814A CN 201180074245 A CN201180074245 A CN 201180074245A CN 103890814 A CN103890814 A CN 103890814A
- Authority
- CN
- China
- Prior art keywords
- instruction
- devices
- media
- sample
- described processor
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
在一些情况下,代替为覆盖像素的每一图元提供一个色彩样本,可标识由一个以上图元构成的表面。在一些情况下,可标识可能具有相同色彩的表面。因此,在这种情况下,一个以上图元可能只需要一个色彩样本。
Description
背景
本发明一般涉及图形处理。
通常,结合图形处理,物体被镶嵌成大量三角形。每个三角形用于表示物体的很小部分的形状和色彩。然后,这些特性可用于确定如何渲染像素以重塑图形图像。
结合图形处理而出现的一个问题被称为混叠(aliasing)。当实际上物体的边缘是平滑的或者非楼梯式的时,它可被视为在图像中描绘的物体上的楼梯形边缘。
为了减少混叠,反混叠技术增加用于表示图像的样本数量。当然,使用的样本越多,渲染越复杂,并且通常性能越差。
附图简述
图1是根据一个实施例的来自归属于像素的五个三角形的五个片段的描绘;
图2是图1的像素的描绘,表示根据一个实施例的两个明显的所标识表面中的每一表面的输出;
图3是用于本发明的一个实施例的流程图;
图4是用于本发明的另一实施例的流程图;以及
图5是用于本发明的一个实施例的示意性描绘。
详细描述
在一些实施例中,可不基于三角形或片段而是基于表面来渲染色彩。在一个实施例中,一个色彩样本用于每一表面。在一些情况下,每一像素的色彩样本数量可限于两个样本,一个用于前景而一个用于背景。
在一些实施例中,作为结果,全部计数(complement)的可见性样本可用于例如减少混叠,并且较少数量的色彩样本可用于降低处理的复杂性且改进性能。
如本文中所使用的,“表面”是可能具有一种色彩的区域。可通过分析该区域与相机的距离,该区域是否由相同的三角形表示,以及空间中的可能表面的区域的取向,并且具体地这些区域是否具有相同或者基本相同的法线来标识表面。
该表面的理念在于,如果在整个区域上该区域局部是平坦的,则整个区域可能具有相同的色彩。由此,基于表面的图形处理可用于简化处理,包括在其中基于表面的处理用于改进反混叠技术的那些应用中。
通常,在一些实施例中,针对每一像素的每一表面,捕捉并描影(shade)一个样本,从而有效地合并属于相同表面的诸如图元或三角形之类的片段。该合并可减少针对每个像素存储且描影的色彩样本的数量,从而在不减少可见性样本的数量的情况下改进性能。在一些情形中,减少可见性样本的数量可增加混叠。
由此,参考图1,在该示例中,像素10可由该像素上的五个三角形12a-12e(标号为1至5)覆盖。圆圈表示可见性样本。可见性样本是用于确定像素接近该样本的区域在视景平截头(frustrum)内可见的那些样本。另外,可用于对像素片段的色彩进行采样的潜在色彩样本位于每一片段内。如果图1所示的样本14中的每一样本用作色彩样本,则对于八个可见性样本可存在八个色彩样本。在一些情况下,这可导致处理复杂和性能降低。由此,在一些实施例中,代替使用所有色彩样本,可使用来自两个表面中的每一表面的仅一个样本。在此情况下,三角形1构成一个表面,而三角形2、3、4和5构成另一表面。
在图2中更好地示出表面的描述,该图示出存在八个可见性样本(由圆圈表示)以及仅两个色彩样本,一个色彩样本14a用于表面16a而另一色彩样本14b用于表面16b。两个表面之间的分割线18以虚线指示。
接着参考图3,根据一个实施例的反混叠序列20可以软件、硬件、和/或固件实现。在软件和固件实施例中,它可通过存储在非瞬态计算机可读介质(诸如光、半导体、或磁存储)中的计算机可读指令来实现。在一些情况下,该存储可与图形处理器相关联。
该序列通过标识表面开始,如框22所指示的。可渲染用于检测表面的信息。用于检测表面的信息可包括深度、法线、以及图元标识符。该信息可被渲染成多采样帧缓冲。多采样帧缓冲是通常用于前向渲染(forwardrendering)的缓冲种类。接着,分析多采样帧缓冲,并且合并属于相同表面的片段(框24)。在一个实施例中,每一表面可被分配唯一的样本。可检测和存储每一像素多达n个表面,其中n可以是先验(priori)固定的。该***可被配置成检测和存储每一像素任意数量的表面。
接着,如框26所示,在第三阶段中,经由常规前向渲染过程在深的或者几何帧缓冲中捕捉表面样本。在最后阶段中,在框28所示,可对从第三阶段收集的表面样本进行典型延迟描影遍扫(deferred shading pass)。在一些实施例中,代替每一图元或三角形一个样本,每一表面描影仅一个样本。
图4所示的表面检测序列30可以硬件、软件、和/或固件实现。在软件和固件实施例中,它可通过存储在非瞬态计算机可读介质(诸如光、半导体、或磁存储设备)中的计算机可读指令来实现。再次,在一个实施例中,该序列可被存储在与图形处理单元相关联的存储中。在一个实施例中,可在每一像素的基础上执行该处理。
在一个每一像素序列中,最初启用所有活跃样本。然后,对于每个输出样本,只要样本集不是空的,就使用所有活跃样本的图元标识符来标识片段,如框32所指示的。然后,找到最大的片段F(因为它具有最高样本覆盖范围),如框34所指示的。接着,活跃样本的法线用于标识M——用于合并与片段F对准的那些法线的一组候选样本,如框36所指示的。
在菱形38,检查确定样本M和F的深度分布是否为单峰的。如本文中所使用的,单峰分布是具有一个峰值的分布或者在样本的一个平均值周围定义的分布。如果是这样,则假设那些样本是相同表面的部分,如框40所指示的。它们的覆盖范围以及全部被组合用于后续描影和写出样本的输出F根据活跃掩码被禁用,因为将不使用这些样本,如框42所指示的。然后,输出检测到的表面,如框43所指示的。如果如菱形38所确定的深度不是单峰的(例如,如果它是双峰的),则F是具有其初始覆盖范围的输出,如框44所指示的。
对于其中n=2的示例中的一个给定像素的每一表面的每一样本,合并算法与每一像素预设数量的可见性样本(在一个实施例中,每一像素的八个可见性样本)配置地使用由此,参考图1给出的示例,图4的序列使用活跃样本的图元标识符来标识片段1-5。具有最高样本覆盖范围的最大片段F是片段1。然后,活跃样本的法线用于标识M——用于合并的一组候选样本,其法线与F对准。在该示例中,M是空的,因为片段2、3、4和5的法线不与片段1对准。因此,F是输出。即,输出表面是片段#1,且其原始覆盖范围有三个样本。从一组活跃样本中禁用片段1的其他样本。对于样本#2,图元标识符用于标识活跃样本且标识片段2-5。
具有最高样本覆盖范围的最大片段F是片段#3。活跃样本的法线用于标识M——用于合并的一组候选样本,其法线与F对准。在此情况下,M包括所有剩余样本,包括属于片段2、4和5的那些样本。样本M和F的深度分布是单峰的,并且因此我们假设他们是相同表面的一部分。由此,输出为图元3的F作为第二表面,用于具有扩展覆盖范围2+3(其等于5个样本)的后续描影。
在一些情况下,可加速通过发现具有最大覆盖范围的最大片段F来确定样本是否属于相同的表面。在一个实施例中,每个三角形标识符可以是32位。为了指示该样本与哪一三角形有关,代替使用三角形标识符,可使用少于所有的位(例如,该标识符的仅七个最不重要的位)。使用七个最不重要的位导致显著快速的过程,而不会显著不利地影响质量。
图5所示的计算机***130可包括硬驱动134、以及通过总线104耦合到芯片组核逻辑110的可移除介质136。计算机***可以是任何计算机***,包括诸如智能电话、平板、或者移动因特网设备之类的智能设备。键盘和鼠标120、或者其他传统组件可经由总线108耦合到芯片组核逻辑。在一个实施例中,核逻辑可经由总线105耦合到图形处理器112且耦合到中央处理器100。图形处理器112还可通过总线106耦合到帧缓冲114。帧缓冲114可通过总线107耦合到显示屏幕118。在一个实施例中,图形处理器112可以是使用单指令多数据(SIMD)架构的多线程多核并行处理器。
在软件实现的情况下,相关代码可被存储在任何合适的半导体、磁、或光存储器中,该存储器包括主存储器132(如在139所指示的)或者图形处理器内的任何可用存储器。由此,在一个实施例中,执行图3和4的序列的代码可被存储在非瞬态机器或计算机可读介质(诸如存储器132、和/或图形处理器112、和/或中央处理器100)中,并且在一个实施例中可由处理器100和/或图形处理器112执行。
本文中所描述的图形处理技术可以各种硬件架构实现。例如,图形功能可被集成在芯片组内。替换地,可使用分立的图形处理器。作为又一实施例,图形功能可通过通用处理器来实现,该通用处理器包括多核处理器。
贯穿本说明书对“一个实施例”或“实施例”的引用意味着结合实施例所描述的特定特征、结构、或特性被包括在涵盖在本发明内的至少一种实现中。由此,词组“一个实施例”或“在一个实施例中”的出现不一定引用相同的实施例。此外,特定特征、结构、或特性可以除所示特定实施例以外的其他合适的形式建立,并且所有这些形式可被涵盖在本申请的权利要求内。
尽管本发明已经参考有限数量的实施例进行了描述,但是本领域技术人员应当理解其各种修改和变体。旨在所附权利要求覆盖如落入本发明的真实精神和范围的所有这些修改和变体。
Claims (30)
1.一种方法,包括:
使用计算机处理器通过标识可能具有相同色彩的表面来渲染图像。
2.如权利要求1所述的方法,其特征在于,包括:使用法线来标识表面。
3.如权利要求1所述的方法,其特征在于,包括:使用深度来标识表面。
4.如权利要求3所述的方法,其特征在于,包括确定多个图元的深度是否为单峰的,以标识表面。
5.如权利要求1所述的方法,其特征在于,包括在渲染色彩之前标识表面。
6.如权利要求1所述的方法,其特征在于,包括标识表面以减少每一像素色彩样本的数量。
7.如权利要求6所述的方法,其特征在于,包括标识用于反混叠的表面。
8.如权利要求1所述的方法,其特征在于,包括使用每一像素不多于两个色彩样本。
9.如权利要求1所述的方法,其特征在于,包括使用图元标识符来标识图元。
10.如权利要求9所述的方法,其特征在于,包括使用少于图元标识符的所有的位。
11.一种非瞬态计算机可读介质,所述非瞬态计算机可读介质存储指令以使计算机能够:
通过标识可能具有相同色彩的表面来渲染图像。
12.如权利要求11所述的介质,其特征在于,还存储使用法线来标识表面的指令。
13.如权利要求11所述的介质,其特征在于,还存储用于使用深度来标识表面的指令。
14.如权利要求13所述的介质,其特征在于,还存储用于确定多个图元的深度是否为单峰的以标识表面的指令。
15.如权利要求11所述的介质,其特征在于,还存储用于在渲染色彩之前标识表面的指令。
16.如权利要求11所述的介质,其特征在于,还存储用于标识表面以减少每一像素色彩样本的数量的指令。
17.如权利要求16所述的介质,其特征在于,还存储用于标识用于反混叠的表面的指令。
18.如权利要求11所述的介质,其特征在于,还存储用于使用每一像素不多于两个色彩样本的指令。
19.如权利要求11所述的介质,其特征在于,还存储用于使用图元标识符来标识图元的指令。
20.如权利要求19所述的介质,其特征在于,还存储用于使用少于图元标识符的所有的位的指令。
21.一种装置,包括:
通过标识可能具有相同色彩的表面来渲染图像的处理器;以及
耦合到所述处理器的存储。
22.如权利要求21所述的装置,其特征在于,所述处理器使用法线来标识表面。
23.如权利要求21所述的装置,其特征在于,所述处理器使用深度来标识表面。
24.如权利要求23所述的装置,其特征在于,所述处理器确定多个图元的深度是否为单峰的,以标识表面。
25.如权利要求21所述的装置,其特征在于,所述处理器在渲染色彩之前标识表面。
26.如权利要求21所述的装置,其特征在于,所述处理器标识表面以减少每一像素色彩样本的数量。
27.如权利要求26所述的装置,其特征在于,所述处理器标识用于反混叠的表面。
28.如权利要求21所述的装置,其特征在于,所述处理器使用每一像素不多于两个色彩样本。
29.如权利要求21所述的装置,其特征在于,所述处理器使用图元标识符来标识图元。
30.如权利要求29所述的装置,其特征在于,所述处理器使用少于图元标识符的所有的位。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/056705 WO2013058740A1 (en) | 2011-10-18 | 2011-10-18 | Surface based graphics processing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103890814A true CN103890814A (zh) | 2014-06-25 |
CN103890814B CN103890814B (zh) | 2017-08-29 |
Family
ID=48141198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180074245.3A Active CN103890814B (zh) | 2011-10-18 | 2011-10-18 | 基于表面的图形处理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20140022273A1 (zh) |
CN (1) | CN103890814B (zh) |
TW (2) | TWI646500B (zh) |
WO (1) | WO2013058740A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9626795B2 (en) * | 2013-12-17 | 2017-04-18 | Intel Corporation | Reducing shading by merging fragments from the adjacent primitives |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1155715A (zh) * | 1995-10-06 | 1997-07-30 | 任天堂株式会社 | 轮廓边缘的去混叠 |
US20020097241A1 (en) * | 2000-08-18 | 2002-07-25 | Mccormack Joel James | System and method for producing an antialiased image using a merge buffer |
US20020180731A1 (en) * | 2001-04-20 | 2002-12-05 | Eugene Lapidous | Multi-resolution depth buffer |
US20040001069A1 (en) * | 2002-06-28 | 2004-01-01 | Snyder John Michael | Systems and methods for providing image rendering using variable rate source sampling |
US20040174379A1 (en) * | 2003-03-03 | 2004-09-09 | Collodi David J. | Method and system for real-time anti-aliasing |
US20040257361A1 (en) * | 2003-06-17 | 2004-12-23 | David Tabakman Zale Lewis | System, computer product, and method for creating and communicating knowledge with interactive three-dimensional renderings |
CN101194290A (zh) * | 2005-06-07 | 2008-06-04 | 索尼株式会社 | 信息处理装置和信息处理方法、图像处理装置和图像处理方法、以及计算机程序 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10134927C1 (de) * | 2001-07-18 | 2003-01-30 | Spl Electronics Gmbh | Filterschaltung und Verfahren zur Verarbeitung eines Audiosignals |
US7256779B2 (en) * | 2003-05-08 | 2007-08-14 | Nintendo Co., Ltd. | Video game play using panoramically-composited depth-mapped cube mapping |
EP1480171B1 (en) * | 2003-05-22 | 2016-11-02 | Telefonaktiebolaget LM Ericsson (publ) | Method and system for supersampling rasterization of image data |
US7656417B2 (en) * | 2004-02-12 | 2010-02-02 | Ati Technologies Ulc | Appearance determination using fragment reduction |
JP4749064B2 (ja) * | 2005-07-15 | 2011-08-17 | 株式会社バンダイナムコゲームス | プログラム、情報記憶媒体及び画像生成システム |
JP4717622B2 (ja) * | 2005-12-15 | 2011-07-06 | 株式会社バンダイナムコゲームス | プログラム、情報記録媒体および画像生成システム |
US7564456B1 (en) * | 2006-01-13 | 2009-07-21 | Nvidia Corporation | Apparatus and method for raster tile coalescing |
-
2011
- 2011-10-18 CN CN201180074245.3A patent/CN103890814B/zh active Active
- 2011-10-18 WO PCT/US2011/056705 patent/WO2013058740A1/en active Application Filing
- 2011-10-18 US US13/992,886 patent/US20140022273A1/en not_active Abandoned
-
2012
- 2012-09-27 TW TW105132892A patent/TWI646500B/zh active
- 2012-09-27 TW TW101135590A patent/TWI567688B/zh active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1155715A (zh) * | 1995-10-06 | 1997-07-30 | 任天堂株式会社 | 轮廓边缘的去混叠 |
US20020097241A1 (en) * | 2000-08-18 | 2002-07-25 | Mccormack Joel James | System and method for producing an antialiased image using a merge buffer |
US20020180731A1 (en) * | 2001-04-20 | 2002-12-05 | Eugene Lapidous | Multi-resolution depth buffer |
US20040001069A1 (en) * | 2002-06-28 | 2004-01-01 | Snyder John Michael | Systems and methods for providing image rendering using variable rate source sampling |
US20040174379A1 (en) * | 2003-03-03 | 2004-09-09 | Collodi David J. | Method and system for real-time anti-aliasing |
US20040257361A1 (en) * | 2003-06-17 | 2004-12-23 | David Tabakman Zale Lewis | System, computer product, and method for creating and communicating knowledge with interactive three-dimensional renderings |
CN101194290A (zh) * | 2005-06-07 | 2008-06-04 | 索尼株式会社 | 信息处理装置和信息处理方法、图像处理装置和图像处理方法、以及计算机程序 |
Also Published As
Publication number | Publication date |
---|---|
US20140022273A1 (en) | 2014-01-23 |
WO2013058740A1 (en) | 2013-04-25 |
TWI567688B (zh) | 2017-01-21 |
TW201337827A (zh) | 2013-09-16 |
TW201727574A (zh) | 2017-08-01 |
CN103890814B (zh) | 2017-08-29 |
TWI646500B (zh) | 2019-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11880926B2 (en) | Hybrid render with deferred primitive batch binning | |
US9449421B2 (en) | Method and apparatus for rendering image data | |
US7463261B1 (en) | Three-dimensional image compositing on a GPU utilizing multiple transformations | |
US10055883B2 (en) | Frustum tests for sub-pixel shadows | |
US20170249401A1 (en) | Modeling point cloud data using hierarchies of gaussian mixture models | |
US10134160B2 (en) | Anti-aliasing for graphics hardware | |
US8810585B2 (en) | Method and apparatus for processing vertex | |
US11954782B2 (en) | Hybrid render with preferred primitive batch binning and sorting | |
KR20160004963A (ko) | 그래픽 처리 | |
US9501860B2 (en) | Sparse rasterization | |
US20140176545A1 (en) | System, method, and computer program product implementing an algorithm for performing thin voxelization of a three-dimensional model | |
US9639971B2 (en) | Image processing apparatus and method for processing transparency information of drawing commands | |
KR102006584B1 (ko) | 레이트 심도 테스팅과 컨서버티브 심도 테스팅 간의 동적 스위칭 | |
US10453168B2 (en) | Techniques for maintaining atomicity and ordering for pixel shader operations | |
US20160163014A1 (en) | Prediction based primitive sorting for tile based rendering | |
US11631187B2 (en) | Depth buffer pre-pass | |
US20120147007A1 (en) | Apparatus and method for tile binning to reduce power consumption | |
TW201312499A (zh) | 景深網格化 | |
US20130249927A1 (en) | Methods and Systems for Enhanced Quality Anti-Aliasing | |
CN103890814A (zh) | 基于表面的图形处理 | |
US10019776B2 (en) | Techniques for maintaining atomicity and ordering for pixel shader operations | |
US10032245B2 (en) | Techniques for maintaining atomicity and ordering for pixel shader operations | |
WO2018044738A1 (en) | Hybrid render with preferred primitive batch binning and sorting | |
CN113628315B (zh) | 射线锥追踪和纹理过滤的技术 | |
US9275495B2 (en) | Rendering transparent primitives |
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 |