当前位置: 首页 > 专利查询>ARM有限公司专利>正文

图形处理系统技术方案

技术编号:16708208 阅读:44 留言:0更新日期:2017-12-02 23:32
在图形处理系统中,定义了表示要渲染的场景的全部或部分的体积的包围体(20)。然后,当在所述场景中渲染在所述包围体(20)内的至少部分透明的对象(21)时,针对所述对象(21)的部分或全部执行渲染通道,其中所述对象(21)被渲染,好像它是不透明的对象一样。在所述渲染通道中,针对所述对象(21)的表面上的至少一个采样位置(23),要用于表示将在所述采样位置(23)处通过所述对象(21)可见的折射场景的部分的颜色通过以下步骤来确定:使用从所述场景的视点位置(25)起的视图矢量(24)来确定针对所述采样位置(23)的折射视图矢量(26);确定由所述折射视图矢量(26)在所述包围体(20)上交叉的位置(28);使用所述交叉位置(28)来确定要用于对表示所述场景中的所述包围体(20)的所述表面的所述颜色的图形纹理进行采样的矢量(29);以及使用所确定的矢量(29)来对所述图形纹理进行采样以针对所述采样位置(23)确定要用于表示将在所述采样位置(23)处通过所述对象(21)可见的所述折射场景的所述部分的颜色和在所述纹理的一个或更多个通道中编码的任何其它相关信息。

【技术实现步骤摘要】
【国外来华专利技术】图形处理系统
技术介绍
本文所描述的技术涉及图形处理系统,并且具体地涉及用于在渲染图像以供显示时考虑折射的效应的方法和设备。当渲染图像(诸如输出帧)以便在图形处理系统中显示时,常常期望能够在被渲染的场景中考虑折射的效应。每当透明的或半透明的对象出现在场景中时这些效应可以存在。各种渲染技术设法做这个。一个这样的技术是所称的“光线追踪”。在此技术中光线的路径通过图像平面中的各个像素来追踪并且它与场景中的对象遭遇的效应被模拟。虽然光线追踪可以是用于允许在渲染图像时考虑折射的效应的有效技术,但是它一般而言是非常计算昂贵的。光线追踪因此通常不适于在图形处理系统的处理能力有限的情形下渲染图像。这可能例如特别是期望使用例如可以相应地具有有限处理容量的移动装置来渲染图像的情况。用于考虑折射的效应的另一技术利用所称的“扰动纹理”。在此技术中,场景的(例如相对于视点(摄像机)位置)在透明的或半透明的对象后面的部分被首先渲染到纹理。纹理然后经受某种形式的扰动,例如使得当纹理被随后应用于对象时为该对象实现了“折射样子”。因为此技术基于纹理的扰动,所以它未适当地考虑折射的真实世界物理效应,并且所以结果得到的图像可能常常是不逼真的。附加地,此技术不可考虑场景的在摄像机的视场外部但是由于折射的效应而将另外可见的区域。通常也存在诸如像素闪烁的失真和不稳定。这在例如当显示复杂透明的或半透明的对象的特写镜头时和/或当摄像机正在移动时折射的效应在场景中重要的情况下可能是特别引人注意的。此外,使用此技术,有必要每当视点(摄像机)位置改变(各个帧可发生)时再生纹理。这例如在用于准备、存储并使用纹理的处理、存储器和带宽资源方面可能是相对昂贵的。申请人因此认为,用于在图形处理系统中渲染折射的技术仍然存在改进的空间。附图说明现在将仅通过示例并且参照附图描述本文所描述的技术的许多实施方式,在附图中:图1示意性地示出了可按照本文所描述的技术的方式操作的图形处理流水线;图2示意性地示出了本文所描述的技术的实施方式的操作;图3、图4、图5、图6和图7例示了本文所描述的技术的实施方式的操作;图8示意性地例示了表面处的折射的效应;以及图9至图13示意性地示出了本文所描述的技术的实施方式的操作。在附图中在适当情况下相同的附图标记被用于相同的组件。具体实施方式本文所描述的技术的第一实施方式包括一种在渲染场景以供输出时操作图形处理系统的方法,在该场景中表示要渲染的所述场景的全部或部分的体积的包围体被定义;该方法包括:当在所述场景中渲染在所述包围体内的至少部分透明的对象时:针对所述对象的一些或全部执行渲染通道,在该渲染通道中所述对象被渲染,好像它是不透明的对象一样;以及在所述渲染通道中:针对所述对象的表面上的至少一个采样位置,通过以下步骤来确定要用于表示将在所述采样位置处通过所述对象可见的所述场景的所述部分的颜色:使用从所述场景的视点位置起的视图矢量来确定所述采样位置的折射视图矢量;确定在所述包围体上由所述折射视图矢量交叉的位置;使用所述交叉位置来确定要用于对表示所述场景中的所述包围体的所述表面的所述颜色的图形纹理进行采样的矢量;以及使用所确定的矢量来对所述图形纹理进行采样以针对所述采样位置确定要用于表示将在所述采样位置处通过所述对象可见的所述场景的所述部分的颜色。本文所描述的技术的第二实施方式包括一种图形处理流水线,该图形处理流水线包括:多个处理级,包括至少光栅化输入基元以生成要处理的图形片段的光栅化器,各个图形片段具有与它关联的一个或更多个采样位置,以及处理由所述光栅化器生成的片段以生成输出片段数据的渲染器;其中所述图形处理流水线当渲染定义有表示要渲染的所述场景的全部或部分的体积的包围体的场景以供输出时被配置为:当在所述场景中渲染在所述包围体内的至少部分透明的对象时:针对所述对象的一些或全部执行渲染通道,在该渲染通道中所述对象被渲染,好像它是不透明的对象一样;以及在所述渲染通道中:针对所述对象的表面上的至少一个采样位置,通过以下步骤来确定要用于表示将在所述采样位置处通过所述对象可见的所述场景的所述部分的颜色:使用从所述场景的视点位置起的视图矢量来确定所述采样位置的折射视图矢量;确定在所述包围体上由所述折射视图矢量交叉的位置;使用所述交叉位置来确定要用于对表示所述场景中的所述包围体的所述表面的所述颜色的图形纹理进行采样的矢量;以及使用所确定的矢量来对所述图形纹理进行采样以针对所述采样位置确定要用于表示将在所述采样位置处通过所述对象可见的所述场景的所述部分的颜色。本文所描述的技术致力于用于当渲染场景以供输出时特别在被渲染的场景内存在至少一个至少部分透明的(即不完全不透明的)对象的情形下考虑折射的效应的方法和设备。在本文所描述的技术中,为了考虑通过所述至少部分透明的对象的折射的效应,所述至少部分透明的对象的一些或全部被处理,好像它是不透明的一样,并且针对对象的表面上的采样位置的适当的颜色使用表示围绕对象(并且所以表示什么将通过对象可见)的包围体的表面的颜色的纹理来确定,同时使用从“折射”视图矢量得到的矢量来对纹理进行采样。如将在下面进一步讨论的,申请人已经认识到,此布置可用于按照特别高效的方式模拟折射的真实世界物理效应。这然后意味着可在实时渲染期间(即在“运行时”)和/或当在图形处理系统的处理能力有限的情形下渲染时模拟折射的真实世界物理效应。这与一般而言对移动实时渲染来说太计算昂贵的“光线追踪”技术形成对照,并且与可能是相对昂贵的并且未适当地考虑折射的真实世界物理效应的“扰动纹理”形成对照。本文所描述的技术的布置可用于使用表示包围体的表面的颜色的单个“静态的”图形纹理来模拟折射的效应。这然后意味着例如,即使视点(摄像机)位置改变,相同的图形纹理也可被用于多个帧。这与例如必须例如为各个帧连续地再生扰动纹理的常规实时渲染布置形成对照。因为本文所描述的技术可使用“静态的”纹理来模拟折射效应,而不是像在常规布置中一样使用“动态的”纹理,所以那也意味着可按照高得多的质量并且使用更成熟的效应来生成本文所描述的技术的纹理。纹理可例如被“离线”生成并且经受非实时优化,然后提供以供由图形处理系统使用。这与例如因为必须例如为各个帧生成扰动纹理所以必须按照低分辨率/低质量形式生成它以便维持实时渲染所必需的速度的常规布置形成对照。本文所描述的技术不会遭受此缺点,并且所以用于模拟折射效应的纹理可以被生成为具有高得多的质量,从而提供更高质量的折射效应。因为可针对给定包围体在本文所描述的技术中使用单个“静态的”纹理,所以也能够视需要以压缩形式提供纹理,从而提供带宽和存储器节约。在本文所描述的技术中,被应用来自纹理的颜色的采样位置处的至少部分透明的对象被处理(渲染),好像它是不透明的一样(而不像完全或部分透明的一样,它实际上就是完全或部分透明的)。申请人在这点上已经认识到,不管对象它本身是完全或部分透明的事实,都可通过处理采样位置处的对象好像它是不透明的一样并且然后按照本文所描述的技术的方式对它应用纹理来实现折射的更好表示。这然后确保针对采样位置的颜色(即表示将在采样位置处通过对象可见的折射场景的部分)将(使用从折射视图矢量得到的矢量)从图形纹理确定并且例如将不经受与来自可以在所述对象后面本文档来自技高网...
图形处理系统

