CN106204413A - 利用分层加速结构的图形渲染 - Google Patents

利用分层加速结构的图形渲染 Download PDF

Info

Publication number
CN106204413A
CN106204413A CN201610533852.6A CN201610533852A CN106204413A CN 106204413 A CN106204413 A CN 106204413A CN 201610533852 A CN201610533852 A CN 201610533852A CN 106204413 A CN106204413 A CN 106204413A
Authority
CN
China
Prior art keywords
node
equipment
leaf
internal
layering
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
Application number
CN201610533852.6A
Other languages
English (en)
Other versions
CN106204413B (zh
Inventor
A·M·索皮科夫
M·Y·谢伏特索夫
A·V·瑞斯特夫
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 CN106204413A publication Critical patent/CN106204413A/zh
Application granted granted Critical
Publication of CN106204413B publication Critical patent/CN106204413B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/32Image data format

Abstract

本发明涉及利用分层加速结构的图形渲染。利用32位格式建立用于图形处理的分层加速结构。在一个实施例中,加速结构可以是k‑d树,但也可使用其它加速结构。仅在需要64位偏移时使用64位偏移。

Description

利用分层加速结构的图形渲染
本申请是申请日为2009年10月30日申请号为第200980163256.1号发明名称为“利用分层加速结构的图形渲染”的中国专利申请的分案申请。
背景技术
本发明一般地涉及图形处理期间的渲染图元。
可按照诸如三角形或多边形之类的图元来分析要处理的图像,这些图元共同地表示整体图形图像。在很多情况下,在光栅化期间分析三角形或多边形。
通常搜索图形图元。图形处理中的一个常见任务是确定哪些多边形或三角形位于给定的块或片中。这可能涉及在适当图元中进行几何近似搜索。需要搜索图元的另一个示例是光线跟踪。其中通过搜索算法,识别与光线或一组光线相交的最接近的多边形。
渲染算法使用加速结构来降低解决搜索问题的复杂性。这些加速结构也可被称为空间或几何索引。通常,它们涉及在端节点处存储图元的分层树状数据结构。这种分层加速结构的示例包括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.一种设备,包括:
用于建立适合于32位地址空间的分层加速结构以参考子节点的装置;
用于确定所述分层加速结构中的节点是否是内部的,且只有在所述节点不是内部节点时,才检查所述节点是否使用64位格式的装置;以及
如果所述节点使用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位偏移来建立适合于32位地址空间的分层加速结构以参考子节点,确定所述分层加速结构中的节点是否是内部的、且只有在所述节点不是内部节点时才检查所述节点是否使用64位格式,如果所述节点使用64位格式则有选择地将所述节点作为叶节点或内部节点进行处理;以及
耦合至所述图形处理器的存储器。
26.如权利要求25所述的设备,其特征在于,所述分层加速结构包括k-d树。
27.如权利要求25所述的设备,其特征在于,所述图形处理器仅当内部节点测试未通过时才测试64位扩展。
28.如权利要求25所述的设备,其特征在于,所述图形处理器按照连续区域分配存储器。
29.如权利要求25所述的设备,其特征在于,所述图形处理器使用位组来指示节点是否是叶节点。
30.如权利要求29所述的设备,其特征在于,所述图形处理器确定节点是叶节点还是64位扩展。
CN201610533852.6A 2009-10-30 2009-10-30 利用分层加速结构的图形渲染 Expired - Fee Related CN106204413B (zh)

Applications Claiming Priority (2)

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
CN2009801632561A CN102696055A (zh) 2009-10-30 2009-10-30 利用分层加速结构的图形渲染

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2009801632561A Division CN102696055A (zh) 2009-10-30 2009-10-30 利用分层加速结构的图形渲染

Publications (2)

Publication Number Publication Date
CN106204413A true CN106204413A (zh) 2016-12-07
CN106204413B CN106204413B (zh) 2021-01-01

Family

ID=43922310

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2009801632561A Pending CN102696055A (zh) 2009-10-30 2009-10-30 利用分层加速结构的图形渲染
CN201610533852.6A Expired - Fee Related CN106204413B (zh) 2009-10-30 2009-10-30 利用分层加速结构的图形渲染

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2009801632561A Pending CN102696055A (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) CN102696055A (zh)
WO (1) WO2011053181A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
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
US9317948B2 (en) * 2012-11-16 2016-04-19 Arm Limited Method of and apparatus for processing graphics
US10235338B2 (en) * 2014-09-04 2019-03-19 Nvidia Corporation Short stack traversal of tree data structures
US9552664B2 (en) * 2014-09-04 2017-01-24 Nvidia Corporation Relative encoding for a block-based bounding volume hierarchy
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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1096119A (zh) * 1993-06-03 1994-12-07 郭玉霞 图形分层产生的方法及装置
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
US7209587B1 (en) * 2000-03-21 2007-04-24 Hsu Shin-Yi Amorphous region and boundary/chain topology for an object recognition system
US20080192050A1 (en) * 2007-02-09 2008-08-14 Paul Emery Schardt Efficient and Flexible Data Organization for Acceleration Data Structure Nodes
US20090157997A1 (en) * 2007-12-14 2009-06-18 Alexei Leonenko Using in-leaf multiple triangle packing for kd-trees size reduction

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
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
US8259105B2 (en) * 2006-07-21 2012-09-04 The University Of Utah Research Foundation Ray tracing a three-dimensional scene using a hierarchical data structure
CN100429658C (zh) * 2006-09-07 2008-10-29 北京优纳科技有限公司 大容量快速图像浏览系统
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1096119A (zh) * 1993-06-03 1994-12-07 郭玉霞 图形分层产生的方法及装置
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
US7209587B1 (en) * 2000-03-21 2007-04-24 Hsu Shin-Yi Amorphous region and boundary/chain topology for an object recognition system
US20080192050A1 (en) * 2007-02-09 2008-08-14 Paul Emery Schardt Efficient and Flexible Data Organization for Acceleration Data Structure Nodes
US20090157997A1 (en) * 2007-12-14 2009-06-18 Alexei Leonenko Using in-leaf multiple triangle packing for kd-trees size reduction

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MAXIM SHEVTSOV,ET AL: "Efficient acceleration structures layout for rendering on 32- and 64-bit many-core architectures", 《PROC. OF GRAPHICON》 *

Also Published As

Publication number Publication date
KR20120088783A (ko) 2012-08-08
EP2494518A1 (en) 2012-09-05
US10163187B2 (en) 2018-12-25
CN102696055A (zh) 2012-09-26
WO2011053181A1 (en) 2011-05-05
CN106204413B (zh) 2021-01-01
EP2494518A4 (en) 2016-08-10
US20120268483A1 (en) 2012-10-25
US20190130524A1 (en) 2019-05-02
US10460419B2 (en) 2019-10-29

Similar Documents

Publication Publication Date Title
US8081181B2 (en) Prefix sum pass to linearize A-buffer storage
US10706608B2 (en) Tree traversal with backtracking in constant time
US6195664B1 (en) Method and system for controlling the conversion of a file from an input format to an output format
Lauterbach et al. Fast BVH construction on GPUs
US9965821B2 (en) Fully parallel in-place construction of 3D acceleration structures in a graphics processing unit
US7463261B1 (en) Three-dimensional image compositing on a GPU utilizing multiple transformations
US8072460B2 (en) System, method, and computer program product for generating a ray tracing data structure utilizing a parallel processor architecture
CN110008009B (zh) 在运行时绑定常量以提高资源利用率
EP2779101B1 (en) Method for processing a computer-animated scene and corresponding device
US8502819B1 (en) System and method for performing ray tracing node traversal in image rendering
US9495722B2 (en) Developer controlled layout
US10460419B2 (en) Graphics rendering using a hierarchical acceleration structure
US20140347371A1 (en) Graphics processing using dynamic resources
US20030011637A1 (en) System, method, and computer program product for optimization of a scene graph
CN110663064A (zh) 用于矢量图形和图像处理的并行化流水线
Vasilakis et al. k+-buffer: Fragment synchronized k-buffer
US20220392145A1 (en) Graphics processing
US20150294436A1 (en) Apparatus and method for graphics state management
Hughes et al. Kd-jump: a path-preserving stackless traversal for faster isosurface raytracing on gpus
US20070013694A1 (en) Optimized meshlet ordering
US20080049040A1 (en) Viewing multi-dimensional data in two dimensions
US20240095995A1 (en) Reducing false positive ray traversal using ray clipping
US20220392146A1 (en) Graphics processing
Andrysco et al. Implicit and dynamic trees for high performance rendering
da Silva et al. Omicron–oblique multipass hierarchy creation while navigating

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: 20210101

Termination date: 20211030

CF01 Termination of patent right due to non-payment of annual fee