CN104978759B - 用于渲染多个帧的相同区域的方法和设备 - Google Patents
用于渲染多个帧的相同区域的方法和设备 Download PDFInfo
- Publication number
- CN104978759B CN104978759B CN201410821047.4A CN201410821047A CN104978759B CN 104978759 B CN104978759 B CN 104978759B CN 201410821047 A CN201410821047 A CN 201410821047A CN 104978759 B CN104978759 B CN 104978759B
- Authority
- CN
- China
- Prior art keywords
- frame
- rendering
- ray
- multiple frames
- accelerating structure
- 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.)
- Active
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/005—General purpose rendering architectures
-
- 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Image Generation (AREA)
- Television Systems (AREA)
Abstract
提供一种用于渲染多个帧的相同区域的方法和设备。一种渲染方法包括确定多个帧。所述渲染方法还包括:依次渲染所述多个帧的相同区域。在一个总体方面,渲染装置包括被配置为确定多个帧的帧间帧确定单元。所述渲染装置还包括被配置为依次渲染所述多个帧的相同区域的渲染单元。
Description
本申请要求于2014年4月2日在韩国知识产权局提交的第10-2014-0039361号韩国专利申请的权益,该申请的全部公开内容为了所有目的合并于此。
技术领域
本公开涉及用于渲染帧的方法和设备。
背景技术
三维(3D)渲染是指这样的图像处理:通过该图像处理,3D对象数据被合成为在相机的给定视点处观看的图像。射线跟踪是指对将被渲染的场景对象和射线相交的点进行跟踪的处理。射线跟踪包括对于加速结构的遍历以及射线和基元(primitive)之间的相交测试。为了遍历和相交测试,可能需要大量计算和宽的存储器带宽。
发明内容
提供本发明内容从而以简化形式引入对以下在具体实施方式中进一步描述的构思的选择。本发明内容不意图确定要求保护的主题的关键特征或必要特征,也不意图用作确定要求保护的主题的范围的帮助。
在一个总体方面,提供一种渲染方法,包括:确定多个帧;依次渲染所述多个帧的相同区域。
所述相同区域可以是位于相同位置处的像素或图块。
确定步骤可包括:确定所述多个帧是在帧输出间隔中包括的帧。
确定步骤可包括:在帧输出间隔中的帧之中,计算彼此相邻的帧的加速结构之间的改变量;基于加速结构之间的改变量来确定所述多个帧。
加速结构之间的改变量可指示加速结构的节点被修改的次数。
确定步骤可包括:确定所述多个帧是所述改变量小于设置阈值的帧。
确定步骤可包括:计算在对帧输出间隔中的帧执行初级渲染时的高速缓存命中率;基于高速缓存命中率来确定所述多个帧。
确定步骤可包括:在帧输出间隔中的帧之中,计算彼此相邻的帧的加速结构之间的改变量;计算在对帧输出间隔中的帧执行初级渲染时的高速缓存命中率;基于加速结构之间的改变量和高速缓存命中率来确定所述多个帧。
一种存储包括使计算机执行所述方法的指令的程序的非暂时性计算机可读存储介质。
在另一总体方面,提供一种渲染装置,包括:帧间帧确定单元,被配置为确定多个帧;渲染单元,被配置为依次渲染所述多个帧的相同区域。
帧间帧确定单元可被配置为:确定所述多个帧是在帧输出间隔中包括的帧。
帧间帧确定单元可被配置为:在帧输出间隔中的帧之中,计算彼此相邻的帧的加速结构之间的改变量;基于加速结构之间的改变量来确定所述多个帧。
帧间帧确定单元可被配置为:确定所述多个帧是所述改变量小于设置阈值的帧。
帧间帧确定单元可被配置为:计算在对帧输出间隔中的帧执行初级渲染时的高速缓存命中率,并基于高速缓存命中率来确定所述多个帧。
帧间帧确定单元可被配置为:在帧输出间隔中的帧之中,计算彼此相邻的帧的加速结构之间的改变量;计算在对帧输出间隔中的帧执行初级渲染时的高速缓存命中率;基于加速结构之间的改变量和高速缓存命中率来确定所述多个帧。
在另一总体方面,提供一种渲染方法,包括:选择第一帧和第二帧;渲染第一帧的第一区域;在渲染第一帧的除了第一区域之外的第二区域之前,渲染第二帧的与第一帧的第一区域相同的区域。
第一帧和第二帧可彼此相邻。
在另一总体方面,提供一种渲染装置,包括:帧间帧确定单元,被配置为基于以下项中的至少一项来确定多个帧:在对帧执行渲染时的高速缓存命中率、用于相邻帧的加速结构中的被修改的节点的数量;渲染单元,被配置为渲染所述多个帧。
帧间帧确定单元可被配置为:确定所述多个帧是被修改的节点的数量小于设置阈值的相邻帧。
帧间帧确定单元可被配置为:确定所述多个帧是高速缓存命中率大于设置阈值的帧。
其它特征和方面将从以下详细描述、附图和权利要求中是明显的。
附图说明
图1是示出射线跟踪的示例的示意图。
图2是示出射线跟踪核心的示例的框图。
图3是示出由图2的射线跟踪核心执行的射线跟踪的示例的示图。
图4是示出使射线跟踪加速的方法的示例的示意图。
图5是示出图4的使射线跟踪加速的方法的示例的另一示意图。
图6是示出渲染装置600的示例的框图。
图7是示出基于像素的帧间帧渲染的示例的示图。
图8是示出基于图块(tile)的帧间帧渲染的示例的示图。
图9是示出图6的渲染装置的另一示例的框图。
图10是示出帧组的示例的示图。
图11是示出确定帧组的方法的示例的示图。
图12是示出帧间渲染方法的示例的流程图。
图13是示出渲染方法的示例的流程图。
图14是示出渲染方法的另一示例的流程图。
贯穿附图和具体实施方式,除非另有说明或规定,否则相同的附图标号将被理解为指示相同的元件、特征和结构。为了清楚、说明和方便起见,可不按比例绘制附图,并且可夸大附图中的元件的相对尺寸、比例和绘示。
具体实施方式
提供以下详细描述以帮助读者获得对在此描述的方法、设备和/或系统的全面理解。然而,在此描述的系统、设备和/或方法的各种改变、修改和等同形式对本领域的普通技术人员将是显而易见的。所描述的处理步骤和/或操作的进展是示例;然而,除了必须按特定顺序发生的步骤和/或操作之外,步骤和/或操作的顺序不限于在此阐述的顺序,并且可如本领域公知的那样改变。此外,为了更加清楚和简洁,可省略对本领域的普通技术人员公知的功能和构造的描述。
在此描述的特征可以以不同形式被实现,并且将不被解释为限于在此描述的示例。相反,提供在此描述的示例,使得本公开将是彻底和完整的,并且所述示例将向本领域的普通技术人员传达本公开的全部范围。
图1是示出射线跟踪的示例的示意图。参照图1,在三维(3D)建模中,射线跟踪核心确定视点10和根据视点10的图像20。当视点10和图像20被确定时,射线跟踪核心针对图像20的每个像素从视点10产生射线。
将描述射线跟踪的元素。从视点10产生原射线30。原射线30在穿过图像20之后与场景对象70相交。在原射线30和场景对象70之间的交点处,产生反射射线40和折射射线50。此外,在朝向光源80的交点处,产生阴影射线60。反射射线40、折射射线50和阴影射线60被称为次级射线。场景对象70表示将针对图像20被渲染的对象。场景对象70包括多个基元。
射线跟踪核心分析原射线30、次级射线(即,反射射线40、折射射线50和阴影射线60)以及从次级射线得到的射线。射线跟踪核心基于分析结果来确定形成图像20的每个像素的颜色值。射线跟踪核心通过进一步考虑场景对象70的特性来确定每个像素的颜色值。
图2是示出射线跟踪核心100的示例的框图。参照图2,射线跟踪核心100包括射线产生单元110、遍历(TRV)单元120、相交测试(IST)单元130和着色单元140。在图2中,TRV单元120和IST单元130可包括在射线跟踪核心100中,但是TRV单元120和IST单元130也可单独作为硬件被包括。图2中示出的射线跟踪核心100仅包括与当前示例相关的元件。然而,对于本领域的普通技术人员显而易见的是,除了图2中示出的元件之外,其它的通用元件也可包括在射线跟踪核心100中。
射线跟踪核心100跟踪所产生的射线和位于3D空间中的对象之间的交点,并确定形成图像的像素的颜色值。换句话说,射线跟踪核心100搜索射线和对象之间的交点,在交点处根据对象的特性产生次级射线,并确定交点的颜色值。
射线跟踪核心100可将先前的加速结构的迭代和先前的相交测试的结果用在加速结构的迭代和相交测试中。也就是说,射线跟踪核心100可通过将从先前渲染获得的结果应用到当前渲染来更快地执行当前渲染。
射线产生单元110产生原射线和次级射线。射线产生单元110从视点产生原射线。射线产生单元110在原射线和对象之间的交点处产生反射次级射线、折射次级射线或阴影次级射线。此外,可在以上的次级射线和对象之间的交点处产生另一反射次级射线、另一折射次级射线或另一阴影次级射线。射线产生单元110可产生预设次数内的反射射线、折射射线或阴影射线,或可根据对象的特性确定产生反射射线、折射射线或阴影射线的次数。
TRV单元120接收关于由射线产生单元110产生的射线的信息。产生的射线可以是原射线、次级射线或从该次级射线得到的射线。例如,对于原射线,TRV单元120可接收关于视点和原射线的方向的信息。此外,对于次级射线,TRV单元120可接收关于次级射线的起始点和方向的信息。次级射线的起始点指示被原射线命中的点。视点或起始点可用坐标来表示,方向可用矢量来表示。
TRV单元120从外部存储器250读取关于加速结构的信息。加速结构由加速结构产生设备200产生,并且产生的加速结构被存储在外部存储器250中。加速结构是指包括对象在3D空间中的位置信息的结构。例如,加速结构可以是K维(KD)树或包围体层次(BVH)。
TRV单元120对加速结构进行遍历以输出被射线命中的对象或叶节点。例如,TRV单元120搜索包括在加速结构中的节点,以将最低级别叶节点中被射线命中的叶节点输出到IST单元130。换句话说,TRV单元120确定形成加速结构的多个包围盒中的哪个包围盒被射线命中。TRV单元120确定包括在包围盒中的哪个对象被射线命中。关于被命中的对象的信息被存储在TRV高速缓存中。包围盒可指示包括多个对象或多个基元的单元,并可根据加速结构以不同的形式被表示。TRV高速缓存指示暂时存储由TRV单元120在遍历中使用的数据的存储器。
TRV单元120可基于先前渲染的结果对加速结构进行遍历。TRV单元120可基于存储在TRV高速缓存中的先前渲染的结果,经由与先前渲染相同的路线对加速结构进行遍历。例如,当TRV单元120对于产生的射线对加速结构进行遍历时,TRV单元120可对具有与产生的射线相同的视点和方向的先前射线所命中的包围盒进行遍历。此外,TRV单元120可通过参考针对先前射线的搜索路线对加速结构进行遍历。
IST单元130从TRV单元120接收被射线命中的对象或叶节点,并从外部存储器250读取关于包括在被命中的对象或叶节点中的基元的信息。读取的关于基元的信息可存储在IST高速缓存中。IST高速缓存指的是暂时存储由IST单元130在相交测试中使用的数据的存储器。
IST单元130进行射线和基元之间的相交测试,以输出被射线命中的基元以及被命中的基元和射线之间的交点。IST单元130从TRV单元120接收关于哪个对象被射线命中的信息,并对在包括在被命中的对象中的多个基元中的哪些基元被射线命中进行测试。在IST单元130找到被射线命中的基元之后,IST单元130将指示被命中的基元的哪个点与该射线相交的交点输出到着色单元140。交点可以以坐标被输出。
IST单元130可通过使用先前渲染的结果来进行相交测试。IST单元130可基于存储在IST高速缓存中的先前渲染的结果对与先前渲染的基元相同的基元进行相交测试。例如,当IST单元130进行产生的射线和基元之间的相交测试时,IST单元130可对由具有与产生的射线相同的视点和方向的先前射线命中的基元进行相交测试。
着色单元140基于从IST单元130接收的关于交点的信息以及交点的材料的属性来确定像素的颜色值。着色单元140通过考虑交点的材料的基本颜色以及由于光源而导致的效果来确定像素的颜色值。
射线跟踪核心100从外部存储器250接收在射线跟踪中需要的数据。由加速结构产生单元200产生的加速结构或者指示关于基元的信息的几何数据存储在外部存储器250中。基元可以是多边形(诸如三角形或矩形),几何数据可指示关于包括在对象中的每个基元的顶点和位置的信息。
加速结构产生设备200产生包括关于对象在3D空间中的位置信息的加速结构。加速结构产生设备200可产生各种类型的加速结构。例如,可通过将3D空间划分成分层树结构来产生加速结构,加速结构产生设备200可通过应用BVH或KD树来产生指示在3D空间中对象之间的关系的结构。加速结构产生设备200可确定叶节点的基元的最大数量以及树的深度,并基于确定的最大数量和确定的树的深度来产生加速结构。
图3是示出由图2的射线跟踪核心100执行的射线跟踪的示例。例如,射线跟踪核心100可具有图2中示出的射线跟踪核心100的结构。因此,射线跟踪核心100的以上描述也应用于图3的射线跟踪。
在操作310,射线跟踪核心100产生与图像的像素相应的射线。射线跟踪核心100可产生原射线、次级射线或从次级射线得到的射线。
在操作320,射线跟踪核心100对从外部存储器250读取的加速结构251进行遍历。射线跟踪核心100通过基于射线的视点和方向对加速结构251进行遍历来检测被射线命中的包围盒,并在被命中的包围盒中包括的多个对象中检测被射线命中的对象。射线跟踪核心100反复或重复对加速结构251的遍历,直到检测到被命中的对象为止。例如,射线跟踪核心100可沿预定路线对加速结构进行遍历,并且当在搜索的路线上的叶节点未被射线顺路地命中时,射线跟踪核心100可对加速结构中的其它路线进行遍历。
虽然射线跟踪核心100可顺序地对所有路线进行遍历,但是射线跟踪核心100可基于先前射线的搜索信息对预定路线进行遍历。例如,当先前射线具有与当前射线相同或相似的视点以及相同或相似的方向时,射线跟踪核心100可搜索包括有被先前射线命中的叶节点的路线。
在操作330,射线跟踪核心100基于从外部存储器250读出的基元的几何数据252进行相交测试。射线跟踪核心100重复相交测试,直到检测到被射线命中的基元为止。例如,射线跟踪核心100对基元进行相交测试,并且当基元未被射线命中时,射线跟踪核心100可对另一基元进行相交测试。
虽然射线跟踪核心100可顺序地对所有基元进行相交测试,但是射线跟踪核心100可基于关于先前射线的相交测试对预定基元进行相交测试。例如,当先前射线和当前射线具有相同或相似的视点以及相同或相似的方向时,射线跟踪核心100可对被先前射线命中的基元进行相交测试。
在操作340,射线跟踪核心100基于相交测试进行像素的着色。在操作340完成之后,射线跟踪核心100返回到操作310。也就是说,射线跟踪核心100针对形成图像的所有像素重复操作310至340。
图4是示出使射线跟踪加速的方法的示例的示意图。参照图4,第一图像412是在t=0被渲染的图像,第二图像422是在t=1被渲染的图像。由于只有兔子433在第一图像412和第二图像422中移动,矩形431和三角形432在第一图像412和第二图像422中不移动,因此第一图像412和第二图像422彼此相似。因此,射线跟踪核心100可通过使用渲染第一图像412的结果来针对第二图像421进行渲染。例如,当第一视点410和第二视点420在相同位置,并且第一射线411和第二射线421在相同方向上时,射线跟踪核心100可通过应用针对第一射线411的射线跟踪的结果来使对第二射线421的射线跟踪加速。例如,当针对第二射线421进行搜索时,射线跟踪核心100的TRV单元120可对被第一射线411命中的包围盒进行遍历。此外,在对第二射线的相交测试期间,射线跟踪核心100的IST单元130可对被第一射线411命中的三角形432进行相交测试。
图5是示出图4的使射线跟踪加速的方法的示例的另一示意图。参照图5,加速结构包括五个节点(节点1至节点5),节点3至节点5均指示叶节点。
TRV单元120可沿三条路线搜索加速结构。首先,TRV单元120可沿作为第一路线的节点1、节点2和节点3对加速结构进行遍历。其次,TRV单元120可沿作为第二路线的节点1、节点2和节点4对加速结构进行遍历。第三,TRV单元120可沿作为第三路线的节点1和节点5对加速结构进行遍历。当TRV单元120针对第二射线421进行搜索时,TRV单元120可对第二路线进行遍历,其中,被第一射线411命中的三角形432经由第二路线被搜索到。因此,TRV单元120可省略对第一路线或第三路线进行遍历的操作。
图6是示出渲染设备600的示例的框图。如图2或图3中所示的射线跟踪核心100是图6的渲染装置600的示例。射线跟踪核心100是通过使用射线来渲染图像的装置,而渲染装置600指的是渲染图像的装置。
参照图6,渲染装置600包括帧间帧确定单元610和渲染单元620。虽然图6中未示出,但是渲染装置600还可包括存储器、高速缓存等。
渲染装置600确定帧组,并可对在确定的帧组中的帧执行基于图块的帧间帧渲染或基于像素的帧间帧渲染。基于图块的帧间帧渲染是依次渲染在多个帧中位于相同位置处的图块的方法。基于像素的帧间帧渲染是依次渲染在多个帧中位于相同位置处的像素的方法。
帧间帧确定单元610确定用于帧间帧渲染的多个帧。帧间帧确定单元610确定在帧输出间隔期间被同时渲染的帧的数量。基于输出图像所需的时间长度来确定所述帧输出间隔。
例如,当通过使用射线跟踪方法进行渲染时,帧间帧确定单元610可通过使用原射线来执行帧的初级渲染,并可基于被渲染的帧的工作负荷来确定将被同时渲染的帧的数量。换句话说,帧间帧确定单元610可基于对帧的初级渲染的结果来估计用于最终渲染帧的工作负荷(或计算量)。帧间帧确定单元610可基于估计出的工作负荷来计算可在帧输出间隔期间被渲染的帧的数量。帧间帧确定单元610可基于所述计算的结果来确定将被同时渲染的帧的数量。如果渲染装置600仅通过使用原射线进行渲染,则与考虑所有次级射线来渲染图像的情况相比,可更快地产生帧的粗糙图像。
考虑用于在不打断用户观看运动图像的情况下输出图像的时间长度,确定帧输出间隔。另外,针对互动场景,可将帧输出间隔确定为小于对用户输入的响应时间。
渲染单元620依次渲染确定的多个帧的相同区域。渲染单元620渲染在帧输出间隔中包括的多个帧,其中,在帧输出间隔中包括的所述多个帧的相同区域被依次渲染。换句话说,渲染单元620通过反复地渲染多个帧的相同区域而不是通过渲染整个帧、渲染整个的下一帧等来渲染所述多个帧。例如,相同区域可以是在所述多个帧中位于相同位置处的像素或图块。
帧间帧确定单元610计算在多个帧中彼此相邻的帧之间的加速结构的改变量,并基于改变量确定将被同时渲染的帧。可从帧输出间隔中包括的帧中选择多个帧。将被同时渲染的帧被称为帧组。
例如,加速结构的改变量可指示用于跟踪射线的加速结构的节点被改变或修改的次数。渲染装置600可改变关于初始帧的加速结构,并可使用改变后的加速结构在后续帧中跟踪射线。如果大量节点被修改,则产生新的加速结构可能是有效的,而不是使用现有的加速结构。由于相邻帧之间被大量改变的数据,帧间帧确定单元610可不将与具有大量被修改的节点的加速结构相应的帧确定为在同一帧组中包括的帧,并且,帧间帧确定单元610可将被修改的节点的数量小于预设阈值的帧确定为同一帧组中的帧。
根据另一示例,帧间帧确定单元610计算在初级渲染期间的高速缓存命中率,并基于计算出的命中率来确定帧组。当仅接收到通过使用原射线(或主射线)对帧的初级渲染的结果时,帧间帧确定单元610可计算在各个帧被渲染时的高速缓存命中率。基于指示渲染装置600访问高速缓存以使用用于渲染帧的数据的高速缓存命中,帧间帧确定单元610可计算指示当渲染装置600访问高速缓存时存在数据的概率的命中率。
在针对帧执行初级渲染时,帧间帧确定单元610可计算高速缓存命中率,并且可不将命中率小于或等于设置阈值的帧确定为同一帧组中的帧。也就是说,帧间帧确定单元610可将高速缓存命中率大于设置阈值的帧确定为同一帧组中的帧。由于渲染装置600将相同或相似的数据用于针对多个帧的初级渲染,因此高速缓存命中率可以是高的。然而,由于针对彼此不相似的帧不共享相同的数据,因此渲染装置600不可能将存储有关于先前帧的数据的高速缓存用于对帧的初级渲染。因此,由于命中率小于或等于指定值的帧是从先前帧发生大量改变的帧,因此渲染装置600可不针对所述帧与先前帧一起执行帧间帧渲染。
渲染单元620渲染在帧输出间隔和帧间帧渲染范围内的帧。换句话说,渲染单元620渲染满足帧输出间隔和帧间帧渲染范围两者的帧。帧间帧渲染范围包括基于加速结构的改变量的帧间帧渲染范围以及基于命中率的帧间帧渲染范围,其中,渲染单元620渲染满足这些帧间帧渲染范围之一或两者。
图7是示出基于像素的帧间帧渲染的示例的示图。可由图6中示出的渲染装置600执行图7中描述的操作。因此,即使在下面被省略,以上针对渲染装置600给出的描述中的任何一项仍应用于图7。
参照图7,渲染装置600依次渲染位于在同一帧组中包括的帧的相同位置处的像素。在图7中,N帧至N+2帧包括在同一帧组中。因此,渲染装置600沿由箭头指示的方向依次进行渲染。例如,渲染装置600渲染N帧的(0,0)像素、N+1帧的(0,0)像素和N+2帧的(0,0)像素。在(0,0)像素被渲染之后,渲染装置600依次渲染N帧的(1,0)像素、N+1帧的(1,0)像素和N+2帧的(1,0)像素。渲染装置600渲染N帧至N+2帧的所有像素,并完成对N帧至N+2帧的渲染。
当跟踪射线时,渲染装置600可在位于相同位置处的像素处产生射线。当针对多个帧产生射线时,在相同位置处的射线可以是针对不同帧的射线,因此,渲染装置600可将指示与射线相应的帧的信息添加到射线数据中。例如,RayF(n),(x,y)可指示针对第n帧的(x,y)像素的射线,RayF(n+1),(x,y)可指示针对第n+1帧的(x,y)像素的射线,RayF(n+2),(x,y)可指示针对第n+2帧的(x,y)像素的射线。
图8是示出基于图块的帧间帧渲染的示例的示图。可由图6中示出的渲染装置600执行图8中描述的操作。因此,即使在下面被省略,以上针对渲染装置600的描述中的任何一项仍应用于图8。
参照图8,渲染装置600依次渲染位于在同一帧组中包括的帧的相同位置处的图块。在图8中,N帧至N+2帧是在同一帧组中包括的帧。因此,渲染装置600沿由双点划线指示的方向依次进行渲染。渲染装置600沿由双点划线指示的方向依次渲染位于连续帧的相同位置处的图块。例如,渲染装置600渲染N帧的图块0910,渲染N+1帧的图块0920,并渲染N+2帧的图块0930。
在单个帧中图块被渲染的顺序由实线箭头来指示。在渲染三个图块0910至930之后,渲染装置600渲染N帧的图块1,渲染N+1帧的图块1,并渲染N+2帧的图块1。在渲染三个图块1之后,渲染装置600渲染N帧的图块2,渲染N+1帧的图块2,并渲染N+2帧的图块2。渲染装置600沿由实线箭头指示的方向顺序地渲染N帧至N+2帧的所有图块,并完成对N帧至N+2帧的渲染。
当跟踪射线时,渲染装置600可在位于相同位置处的图块处产生射线。当针对多个帧产生射线时,在相同位置处的射线可以是针对不同帧的射线,因此,渲染装置600可将指示与射线相应的帧的信息添加到射线数据中。例如,RayT0,F(n),(x,y)可指示针对第n帧的(x,y)图块的射线,RayT0,F(n+1),(x,y)可指示针对第n+1帧的(x,y)图块的射线,RayT0,F(n+2),(x,y)可指示针对第n+2帧的(x,y)图块的射线。
图9是示出图6的渲染装置600的另一示例的示图。参照图9,渲染装置600包括多个渲染单元620。因此,多个渲染单元620可并行渲染多个帧的像素。换句话说,多个渲染单元620可同时渲染位于不同位置处的像素。在相同方面,多个渲染单元620可同时渲染位于不同位置处的图块。虽然图9示出了四个渲染单元620,但是渲染装置600可包括比四个渲染单元更少或更多的渲染单元。在跟踪射线的示例中,每个渲染单元620可包括图2的射线产生单元110、TRV单元120、IST单元130和着色单元140。
多个渲染单元620可由单个核心来实现,或者,一个渲染单元620可由多个核心来实现。渲染单元620可分别分配给多个核心,并单独执行渲染。
图10是示出帧组的示例的示图。图10示出这样的示例:渲染装置600将第一帧811至第十帧820分类为两个帧组850和860,并执行帧间帧渲染。帧组指示在同一时间执行帧间帧渲染的范围。换句话说,帧组指示相同区域被依次渲染的帧。参照图10,第一帧组850包括第一帧811至第五帧815,而第二帧组860包括第六帧816至第十帧820。
渲染装置600基于像素或图块渲染在同一帧组中包括的帧,并且当在同一帧组中的所有帧被渲染时,顺序地输出这些帧的最终图像。例如,在图10中,渲染装置600基于像素或图块渲染在第一帧组850中包括的第一帧811至第五帧815,并且当渲染了第五帧815的最后一个像素或最后一个图块时,顺序地输出第一帧811至第五帧815的最终图像。
在基于图块的帧间帧渲染的示例中,被划分的图块可具有相同尺寸或不同尺寸。例如,渲染装置600可将第一帧811划分成十二个相同尺寸的图块1T至12T。与图10中不同,被划分的图块的尺寸可彼此不同。渲染装置600可考虑帧的工作负荷来确定图块1T至12T的尺寸,其中,所述工作负荷可基于初级渲染的结果被计算。
渲染单元620针对确定的帧组执行基于像素的帧间帧渲染或基于图块的帧间帧渲染。例如,渲染单元620渲染在第一帧组850中包括的第一帧811至第五帧815。渲染单元620执行对在第一帧组850中包括的第一帧811至第五帧815的第一图块1T的初级渲染,然后渲染第一帧811至第五帧815的第二图块2T。由于第一帧811至第五帧815的第一图块1T可能是相同的图像,因此渲染单元620可通过使用渲染第一帧811的第一图块1T的结果来渲染第二帧812的第一图块1T。在相同方面,渲染单元620渲染第三图块3T至第十二图块12T。
当第五帧815的第十二图块12T被完全渲染时,渲染单元620顺序地输出被渲染的第一帧811至第五帧815的图像。当第一帧组850被完全渲染时,渲染单元620在与第一帧组850相同的方面渲染第二帧组860的帧。
图11是示出确定帧组的方法的示例的示图。参照图11,帧间帧确定单元610通过计算加速结构被修改的次数来确定帧组。在图11中,被修改的节点被阴影化。N帧900至N+2帧920中的每个帧具有包括5个节点的加速结构。
渲染单元620修改N帧900的加速结构,并将该加速结构用于渲染N+1帧910。在N+1帧910的加速结构中,仅N帧900的加速结构的第四节点被修改。因此,修改次数Rc为1。如果关于修改的设置阈值Rth被设置为2,则Rc小于Rth。因此,N帧900和N+1帧910属于同一帧组。
另一方面,在N+2帧920的加速结构中,N+1帧910的加速结构的第三节点、第四节点和第五节点被修改。因此,修改次数Rc为3。如果关于修改的设置阈值Rth被设置为2,则Rc大于Rth。因此,N+1帧910和N+2帧920不属于同一帧组。总之,帧间帧确定单元610确定N帧900和N+1帧910为同一帧组。
图12是示出帧间帧渲染方法的示例的流程图。图12是用于描述图6的渲染装置600进行渲染的操作的流程图。因此,即使在下面被省略,以上针对渲染装置600给出的描述中的任何一项仍可应用于图12的帧间帧渲染方法。
在操作1210,渲染装置600执行用于渲染的初始设置。
在操作1220,渲染装置600确定帧间帧渲染是否被激活。如果确定帧间帧渲染被激活,则所述方法进行到操作1230。如果不被激活,则所述方法进行到操作1235。如果帧间帧渲染被激活,则渲染装置600可同时渲染将被渲染的帧。
在操作1230,渲染装置600执行用于帧间帧渲染的初始设置。渲染装置600设置以下项的大小:划分帧的次数、帧输出间隔、高速缓存命中率的设置阈值、修改次数的设置阈值Rth。渲染装置600还确定帧组。
在操作1240,渲染装置600执行帧间帧渲染。渲染装置600同时渲染同一帧组的帧。
在操作1250,渲染装置600确定帧是否被外部输入改变。外部输入是用户输入,并且将被渲染的帧可基于外部输入被改变。当确定将被渲染的帧被改变时,所述方法进行到操作1270。如果未被改变时,所述方法进行到操作1260。
在操作1260,渲染装置600确定是否超出了帧间帧渲染范围。如果确定超出了帧间帧渲染范围,则所述方法进行操作1270。如果未超出,则操作进行到操作1240。帧间帧渲染范围指示被同时渲染的帧。
在操作1270,渲染装置600终止帧间帧渲染。当帧被外部输入改变或渲染被完成时,渲染装置600终止渲染。
在操作1280,渲染装置600输出至少一个被渲染的图像。
在操作1235,渲染装置600执行用于顺序渲染的初始设置。顺序渲染是用于渲染并输出仅一个帧的一般渲染方法。
在操作1236,渲染装置600执行顺序渲染。
图13是示出渲染方法的示例的流程图。图13是用于描述图6的渲染装置600进行渲染的操作的流程图。因此,即使在下面被省略,以上针对渲染装置600给出的描述中的任何一项仍可应用于图13的帧渲染方法。
在操作1310,渲染装置600确定多个帧。
在操作1320,渲染装置600依次渲染多个帧的相同区域。
图14是示出渲染方法的另一示例的流程图。可由图6中示出的渲染装置600执行图14中描述的操作。因此,即使在下面被省略,以上针对渲染装置600给出的描述中的任何一项仍可应用于图14。
在操作1410,渲染装置600选择第一帧和第二帧。第一帧和第二帧可彼此相邻。
在操作1420,渲染装置600渲染第一帧的第一区域。第一区域可以是第一帧的像素或图块。渲染装置600渲染第一帧的一个像素或一个图块。
在操作1430,在渲染除了第一区域之外的第一帧的另一区域之前,渲染装置600渲染第二帧的与第一帧的第一区域相同的区域。相同区域可以是位于相同位置处的像素或图块。例如,在渲染第一帧的第一图块之后,渲染装置600可在渲染第一帧的另一图块之前渲染第二帧的第一图块。第一帧的第一图块和第二帧的第一图块指示在多个帧中位于相同位置处的图块。在另一示例中,在渲染第一帧的第一像素之后,渲染装置600可在渲染第一帧的另一像素之前渲染第二帧的第一像素。第一帧的第一像素和第二帧的第一像素指示在多个帧中位于相同位置处的像素。
描述的方法和设备的示例可依次渲染多个帧的相同区域。此外,通过对相似帧进行分组并依次渲染所述相似帧,可提高数据的定域性(locality)或射线跟踪的相似性。另外,通过考虑工作负荷来划分图块,在帧输出间隔内可帧间帧渲染大量帧。
可基于加速结构的节点被修改的次数来确定将被帧间帧渲染的帧的数量。在通过使用原射线进行渲染的示例中,可基于高速缓存命中率来确定将被帧间帧渲染的帧的数量。
可使用一个或更多个硬件组件、一个或更多个软件组件、或者一个或更多个硬件组件和一个或更多个软件组件的组合来实现以上描述的各种单元、元件和方法。
硬件组件可以是例如物理上执行一个或更多个操作的物理装置,但是不限于此。硬件组件的示例包括麦克风、放大器、低通滤波器、高通滤波器、带通滤波器、模数转换器、数模转换器和处理装置。
可例如由通过用于执行一个或更多个操作的软件或指令被控制的处理装置来实现软件组件,但是不限于此。计算机、控制器或其它控制装置可使处理装置运行所述软件或执行所述指令。一个软件组件由一个处理装置来实现,或者,两个或更多个软件组件可由一个处理装置来实现,或者,一个软件组件可由两个或更多个处理装置来实现,或者,两个或更多个软件组件可由两个或更多个处理装置来实现。
可使用一个或更多个通用或专用计算机(诸如,处理器、控制器和算术逻辑单元、数字信号处理器、微型计算机、现场可编程阵列、可编程逻辑单元、微型处理器或能够运行软件或执行指令的任何其它装置)来实现处理装置。处理装置可运行操作系统(OS),并可运行一个或更多个在OS下进行操作的软件应用。当运行软件或执行指令时,处理装置可访问、存储、操纵、处理和创建数据。为了简单起见,在描述中可使用单数术语“处理装置”,但是本领域的普通技术人员将理解,处理装置可包括多个处理元件和多种类型的处理元件。例如,处理装置可包括一个或更多个处理器,或者一个或更多个控制器。另外,不同的处理配置是可能的,诸如并行处理器或多核处理器。
被配置为实现用于执行操作A的软件组件的处理装置可包括被编程为运行软件或执行指令以控制处理器执行操作A的处理器。另外,例如,被配置为实现用于执行操作A、操作B和操作C的软件组件的处理装置可具有各种配置,诸如被配置为实现用于执行操作A、操作B和操作C的软件组件的处理器;被配置为实现用于执行操作A的软件组件的第一处理器,和被配置为实现用于执行操作B和操作C的软件组件的第二处理器;被配置为实现用于执行操作A和操作B的软件组件的第一处理器,和被配置为实现用于执行操作C的软件组件的第二处理器;被配置为实现用于执行操作A的软件组件的第一处理器,被配置为实现用于执行操作B的软件组件的第二处理器,和被配置为实现用于执行操作C的软件组件的第三处理器;被配置为实现用于执行操作A、操作B和操作C的软件组件的第一处理器,被配置为实现用于执行操作A、操作B和操作C的软件组件的第二处理器,或者均实现操作A、操作B和操作C中的一个或更多个操作的一个或更多个处理器的任何其他配置。虽然这些示例表示了三个操作A、B、C,但是可实现的操作的数量不限于三个,而可以是实现期望结果或执行期望任务所需的任意数量的操作。
用于控制处理装置实现软件组件的软件或指令可包括用于独立地或共同地指示或配置处理装置执行一个或更多个期望操作的计算机程序、代码段、指令或其某个组合。软件或指令可包括可由处理装置直接执行的机器代码(诸如由编译器产生的机器代码)和/或可由处理装置使用解释器执行的更高级代码。软件或指令以及任何相关数据、数据文件和数据结构可被永久地或暂时地实现在任何类型的机器、组件、物理或虚拟设备、计算机存储介质或装置、或者能够向处理装置提供指令或数据或被处理装置解释的传播信号波中。软件或指令以及任何相关数据、数据文件和数据结构还可分布于联网的计算机系统中,使得软件或指令以及任何相关数据、数据文件和数据结构以分布式方式存储和执行。
例如,软件或指令以及任何相关数据、数据文件和数据结构可记录、存储或固定在一个或更多个非暂时性计算机可读存储介质中。非暂时性计算机可读存储介质可以是能够存储软件或指令以及任何相关数据、数据文件和数据结构使得它们可被计算机系统或处理装置读取的任何数据存储装置。非暂时性计算机可读存储介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、闪存、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘或本领域的普通技术人员公知的任何其他非暂时性计算机可读存储介质。
用于实现在此公开的示例的功能程序、代码和代码段可由示例所属领域的编程技术人员基于附图和这里提供的它们的相应描述容易地解释。
虽然本公开包括特定示例,但是对本领域的普通技术人员将显而易见的是,在不脱离权利要求及其等同物的精神和范围的情况下,可在这些示例中做出形式和细节上的各种改变。在此描述的示例应仅被视为描述性意义,而不是为了限制的目的。对各个示例中的特征或方面的描述应被视为适用于其他示例中的相似特征或方面。如果所描述的技术按不同顺序执行,和/或如果所描述的系统、架构、装置或电路中的组件以不同方式组合和/或被其他组件或其等同物替代或补充,则可实现合适的结果。因此,本公开的范围不是由具体实施方式限定的,而是由权利要求及其等同物限定的,并且在权利要求及其等同物的范围内的所有变化应被解释为包括在本公开中。
Claims (20)
1.一种渲染方法,包括:
确定帧组中的第一帧和第二帧,其中,第一帧与第二帧彼此相邻;
基于射线跟踪依次渲染第一帧的一个区域,然后渲染第二帧的相同区域,
其中,确定的步骤包括:
在帧输出间隔中的多个帧之中,计算彼此相邻的帧的加速结构之间的改变量;并且
基于加速结构之间的改变量来确定所述帧组中的多个帧。
2.如权利要求1所述的渲染方法,其中,所述相同区域是位于相同位置处的像素或图块。
3.如权利要求1所述的渲染方法,其中,确定的步骤包括:
考虑到帧的工作负荷来确定所述区域的尺寸,其中,基于初级渲染的结果来计算工作负荷。
4.如权利要求1所述的渲染方法,其中,加速结构之间的改变量指示加速结构的节点被修改的次数。
5.如权利要求1所述的渲染方法,其中,确定步骤包括:
确定所述帧组中的多个帧是所述改变量小于设置阈值的帧。
6.如权利要求1所述的渲染方法,其中,确定步骤包括:
计算在对帧输出间隔中的多个帧执行初级渲染时的高速缓存命中率;
基于高速缓存命中率来确定所述帧组中的多个帧。
7.如权利要求1所述的渲染方法,其中,确定步骤包括:
在帧输出间隔中的多个帧之中,计算彼此相邻的帧的加速结构之间的改变量;
计算在对帧输出间隔中的多个帧执行初级渲染时的高速缓存命中率;
基于加速结构之间的改变量和高速缓存命中率来确定所述帧组中的多个帧。
8.一种渲染装置,包括:
帧间帧确定单元,被配置为确定帧组中的第一帧和第二帧,其中,第一帧和第二帧彼此相邻;
渲染单元,被配置为:
基于射线跟踪依次渲染第一帧的一个区域,然后渲染第二帧的相同区域,
其中,帧间帧确定单元被配置为:
在帧输出间隔中的多个帧之中,计算彼此相邻的帧的加速结构之间的改变量;并且
基于加速结构之间的改变量来确定所述帧组中的多个帧。
9.如权利要求8所述的渲染装置,其中,所述相同区域是位于相同位置处的像素或图块。
10.如权利要求8所述的渲染装置,其中,帧间帧确定单元被配置为:
考虑到帧的工作负荷来确定所述区域的尺寸,其中,基于初级渲染的结果来计算工作负荷。
11.如权利要求8所述的渲染装置,其中,加速结构之间的改变量指示加速结构的节点被修改的次数。
12.如权利要求8所述的渲染装置,其中,帧间帧确定单元被配置为:
确定所述帧组中的多个帧是所述改变量小于设置阈值的帧。
13.如权利要求8所述的渲染装置,其中,帧间帧确定单元被配置为:
计算在对帧输出间隔中的多个帧执行初级渲染时的高速缓存命中率;
基于高速缓存命中率来确定所述帧组中的多个帧。
14.如权利要求8所述的渲染装置,其中,帧间帧确定单元被配置为:
在帧输出间隔中的多个帧之中,计算彼此相邻的帧的加速结构之间的改变量;
计算在对帧输出间隔中的多个帧执行初级渲染时的高速缓存命中率;
基于加速结构之间的改变量和高速缓存命中率来确定所述帧组中的多个帧。
15.一种渲染方法,包括:
选择帧组中的第一帧和第二帧;
基于射线跟踪渲染第一帧的第一区域;
在渲染第一帧的除了第一区域之外的第二区域之前,渲染第二帧的与第一帧的第一区域相同的区域,
其中,选择的步骤包括:
在帧输出间隔中的多个帧之中,计算彼此相邻的帧的加速结构之间的改变量;并且
基于加速结构之间的改变量来选择所述帧组中的第一帧和第二帧。
16.如权利要求15所述的渲染方法,其中,相同的区域是位于相同区域处的像素或图块。
17.如权利要求15所述的渲染方法,其中,第一帧和第二帧彼此相邻。
18.一种渲染装置,包括:
帧间帧确定单元,被配置为基于以下项中的至少一项来确定帧组中的多个帧:在对所述多个帧执行渲染时的高速缓存命中率、用于相邻帧的加速结构中的被修改的节点的数量;
渲染单元,被配置为基于射线跟踪渲染所述帧组中的多个帧。
19.如权利要求18所述的渲染装置,其中,帧间帧确定单元被配置为:
确定所述帧组中的多个帧是被修改的节点的数量小于设置阈值的相邻帧。
20.如权利要求18所述的渲染装置,其中,帧间帧确定单元被配置为:
确定所述帧组中的多个帧是高速缓存命中率大于设置阈值的帧。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2014-0039361 | 2014-04-02 | ||
KR1020140039361A KR102197067B1 (ko) | 2014-04-02 | 2014-04-02 | 멀티 프레임들의 동일한 영역을 연속으로 렌더링하는 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104978759A CN104978759A (zh) | 2015-10-14 |
CN104978759B true CN104978759B (zh) | 2019-07-19 |
Family
ID=51900193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410821047.4A Active CN104978759B (zh) | 2014-04-02 | 2014-12-24 | 用于渲染多个帧的相同区域的方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10019830B2 (zh) |
EP (1) | EP2927877B1 (zh) |
JP (1) | JP6486081B2 (zh) |
KR (1) | KR102197067B1 (zh) |
CN (1) | CN104978759B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9607352B2 (en) * | 2014-12-03 | 2017-03-28 | Intel Corporation | Prediction based primitive sorting for tile based rendering |
US10373286B2 (en) | 2016-08-03 | 2019-08-06 | Samsung Electronics Co., Ltd. | Method and apparatus for performing tile-based rendering |
US10388059B2 (en) | 2016-10-03 | 2019-08-20 | Nvidia Corporation | Stable ray tracing |
CN110097862B (zh) * | 2018-01-31 | 2022-09-13 | 天马日本株式会社 | 显示装置及相对亮度数据的转换方法 |
US10776985B2 (en) | 2018-03-17 | 2020-09-15 | Nvidia Corporation | Reflection denoising in ray-tracing applications |
US10991079B2 (en) * | 2018-08-14 | 2021-04-27 | Nvidia Corporation | Using previously rendered scene frames to reduce pixel noise |
US10825231B2 (en) * | 2018-12-10 | 2020-11-03 | Arm Limited | Methods of and apparatus for rendering frames for display using ray tracing |
US10740953B2 (en) * | 2018-12-28 | 2020-08-11 | Intel Corporation | Early termination in bottom-up acceleration data structure refit |
US11270496B2 (en) * | 2019-05-24 | 2022-03-08 | Nvidia Corporation | Fine grained interleaved rendering applications in path tracing |
CN112686981B (zh) | 2019-10-17 | 2024-04-12 | 华为终端有限公司 | 画面渲染方法、装置、电子设备及存储介质 |
US11398072B1 (en) * | 2019-12-16 | 2022-07-26 | Siemens Healthcare Gmbh | Method of obtaining a set of values for a respective set of parameters for use in a physically based path tracing process and a method of rendering using a physically based path tracing process |
CN113034338B (zh) * | 2019-12-24 | 2023-03-17 | 深圳市海思半导体有限公司 | 一种用于gpu的bvh构造方法、装置及存储介质 |
KR102525084B1 (ko) * | 2020-10-30 | 2023-04-24 | 세종대학교산학협력단 | 프레임 분할을 이용한 멀티칩 기반의 레이 트레이싱 장치 및 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0725367A1 (en) * | 1995-01-31 | 1996-08-07 | Videologic Limited | Improvements relating to computer 3D rendering systems |
CN101826215A (zh) * | 2010-04-19 | 2010-09-08 | 浙江大学 | 实时二级光线跟踪的并行渲染方法 |
CN101982838A (zh) * | 2010-11-02 | 2011-03-02 | 长春理工大学 | 一种加速被面光源照射的3d虚拟场景的光线跟踪的方法 |
CN102521870A (zh) * | 2011-11-22 | 2012-06-27 | 浙江大学 | 一种微多边形光线跟踪的着色重用方法 |
US20140078143A1 (en) * | 2012-09-17 | 2014-03-20 | Samsung Electronics Co., Ltd. | Apparatus and method for scheduling of ray tracing |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2666353B2 (ja) | 1988-04-25 | 1997-10-22 | 富士通株式会社 | レイトレーシングによる高速映像生成方式 |
US6556200B1 (en) * | 1999-09-01 | 2003-04-29 | Mitsubishi Electric Research Laboratories, Inc. | Temporal and spatial coherent ray tracing for rendering scenes with sampled and geometry data |
US9003461B2 (en) * | 2002-12-10 | 2015-04-07 | Ol2, Inc. | Streaming interactive video integrated with recorded video segments |
US20080024489A1 (en) | 2006-07-28 | 2008-01-31 | Robert Allen Shearer | Cache Utilization Optimized Ray Traversal Algorithm with Minimized Memory Bandwidth Requirements |
US7836258B2 (en) * | 2006-11-13 | 2010-11-16 | International Business Machines Corporation | Dynamic data cache invalidate with data dependent expiration |
US8284195B2 (en) * | 2007-09-13 | 2012-10-09 | International Business Machines Corporation | Cooperative utilization of spatial indices between application and rendering hardware |
US8259110B1 (en) * | 2007-11-12 | 2012-09-04 | Adobe Systems Incorporated | Method and apparatus for computing direct lighting for global illumination rendering in 3-D computer graphics |
US8237711B2 (en) | 2007-11-19 | 2012-08-07 | Caustic Graphics, Inc. | Tracing of shader-generated ray groups using coupled intersection testing |
US8207968B1 (en) * | 2008-08-29 | 2012-06-26 | Adobe Systems Incorporated | Method and apparatus for irradiance caching in computing indirect lighting in 3-D computer graphics |
US8350846B2 (en) * | 2009-01-28 | 2013-01-08 | International Business Machines Corporation | Updating ray traced acceleration data structures between frames based on changing perspective |
GB2474114B (en) * | 2009-09-25 | 2012-02-15 | Advanced Risc Mach Ltd | Graphics processing systems |
KR101089638B1 (ko) | 2009-10-09 | 2011-12-06 | 양성봉 | 교차 검사 가속을 위한 광선 추적 장치 및 방법 및 이를 이용한 렌더링 장치 및 방법 |
US8957902B2 (en) * | 2010-12-24 | 2015-02-17 | Reuven Bakalash | Method and apparatus for interprocessor communication employing modular space division |
US9113130B2 (en) * | 2012-02-06 | 2015-08-18 | Legend3D, Inc. | Multi-stage production pipeline system |
US9383917B2 (en) | 2011-03-28 | 2016-07-05 | Microsoft Technology Licensing, Llc | Predictive tiling |
US9235921B2 (en) * | 2011-11-08 | 2016-01-12 | Imagination Technologies Limited | Profiling ray tracing renderers |
US10083541B2 (en) * | 2014-03-13 | 2018-09-25 | Imagination Technologies Limited | Object illumination in hybrid rasterization and ray traced 3-D rendering |
US10229526B2 (en) * | 2014-03-13 | 2019-03-12 | Imagination Technologies Limited | Rendering of soft shadows |
-
2014
- 2014-04-02 KR KR1020140039361A patent/KR102197067B1/ko active IP Right Grant
- 2014-10-15 US US14/514,642 patent/US10019830B2/en active Active
- 2014-11-10 EP EP14192530.5A patent/EP2927877B1/en active Active
- 2014-11-27 JP JP2014239806A patent/JP6486081B2/ja active Active
- 2014-12-24 CN CN201410821047.4A patent/CN104978759B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0725367A1 (en) * | 1995-01-31 | 1996-08-07 | Videologic Limited | Improvements relating to computer 3D rendering systems |
CN101826215A (zh) * | 2010-04-19 | 2010-09-08 | 浙江大学 | 实时二级光线跟踪的并行渲染方法 |
CN101982838A (zh) * | 2010-11-02 | 2011-03-02 | 长春理工大学 | 一种加速被面光源照射的3d虚拟场景的光线跟踪的方法 |
CN102521870A (zh) * | 2011-11-22 | 2012-06-27 | 浙江大学 | 一种微多边形光线跟踪的着色重用方法 |
US20140078143A1 (en) * | 2012-09-17 | 2014-03-20 | Samsung Electronics Co., Ltd. | Apparatus and method for scheduling of ray tracing |
Non-Patent Citations (3)
Title |
---|
"Parallel frame rendering: Trading responsiveness for energy on a mobile GPU";Arnau J M等;《Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques》;20130911;第83-92页 |
Måten Larsson等."Inter-frame Caching for High Quality Terrain Rendering".《ACM SIGGRAPH 2004 Sketches》.2004, |
SGRT:a scalable mobile GPU architecture based on ray tracing;Lee W J等;《ACM SIGGRAPH》;20121231;第1页 |
Also Published As
Publication number | Publication date |
---|---|
KR102197067B1 (ko) | 2020-12-30 |
JP2015197914A (ja) | 2015-11-09 |
CN104978759A (zh) | 2015-10-14 |
EP2927877A2 (en) | 2015-10-07 |
JP6486081B2 (ja) | 2019-03-20 |
EP2927877B1 (en) | 2019-10-23 |
EP2927877A3 (en) | 2015-10-21 |
US20150287233A1 (en) | 2015-10-08 |
US10019830B2 (en) | 2018-07-10 |
KR20150114767A (ko) | 2015-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104978759B (zh) | 用于渲染多个帧的相同区域的方法和设备 | |
CN104616340B (zh) | 射线跟踪方法和设备 | |
JP6476090B2 (ja) | 加速構造の生成及び探索を行う方法並びに装置 | |
US10504253B2 (en) | Conservative cell and portal graph generation | |
US10586375B2 (en) | Hybrid raytracing approach for modeling light reflection | |
US20150262416A1 (en) | Importance sampling of sparse voxel octrees | |
GB2555797A (en) | Graphics processing systems | |
JP6460914B2 (ja) | レイトレーシング・システムでの加速構造探索装置及び加速構造探索方法 | |
GB2551388A (en) | Graphics processing systems | |
US10839600B2 (en) | Graphics processing systems | |
US20160117855A1 (en) | Rendering apparatus and method | |
US10825231B2 (en) | Methods of and apparatus for rendering frames for display using ray tracing | |
JP6948226B2 (ja) | 加速構造を生成する方法及びその装置 | |
JP6410451B2 (ja) | 情報処理装置、計測システム、情報処理方法およびプログラム。 | |
CN113457161B (zh) | 画面展示方法、信息生成方法、装置、设备及存储介质 | |
Fu et al. | Layerpaint: A multi-layer interactive 3d painting interface | |
KR101661166B1 (ko) | 3차원 영상 시스템에서 광선 추적 방법 및 장치 | |
KR101826123B1 (ko) | 비정렬 격자 볼륨 렌더링 방법 및 장치 | |
Min et al. | OctoMap-RT: Fast probabilistic volumetric mapping using ray-tracing GPUs | |
KR20170025993A (ko) | 가속 구조를 생성 및 탐색하는 방법 | |
JP6802129B2 (ja) | 情報処理装置、方法及びプログラム | |
JP4920775B2 (ja) | 画像生成装置及び画像生成プログラム | |
Wang | Accelerating Ray Tracing with Range Query Data Structures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |