CN102696055A - 利用分层加速结构的图形渲染 - Google Patents
利用分层加速结构的图形渲染 Download PDFInfo
- Publication number
- CN102696055A CN102696055A CN2009801632561A CN200980163256A CN102696055A CN 102696055 A CN102696055 A CN 102696055A CN 2009801632561 A CN2009801632561 A CN 2009801632561A CN 200980163256 A CN200980163256 A CN 200980163256A CN 102696055 A CN102696055 A CN 102696055A
- Authority
- CN
- China
- Prior art keywords
- node
- instruction
- medium
- storage
- leaf
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/32—Image data format
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
利用32位格式建立用于图形处理的分层加速结构。在一个实施例中,加速结构可以是k-d树,但也可使用其它加速结构。仅在需要64位偏移时使用64位偏移。
Description
背景技术
本发明一般地涉及图形处理期间的渲染图元。
可按照诸如三角形或多边形之类的图元来分析要处理的图像,这些图元共同地表示整体图形图像。在很多情况下,在光栅化期间分析三角形或多边形。
通常搜索图形图元。图形处理中的一个常见任务是确定哪些多边形或三角形位于给定的块或片中。这可能涉及在适当图元中进行几何近似搜索。需要搜索图元的另一个示例是光线跟踪。其中通过搜索算法,识别与光线或一组光线相交的最接近的多边形。
渲染算法使用加速结构来降低解决搜索问题的复杂性。这些加速结构也可被称为空间或几何索引。通常,它们涉及在端节点处存储图元的分层树状数据结构。这种分层加速结构的示例包括k维树即k-d树、包围体层次(BVH)、包围间隔层次(BIH)或二元空间分割(BSP)。
附图简述
图1是对根据一个实施例的内部节点的数据结构的描绘;
图2是对用于根据本发明的一个实施例的叶节点或64位扩展的数据结构的描绘;
图3是对根据一个实施例的父节点及其子的数据结构的描绘;
图4示出根据一个实施例的存储器区域和节点表之间的关系;
图5是对根据一个实施例的所分配的存储器区域之间的关系的描绘;
图6是本发明的一个实施例的流程图;
图7是本发明的另一个实施例的流程图;以及
图8是一个实施例的示意性描绘。
具体实施方式
根据一个实施例,可使用k维树加速结构,即k-d树。然而,也可使用任何其它分层加速结构。
在k-d树中,根据价值函数(cost function)将3D空间分成两个非重叠的区域。在第一次分裂之后,每个所得区域在第二次分裂中被分成两个区域,形成k-d树的两个内部节点,然后所得的四个区域中的每一个在第三次分裂中被分成两个区域,形成k-d树的更多节点。该过程递归地继续,直到满足专用终止标准。未再分裂的节点称为叶节点。叶节点存储与其区域相交的图元。在一些实施例中,叶存储对图元的参考而非图元本身。叶节点中的图元参考以图元索引阵列的形式存储。
基于树的数据结构具有大量的内部节点和对其它节点的参考。结果,其存储占用量可能很大且不可预测。构造这种基于树的数据结构的计算成本高。为了实现交互式图形应用所需的性能,需要使用高速并行计算来创建基于树的结构。在一些实施例中,可实现紧凑的存储布局,这减少所消耗的存储量。紧凑表示的优点是不会减慢各遍历步骤,在所述遍历步骤中,各个图元在搜索操作中被遍历。此外,可将加速结构存储在盘上并加载到不同的地址空间。可将加速结构传送到具有不同地址空间的另一个计算设备。加速结构及其数据格式的这种表示有利地支持了由多个并行线程进行的结构创建,因此允许使用高速并行计算。
在一些实施例中,用于包含大量图元的模型的加速结构扩展到图形处理架构的64位地址空间。一般地,64位地址空间需要64位大小的参考,但一些实施例可用偏移代替指针来参考子节点。在这种情况下,即使在扩展到64位地址空间的较大加速结构中,大多数偏移仍可以通过32位来编码,而仅有少部分偏移可能需要全64位编码。加速结构可编码需要64位偏移的特殊类型的节点,这种特殊类型的节点被进一步称为64位扩展。由于默认使用32位偏移并且将64位偏移编码为特殊扩展,因此用于适合32位地址空间的小模型的加速结构可有利地在64位计算机架构上具有相同的二进制表示,从而使32位结构能够在64位计算机上不变地使用。
参考图1和2,在一个实施例中,每个k-d树节点可存储在两个字中,每个字为四字节。也可使用其它字长度。在图1中示出的内部节点的第一字由位组28和30构成。图1中示出的位组28存储了从字28和30到子节点的第一字节的偏移34,或者在节点是叶的情况下,存储了从字28和30到图元索引阵列39的第一字节的偏移34,如图2所示。通过存储偏移而不是指针,数据结构可不依赖其所处的基址。结果,在一些实施例中,向另一个计算设备存储和加载或传送该结构将不需要预处理。
参考图3,父节点40的两个子节点42和44可存储在一起。在一些实施例中,这可允许在父节点中仅存储单个偏移,而不是两个偏移。
在一个实施例中,每个节点和叶索引阵列可至少通过四字节边界对齐。结果,任意两节点之间的偏移可具有至少两个等于零的最低有效位。这两个位(图1中的位组30)可用于存储附加信息。如针对内部节点所指示的(图1),位组30中的值1、2和3对与x、y或z轴对应的分裂面位置进行编码。图2中示出的叶节点中的位30的值可为零,使得位组30用作叶节点指示符。
参照图6,根据一个实施例,操作序列可在硬件、软件或固件中实现。在软件或固件实施例的情况下,该序列可按存储的计算机可执行指令的形式存储在适当的存储设备或介质中。适当的存储设备包括光盘或硬盘驱动以及半导体存储器,仅提及几个示例。
最初,节点被访问,如框10所指示的。然后,在菱形12中,进行检查,确定节点是否为内部的。如果是,则内部节点被处理,如框14所指示的。
如果节点不是内部的,则它是叶节点或64位扩展。64位扩展是需要64位偏移来参考其子节点之一或两个子节点的特殊类型的节点。当然,本发明可应用于任何尺寸的扩展。在任何情况下,它被处理为叶,如框16所指示的。因为遍历算法访问内部节点比访问叶节点更频繁,所以处理叶中而不是内部节点中的扩展实质上减少了用于检查扩展的操作数量。在菱形18中,进行检查,确定节点是否具有64位扩展。如果否,则可进行常规的叶处理。如果是,则处理64位扩展,如框20所指示的,然后该流程可继续,如同框16处的叶处理操作或框14处的内部节点处理。
在图6所示的流程的每次遍历期间,在每个遍历步骤处执行叶/内部节点测试12,且分支取决于其结果。将零作为叶指示符允许在分支前将测试减少到恰好一个指令:
以及节点,0x03
jz处理叶
为了处理所得到的树尺寸的不可预测性,构造算法可按照连续区域来分配存储器。如图7所示,在框22,一区域最初被分配在可在诸如固件之类的硬件或软件中实现、作为一系列计算机可执行指令而被存储在计算机可读存储介质中的序列中。然后在菱形24,进行检查,确定该区域何时满。如果该区域满了,则在框26中分配连续区域。该算法在其当前区域中继续构造,直到当前区域为满,然后从存储器分配系统请求新区域。
所构造的树的大的连接区域(区域k、k+1和j)位于每个区域中,如图5所指示的。结果,每个区域包含子树。在该示例中,当子树长得比区域k大时,分配连续的区域k+1。
这些子树之间的连结数可相对较小,在一个实施例中,小于连结总数的百分之一。因此,指向位于另一个存储区域中的子节点的节点数较小。
例如,典型的存储区域尺寸小于4千兆字节。所以当树被分成子树,且每个子树位于连续区域中时,节点可使用32位偏移来参考相同区域(例如,区域k和/或k+1)内的子节点。在一个实施例中,64位偏移仅用于在另一个存储区域中具有子节点定位(例如,当父节点在区域j中时子节点在区域k中)的节点。因为这种节点的数量小,它们可被编码为32位节点的扩展。
结果,该树可被存储为32位树,且以64位偏移扩展小部分节点。如果节点具有64位偏移,则将指示符与节点数据一起存储在轴30中。
为了避免在每个遍历步骤处测试64位扩展指示符,在一个实施例中,在图2中以零值将扩展节点存储在轴30中。因此,在这一实施例中,零可指示该节点是叶。
然后可修改图6中的遍历算法以测试64位扩展,但仅当内部节点测试未通过时。因此,任何64位扩展节点是特殊类型的叶。因为与遍历到内部节点的可能性相比,遍历到叶的可能性非常小,所以在一些实施例中仅在很少部分的遍历步骤中执行附加的64位扩展测试。
真实叶节点的第二个四字节字在该叶处存储若干图元,所以该值可大于或等于零。图元计数器中的负值指示该叶是特殊的且它是64位扩展节点。
在一个实施例中,以自上而下的方式构造树,从父节点至子节点。当以多个线程的方式构造树时,每个线程构成子树。因此,不同的线程可形成父节点和子节点。所以当形成父节点时,到子节点的偏移可能是未知的。该事实可防止将下一个64位偏移数据分配给节点。
在一个实施例中,如图4所示,64位扩展节点数据可存储在特殊的表中,例如在ext字段64中。在一些情况下,该64位扩展节点数据是实际的64位偏移66,实际的叶/轴68和实际的计数/分裂字段70。
参考图1,在内部节点的情况下,节点数据的第二个4字节字32作为分裂面沿轴的位置来处理,其中所述轴在30处被编码,该浮点值被称为SPLIT。在叶节点的情况下,图2中示出的节点数据的第二字38作为图元(例如三角形)的计数来处理,称为整数值COUNTER。在64位扩展的情况下,COUNTER小于0且它对包含实际的节点数据的表和索引进行编码。
在图4中(实际的节点数据),如果节点72是叶,则70作为该叶中图元的计数来处理。如果节点72是内部节点,则70作为分裂面位置来处理。所以,表中存储的扩展节点的编码原理与主数据结构中的相同,但第一字是64位(8字节)用以处理64位偏移。ext字段64可对负索引58进行编码,其中该索引是表52中的条目72。ext字段64还存储-(tbl+1)值56,其中tbl的值是表52的编号。如果-(tbl+1)值56位于区域j(图5)中,则64位偏移66就可参考区域k中的子节点42、44。
作为示例,多线程环境中每个构造线程可形成其自身的64位节点表48、52或54。所以,在一些实施例中,用于更新表的线程之间没有竞争。如果表变为满,则相应的线程仅由于再分配和数据复制而增加了其尺寸。因为表可以较小,所以它不会影响构造性能。
在一个实施例中,存储或传输位于多个存储区域中的树可涉及对交叉区域偏移的压缩和再分配。因为64位节点表可在从属节点上存储信息且这些从属节点恰好是具有交叉区域参考的节点,因此压缩操作可仅涉及对表中存在的节点进行表扫描和更新,而不是对所有树节点进行扫描和更新。
因此,在一些实施例中,仅用两位对以下两者进行编码:1)叶以及2)内部节点指示符和分裂面取向。两个最低有效位可用于叶/节点指示符,允许支持负偏移,这有助于实现多线程的构造。在一些实施例中,由于用这两个最低有效位对信息进行特殊编码,所以可以进行单指令的叶/节点测试。在一些实施例中,存储器可被分配用于多个区域的树节点,而不是来自单个连续阵列。因此,在一些实施例中,仅在需要时使用64位偏移,而将所有其它偏移存储为32位格式。特殊的表用于存储具有64位偏移的节点。最后,64位节点可被处理为特殊类型的叶。
图8中示出的计算机系统130可包括硬驱动器134和的可卸式介质136,它们通过总线104耦合到芯片组核逻辑110。在一个实施例中,核逻辑可(通过总线105)耦合到图形处理器112,并耦合到主处理器100。图形处理器112还可通过总线106耦合到帧缓冲器114。帧缓冲器可通过总线107耦合到显示屏118,又通过总线108耦合到常规组件,诸如键盘或鼠标120。
在软件实现的情况下,相关代码可存储在任何适当的半导体存储器、磁存储器或光存储器中,包括主存储器132。因此,在一个实施例中,代码139可存储在机器可读介质中,诸如主存储器132,以便由诸如处理器100或图形处理器112之类的处理器来执行。
在软件实施例中,例如,图6和7所示的序列可以是图形处理器112的一部分。然而,序列还可在如139所指示的存储在主存储器中的软件中实现。当然,该软件可驻留在图形处理器112或任意其它存储设备上。
本文中所描述的图形处理技术可用各种硬件架构来实现。例如,图形功能可整合在芯片组内。作为替换,可使用分立的图形处理器。作为又一实施例,图形功能可由通用处理器(包括多核处理器)来实现。
贯穿本说明书引述的“一个实施例”或“一实施例”意指结合该实施例描述的特定特征、结构或特性被包含在本发明内所涵盖的至少一个实现方式中。由此,短语“一个实施例”或“一实施例”的出现不一定引述同一实施例。此外,所述特定特征、结构或特性可被设立成除了所示特定实施例以外的其他合适形式,且所有此类形式可被涵盖在本申请的权利要求书内。
尽管本发明已针对有限数量的实施例作了描述,然而本领域技术人员将会从其中领会到许多修改和变型。所附权利要求旨在覆盖所有这样的修改和变型,只要其落在本发明的真实精神和范围内。
Claims (30)
1.一种方法,包括:
利用32位格式建立用于图形处理的分层加速结构;以及
仅在需要64位偏移时使用64位偏移。
2.如权利要求1所述的方法,其特征在于,用于建立分层加速结构的步骤包括建立k-d树。
3.如权利要求1所述的方法,其特征在于,包括将节点存储在两个四字节字中。
4.如权利要求3所述的方法,其特征在于,包括存储自一字起的偏移。
5.如权利要求4所述的方法,其特征在于,所述节点是叶,存储到图元索引阵列的第一字节的偏移。
6.如权利要求4所述的方法,其特征在于,包括存储到子节点的第一字节的偏移。
7.如权利要求1所述的方法,其特征在于,包括随同一父节点至少存储两个子节点。
8.如权利要求1所述的方法,其特征在于,使用位组对与x、y或z轴对应的分裂面位置进行编码。
9.如权利要求8所述的方法,其特征在于,包括使用所述位组来指示节点是否是叶节点。
10.如权利要求1所述的方法,其特征在于,包括确定节点是叶节点还是64位扩展。
11.如权利要求10所述的方法,其特征在于,仅当内部节点测试未通过时,测试64位扩展。
12.如权利要求1所述的方法,其特征在于,包括按照连续区域分配存储器。
13.一种存储指令的计算机可读介质,所述指令由计算机执行以:
建立用于图形处理器的分层加速结构;以及
仅当内部节点测试未通过时,测试64位扩展。
14.如权利要求13所述的介质,其特征在于,还存储仅当需要64位扩展时才使用64位扩展的指令。
15.如权利要求13所述的介质,其特征在于,还存储通过建立k-d树来建立分层树的指令。
16.如权利要求13所述的介质,其特征在于,还存储将节点存储在两个四字节字中的指令。
17.如权利要求16所述的介质,其特征在于,还存储用于存储自一字起的偏移的指令。
18.如权利要求17所述的介质,其特征在于,还存储当所述节点是叶时,存储到图元索引阵列的第一字节的偏移的指令。
19.如权利要求18所述的介质,其特征在于,还存储用于存储到子节点的第一字节的偏移的指令。
20.如权利要求13所述的介质,其特征在于,还存储用于随同一父节点至少存储两个子节点的指令。
21.如权利要求13所述的介质,其特征在于,还存储使用位组对与x、y或z轴对应的分裂面位置进行编码的指令。
22.如权利要求21所述的介质,其特征在于,还存储使用所述位组来指示节点是否是叶节点的指令。
23.如权利要求13所述的介质,其特征在于,还存储确定节点是叶节点还是64位扩展的指令。
24.如权利要求23所述的介质,其特征在于,还存储按照连续区域分配存储器的指令。
25.一种装置,包括:
图形处理器,用于用32位格式建立分层加速结构并且仅当需要64位偏移时使用64位偏移;以及
耦合至所述处理器的存储器。
26.如权利要求25所述的装置,其特征在于,所述分层加速结构包括k-d树。
27.如权利要求25所述的装置,其特征在于,仅当内部节点测试未通过时,所述图形处理器才测试64位扩展。
28.如权利要求25所述的装置,其特征在于,所述图形处理器按照连续区域分配存储器。
29.如权利要求25所述的装置,其特征在于,所述图形处理器使用位组来指示节点是否是叶节点。
30.如权利要求29所述的装置,其特征在于,所述图形处理器确定节点是叶节点还是64位扩展。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610533852.6A CN106204413B (zh) | 2009-10-30 | 2009-10-30 | 利用分层加速结构的图形渲染 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/RU2009/000594 WO2011053181A1 (en) | 2009-10-30 | 2009-10-30 | Graphics rendering using a hierarchical acceleration structure |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610533852.6A Division CN106204413B (zh) | 2009-10-30 | 2009-10-30 | 利用分层加速结构的图形渲染 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102696055A true CN102696055A (zh) | 2012-09-26 |
Family
ID=43922310
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610533852.6A Expired - Fee Related CN106204413B (zh) | 2009-10-30 | 2009-10-30 | 利用分层加速结构的图形渲染 |
CN2009801632561A Pending CN102696055A (zh) | 2009-10-30 | 2009-10-30 | 利用分层加速结构的图形渲染 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610533852.6A Expired - Fee Related CN106204413B (zh) | 2009-10-30 | 2009-10-30 | 利用分层加速结构的图形渲染 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10163187B2 (zh) |
EP (1) | EP2494518A4 (zh) |
KR (1) | KR20120088783A (zh) |
CN (2) | CN106204413B (zh) |
WO (1) | WO2011053181A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103824276A (zh) * | 2012-11-16 | 2014-05-28 | Arm有限公司 | 用于处理图形的方法和设备 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130033507A1 (en) * | 2011-08-04 | 2013-02-07 | Nvidia Corporation | System, method, and computer program product for constructing an acceleration structure |
US9552664B2 (en) | 2014-09-04 | 2017-01-24 | Nvidia Corporation | Relative encoding for a block-based bounding volume hierarchy |
US10235338B2 (en) | 2014-09-04 | 2019-03-19 | Nvidia Corporation | Short stack traversal of tree data structures |
US10043303B2 (en) * | 2016-03-30 | 2018-08-07 | Intel IP Corporation | Methods and apparatus for more efficient ray tracing of instanced geometry |
US11380042B2 (en) * | 2020-06-26 | 2022-07-05 | Imagination Technologies Limited | Intersection testing in ray tracing systems using hierarchical acceleration structures with implicitly represented nodes |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1928871A (zh) * | 2006-09-07 | 2007-03-14 | 北京优纳科技有限公司 | 大容量快速图像浏览系统 |
US20090157997A1 (en) * | 2007-12-14 | 2009-06-18 | Alexei Leonenko | Using in-leaf multiple triangle packing for kd-trees size reduction |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1093970C (zh) * | 1993-06-03 | 2002-11-06 | 郭玉霞 | 图形分层产生的方法及装置 |
JPH07296145A (ja) | 1994-04-21 | 1995-11-10 | Matsushita Electric Ind Co Ltd | 図形処理装置 |
JP3783252B2 (ja) | 1995-09-29 | 2006-06-07 | 株式会社デンソー | ドアロック駆動装置 |
US6499095B1 (en) * | 1999-02-11 | 2002-12-24 | Oracle Corp. | Machine-independent memory management system within a run-time environment |
US6349380B1 (en) * | 1999-03-12 | 2002-02-19 | Intel Corporation | Linear address extension and mapping to physical memory using 4 and 8 byte page table entries in a 32-bit microprocessor |
US6560694B1 (en) * | 2000-01-14 | 2003-05-06 | Advanced Micro Devices, Inc. | Double prefix overrides to provide 16-bit operand size in a 32/64 operating mode |
US7209587B1 (en) | 2000-03-21 | 2007-04-24 | Hsu Shin-Yi | Amorphous region and boundary/chain topology for an object recognition system |
US6687806B1 (en) * | 2000-06-15 | 2004-02-03 | Advanced Micro Devices, Inc. | Apparatus and method for generating 64 bit displacement and immediate values |
US7952583B2 (en) * | 2000-06-19 | 2011-05-31 | Mental Images Gmbh | Quasi-monte carlo light transport simulation by efficient ray tracing |
US6725366B1 (en) * | 2000-09-07 | 2004-04-20 | International Business Machines, Corporation | System and method for 32 bit code branching to 64 bit targets |
RU2237284C2 (ru) * | 2001-11-27 | 2004-09-27 | Самсунг Электроникс Ко., Лтд. | Способ генерирования структуры узлов, предназначенных для представления трехмерных объектов с использованием изображений с глубиной |
US7380109B2 (en) * | 2002-04-15 | 2008-05-27 | Ip-First, Llc | Apparatus and method for providing extended address modes in an existing instruction set for a microprocessor |
GB2402763B (en) * | 2003-06-13 | 2006-03-01 | Advanced Risc Mach Ltd | Data access program instruction encoding |
US7689641B2 (en) | 2003-06-30 | 2010-03-30 | Intel Corporation | SIMD integer multiply high with round and shift |
WO2008011391A2 (en) * | 2006-07-21 | 2008-01-24 | University Of Utah Research Foundation | Ray tracing a three-dimensional scene using a hierarchical data structure |
US7719532B2 (en) * | 2007-02-09 | 2010-05-18 | International Business Machines Corporation | Efficient and flexible data organization for acceleration data structure nodes |
US8140806B2 (en) * | 2007-03-30 | 2012-03-20 | Oracle International Corporation | Eliminating fragmentation with buddy-tree allocation |
US8400447B1 (en) * | 2008-02-15 | 2013-03-19 | Adobe Systems Incorporated | Space partitioning trees using planes selected from a discrete set of orientations |
US9911212B2 (en) * | 2009-02-24 | 2018-03-06 | International Business Machines Corporation | Resetting of dynamically grown accelerated data structure |
US8248401B2 (en) * | 2009-03-19 | 2012-08-21 | International Business Machines Corporation | Accelerated data structure optimization based upon view orientation |
US8669977B2 (en) * | 2009-10-01 | 2014-03-11 | Intel Corporation | Hierarchical mesh quantization that facilitates efficient ray tracing |
US8982140B2 (en) * | 2010-09-24 | 2015-03-17 | Nvidia Corporation | Hierarchical memory addressing |
-
2009
- 2009-10-30 KR KR1020127013974A patent/KR20120088783A/ko not_active Application Discontinuation
- 2009-10-30 CN CN201610533852.6A patent/CN106204413B/zh not_active Expired - Fee Related
- 2009-10-30 CN CN2009801632561A patent/CN102696055A/zh active Pending
- 2009-10-30 WO PCT/RU2009/000594 patent/WO2011053181A1/en active Application Filing
- 2009-10-30 EP EP09850927.6A patent/EP2494518A4/en not_active Withdrawn
- 2009-10-30 US US13/505,007 patent/US10163187B2/en active Active
-
2018
- 2018-10-26 US US16/171,609 patent/US10460419B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1928871A (zh) * | 2006-09-07 | 2007-03-14 | 北京优纳科技有限公司 | 大容量快速图像浏览系统 |
US20090157997A1 (en) * | 2007-12-14 | 2009-06-18 | Alexei Leonenko | Using in-leaf multiple triangle packing for kd-trees size reduction |
Non-Patent Citations (2)
Title |
---|
MAXIM SHEVTSOV,ET AL: "Efficient acceleration structures layout for rendering on 32- and 64-bit many-core architectures", 《PROC. OF GRAPHICON 2009》 * |
MAXIM SHEVTSOV,ET AL: "Highly Parallel Fast KD-tree Construction for Interactive Ray Tracing of Dynamic Scenes", 《EUROGRAPHICS 2007》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103824276A (zh) * | 2012-11-16 | 2014-05-28 | Arm有限公司 | 用于处理图形的方法和设备 |
CN103824276B (zh) * | 2012-11-16 | 2019-02-15 | Arm有限公司 | 用于处理图形的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
KR20120088783A (ko) | 2012-08-08 |
CN106204413A (zh) | 2016-12-07 |
US10460419B2 (en) | 2019-10-29 |
US10163187B2 (en) | 2018-12-25 |
EP2494518A1 (en) | 2012-09-05 |
WO2011053181A1 (en) | 2011-05-05 |
US20120268483A1 (en) | 2012-10-25 |
US20190130524A1 (en) | 2019-05-02 |
CN106204413B (zh) | 2021-01-01 |
EP2494518A4 (en) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10866990B2 (en) | Block-based lossless compression of geometric data | |
CN1287330C (zh) | 用于区带渲染的有效图形状态管理 | |
US20090106530A1 (en) | System, method, and computer program product for generating a ray tracing data structure utilizing a parallel processor architecture | |
US9679351B2 (en) | Out-of-core ray tracing with memory-efficient page generation | |
US10909033B1 (en) | Techniques for efficiently partitioning memory | |
US9965821B2 (en) | Fully parallel in-place construction of 3D acceleration structures in a graphics processing unit | |
CN1669055B (zh) | 用于渲染场景的装置和相关的自动存储器管理方法 | |
US10460419B2 (en) | Graphics rendering using a hierarchical acceleration structure | |
US8773422B1 (en) | System, method, and computer program product for grouping linearly ordered primitives | |
US10255650B2 (en) | Graphics processing using dynamic resources | |
CN103793876A (zh) | 分布式拼接式进行高速缓存 | |
CN103995684A (zh) | 超高分辨率平台下的海量影像并行处理显示方法及系统 | |
CN103886547A (zh) | 用于存储共享顶点的技术 | |
KR20140036519A (ko) | 레이 추적의 스케쥴링을 위한 장치 및 방법 | |
CN105210111A (zh) | 基于每仓可见性信息以及添加的线内操作的渲染命令的条件性执行 | |
CN110663064A (zh) | 用于矢量图形和图像处理的并行化流水线 | |
US10872394B2 (en) | Frequent pattern mining method and apparatus | |
US11430172B2 (en) | Generation of sample points in rendering applications using elementary interval stratification | |
US20240112397A1 (en) | Spatial test of bounding volumes for rasterization | |
Reinhard et al. | Interactive ray tracing of time varying data. | |
Kang et al. | Developing a Tile‐Based Rendering Method to Improve Rendering Speed of 3D Geospatial Data with HTML5 and WebGL | |
Andrysco et al. | Implicit and dynamic trees for high performance rendering | |
JP5309560B2 (ja) | 描画データ管理装置 | |
US20230118972A1 (en) | Scalable parallel construction of bounding volume hierarchies | |
Morrical et al. | Parallel quadtree construction on collections of objects |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120926 |