【技术保护点】
一种在渲染场景以供输出时操作图形处理系统的方法,其中,表示要渲染的所述场景的全部或部分的体积的包围体被定义,该方法包括:当在所述场景中渲染在所述包围体内的至少部分透明的对象时:针对所述对象的一些或全部执行渲染通道,其中,所述对象被渲染,好像它是不透明的对象一样;以及在所述渲染通道中:针对所述对象的表面上的至少一个采样位置,通过以下步骤来确定要用于表示将在所述采样位置处通过所述对象可见的所述场景的所述部分的颜色:使用从针对所述场景的视点位置起的视图矢量来确定针对所述采样位置的折射视图矢量;确定由所述折射视图矢量在所述包围体上交叉的位置;使用所述交叉位置来确定要用于对表示所述场景中的所述包围体的所述表面的所述颜色的图形纹理进行采样的矢量;以及使用所确定的矢量来对所述图形纹理进行采样以针对所述采样位置确定要用于表示将在所述采样位置处通过所述对象可见的所述场景的所述部分的颜色。

【技术特征摘要】
【国外来华专利技术】2015.02.27 GB 1503391.3;2015.02.27 GB 1503386.31.一种在渲染场景以供输出时操作图形处理系统的方法,其中,表示要渲染的所述场景的全部或部分的体积的包围体被定义,该方法包括:当在所述场景中渲染在所述包围体内的至少部分透明的对象时:针对所述对象的一些或全部执行渲染通道,其中,所述对象被渲染,好像它是不透明的对象一样;以及在所述渲染通道中:针对所述对象的表面上的至少一个采样位置,通过以下步骤来确定要用于表示将在所述采样位置处通过所述对象可见的所述场景的所述部分的颜色:使用从针对所述场景的视点位置起的视图矢量来确定针对所述采样位置的折射视图矢量;确定由所述折射视图矢量在所述包围体上交叉的位置;使用所述交叉位置来确定要用于对表示所述场景中的所述包围体的所述表面的所述颜色的图形纹理进行采样的矢量;以及使用所确定的矢量来对所述图形纹理进行采样以针对所述采样位置确定要用于表示将在所述采样位置处通过所述对象可见的所述场景的所述部分的颜色。2.根据权利要求1所述的方法,其中,表示所述包围体的所述表面的所述颜色的所述纹理包括针对围绕所述纹理包含的所述体积内的参照位置的表面上的点来指示并存储针对各个点的一个或更多个颜色值的纹理,其中,然后基于从针对所述纹理的所述参照位置起的方向对所述纹理进行采样。3.根据权利要求1或2所述的方法,其中,使用所述包围体上的所确定的交叉位置来确定要用于对表示图形纹理的所述颜色进行采样的所述矢量的步骤包括:使用所述包围体上的所确定的交叉位置来确定从定义所述纹理所相对于的参照位置到所确定的交叉点的矢量;并且所述方法还包括:然后使用从所述参照位置到所确定的交叉点的所确定的矢量来对所述颜色指示纹理进行采样。4.根据权利要求2或3所述的方法,其中,所述参照位置位于所述至少部分透明的对象内。5.根据前述权利要求中的任一项所述的方法,其中:使用所述视图矢量来确定所述折射视图矢量包括确定由于所述视图矢量在所述对象的所述表面处的折射而导致的所述视图矢量的方向的改变。6.根据前述权利要求中的任一项所述的方法,所述方法还包括将所述折射视图矢量制成动画。7.根据前述权利要求中的任一项所述的方法,所述方法还包括针对多个不同的颜色中的每一个来确定多个不同的折射视图矢量。8.根据前述权利要求中的任一项所述的方法,其中,所述图形纹理包括存储供在渲染所述场景时使用的附加信息的一个或更多个通道;并且其中所述方法包括在所述渲染通道中:对所述图形纹理的所述一个或更多个通道中的一个或更多个进行采样以确定附加信息;以及使用所述附加信息来控制或者影响所述渲染通道。9.根据前述权利要求中的任一项所述的方法,其中:针对所述对象的一些或全部执行所述渲染通道包括针对所述对象的后表面执行所述渲染通道;并且其中所述方法还包括:针对所述对象的前表面执行附加渲染通道;以及使所述附加渲染通道的结果与所述渲染通道的结果混合。10.根据前述权利要求中的任一项所述的方法,所述方法还包括:当渲染其中存在第二对象和至少部分透明的第一对象的场景时,其中所述第二对象至少部分地在所述第一对象后面和/或在所述第一对象内:针对所述第一对象的表面上的至少一个采样位置,通过以下步骤来确定要用于表示将在所述采样位置处通过所述第一对象可见的所述第二对象的所述部分的颜色:使用从所述场景的视点位置起的视图矢量来确定所述采样位置的折射视图矢量;使用所述折射视图矢量来确定要用于对表示所述第二对象的图形纹理进行采样的纹理坐标;以及使用所确定的纹理坐标来对所述图形纹理进行采样以针对所述采样位置确定要用于表示将在所述采样位置处通过所述第一对象可见的所述第二对象的所述部分的颜色。11.一种生成用于当渲染场景以供输出时在图形处理系统中使用的纹理的方法,其中,表示要渲染的所述场景的全部或部分的体积的包围体被定义并且在所述包围体内存在至少部分透明的对象,该方法包括:通过以下步骤来生成包括纹理纹元的阵列以供当在所述场景中渲染所述至少部分透明的对象时使用的图形纹理:设定所述纹理中的纹元值,使得它们各自存储在从将对所述纹理进行采样所相对于的参照位置起的给定方向上表示所述包围体的所述表面的所述颜色的一个或更多个颜色值,所述参照位置位于所述场景中的所述至少部分透明的对象内;以及存储表示所述纹理的所述纹元值并且指示将对所述纹理进行采样所相对于的所述参照位置的数据。12.根据权利要求11所述的方法,所述方法还包括使所述纹理在所述纹理已经被生成之后经受一个或更多个处理操作。13.根据前述权利要求中的任一项所述的方法,所述方法还包括存储附加信息以供当在所述纹理的一个或更多个通道中渲染所述场景时使用。14.根据前述权利要求中的任一项所述的方法,所述方法还包括在渲染所述场景以供输出时至少部分地生成和/或更新所述纹理。15.根据前述权利要求中的任一项所述的方法,其中,所述包围体形式为包围盒。16.根据前述权利要求中的任一项所述的方法,其中,所述纹理是立方体纹理。17.一种图形处理流水线,该图形处理流水线包括:多个处理级,至少包括:光栅化输入基元以生成要处理的图形片段的光栅化器,各个图形片段具有与它关联的一个或更多个采样位置;以及处理由所述光栅化器生成的片段以生成输出片段数据的渲染器;其中,所述图形处理流水线当渲染其中定义有表示要渲染的场景的全部或部分的体积的包围体的所述场景以供输出时被配置为:当在所述场景中渲染在所述包围体内的至少部分透明的对象时:针对所述对象的一些或全部执行渲染通道,其中,所述对象被渲染,好像它是不透明的对象一样;以及在所述渲染通道中:针对所述对象的表面上的至少一个采样位置,通过以下步骤来确定要用于表示将在所述采样位置处通过所述对象可见的所述场景的所述部分的颜色:使用从针对所述场景的视点位置起的视图矢量来确定针对所述采样位置的折射视图矢量;确定由所述折射视图矢量在所述包围体上交叉的位置;使用所述交叉位置来确定要用于对表示所述场景中的所述包围体的所述表面的所述颜色的图形纹理进行采样的矢量;以及使用所确定的矢量来对所述图形纹理进行采样以针对所述采样位置确定要用于表示将在所述采样位置处通过所述对象可见的所述场景的所述部分的颜色。18.根据权利要求17所述的流水线,其中,表示所述包围体的所述表面的所述颜色的所述纹理包括针对围绕所述纹理包含的所述体积内的参照位置的表面上的点来指示并存储针对各个点的一个或更多个颜色值的纹理,其中,然后基于从针对所述纹理的所述参照位置起的方向对所述纹理进行采样。19.根据权利要求17或18所述的流水线,其中,所述流水线被配置为:通过使用所述包围体上的所确定的交叉位置来确定从定义所述纹理所相对于的参照位置到所确定的交叉点的矢量,来使用所述包围体上的所确定的交叉位置来确定要用于对表示图形纹理的所述颜色进行采样的所述矢量;并且然后使用从所述参照位置到所确定的交叉点的所确定的矢量来对所述颜色指示纹理进行采样。20.根据权利要求18或19所述的流水线,其中,所述参照位置位于所述至少部分透明的对象内。21.根据权利要求17至20中的任一项所述的流水线,其中,所述流水线被配置为:通过确定由于所述视图矢量在所述对象的所述表面处的折射而导致的所述视图矢量的方向的改变来使用所述视图矢量来确定所述折射视图矢量。22.根据权利要求17至21中的任一项所述的流水线,其中,所述流水线被配置为将所述折射视图矢量制成动画。23.根据权利要求17至22中的任一项所述的流水线,其中,所述流水线被配置为针对多个不同的颜色中的每一个来确定多个不同的折射视图矢量。24.根据权利要求17至23中的任一项所述的流水线,其中,所述图形纹理包括存储供在渲染所述场景时使用的附加信息的一个或更多个通道;并且其中所述流水线被配置为在所述渲染通道中:对所述图形纹理的所述一个或更多个通道中的一个或更多个进行采样以确定附加信息;并且使用所述附加信息来控制或者影响所述渲染通道。25.根据权利要求17至24中的任一项所述的流水线,其中,所述流水线被配置为:针对所述对象的后表面执行所述渲染通道;针对所述对象的前表面执行附加渲染通道;以及使所述附加渲染通道的结果与所述渲染通道的结果混合。26.根据权利要求17至25中的任一项所述的流水线,其中,所述流水线被配置为,当渲染其中存在第二对象和至少部分透明的第一对象的场景时,其中所述第二对象至少部分地在所述第一对象后面和/或在所述第一对象内:针对所述第一对象的表面上的至少一个采样位置,通过以下步骤来确定要用于表示将在所述采样位置处通过所述第一对象可见的所述第二对象的所述部分的颜色:使用从针对所述场景的视点位置起的视图矢量来确定针对所述采样位置的折射视图矢量;使用所述折射视图矢量来确定要用于对表示所述第二对象的图形纹理进行采样的纹理坐标;以及使用所确定的纹理坐标来对所述图形纹理进行采样以针对所述采样位置确定要用于表示将在所述采样位置处通过所述第一对象可见的所述第二对象的所述部分的颜色。27.一种用于生成当渲染场景以供输出时在图形处理系统中使用的纹理的设备,其中,表示要渲染的所述场景的全部或部分的体积的包围体被定义并且在所述包围体内存在至少部分透明的对象,该设备包括处理电路,该处理电路被配置为:通过以下步骤来生成包括纹理纹元的阵列以供当在所述场景中渲染所述至少部分透明的对象时使用的图形纹理:设定所述纹理中的纹元值,使得它们各自存储在从将对所述纹理进行采样所相对于的参照位置起的给定方向上表示所述包围体的所述表面的所述颜色的一个或更多个颜色值,所述参照位置位于所述场景中的所述至少部分透明的对象内;以及存储表示所述纹理的所述纹元值并且指示将对所述纹理进行采样所相对于的所述参照位置的数据。28.根据权利要求27所述的设备,其中,所述处理电路被配置为:使所述纹理在它已经被生成之后经受一个或更多个处理操作。29.根据权利要求17至28中的任一项所述的流水线或设备,其中,所述纹理存储附加信息以供当在所述纹理的一个或更多个通道中渲染所述场景时使用。30.根据权利要求17至29中的任一项所述的流水线或设备,其中,所述流水线或处理电路被配置为:在渲染所述场景以供输出时至少部分地生成和/或更新所述纹理。31.根据权利要求17至30中的任一项所述的流水线或设备,其中,所述包围体形式为包围盒。32.根据权利要求17至31中的任一项所述的流水线或设备,其中,所述纹理是立方体纹理。33.一种用于当渲染场景以供输出时在图形处理系统中使用的纹理,其中,表示要渲染的所述场景的全部或部分的体积的包围体被定义并且在所述包围体内存在至少部分透明的对象,该纹理包括:纹理纹元的阵列,其中:所述纹元值被设定为使得它们各自存储在从将对所述纹理进行采样所相对于的参照位置起的给定方向上表示所述包围体的所述表面的所述颜色的一个或更多个颜色值,所述参照位置位于所述场景中的所述至少部分透明的对象内。34.一种当渲染场景以供输出时操作图形处理系统的方法,该方法包括:当渲染其中存在第二对象和至少部分透明的第一对象的场景时,其中所述第二对象至少部分地在所述第一对象后面和/或在所述第一对象内:针对所述第一对象的表面上的至少一个采样位置,通过以下步骤来确定要用于表示将在所述采样位置处通过所述第一对象可见的所述第二对象的部分的颜色:使用从针对所述场景的主视点位置起的视图矢量来确定针对所述采样位置的折射视图矢量;使用所述折射视图矢量来确定要用于对表示所述第二对象的...

【专利技术属性】
技术研发人员:R·洛佩兹·门德斯S·巴拉S·P·莱顿
申请(专利权)人:ARM有限公司
类型:发明
国别省市:英国,GB

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1