当前位置: 首页 > 专利查询>ATI科技公司专利>正文

图形处理器上的物理仿真制造技术

技术编号:5442944 阅读:211 留言:0更新日期:2012-04-11 18:40
本发明专利技术针对在至少一个图形处理器单元(GPU)上进行物理仿真的方法、计算机程序产品和系统。所述方法包括以下步骤。首先,表示与至少一个网格相关联的物理属性的数据映射到多个存储器阵列中,以便建立控制着场景中描绘的所述至少一个网格的运动的线性方程系统。然后,使用至少一个像素处理器对所述多个存储器阵列中的所述数据进行计算,以便求解某时刻的所述线性方程系统,其中,表示所述时刻所述线性方程系统求解结果的修改后数据存储在所述多个存储器阵列中。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术总体上涉及图形处理器,更确切地说,涉及使用图形处理器进行游戏物理仿真。
技术介绍
计算机系统上运行的诸如视频游戏之类的应用程序可能既需要物理仿真又需要图形渲染。例如,图1描绘了典型流水线的框图100,用于计算和显示视频游戏场景中描绘的一个或多个角色的运动。在步骤110中,为了确定该场景中描绘的所述一个或多个角色的运动而进行物理仿真。然后在步骤120中,对物理仿真的结果进行图形渲染,以使终端用户可见。 典型情况下,步骤110的物理仿真由在该计算机系统的中央处理器(CPU)或专用设备上执行的物理引擎进行。然后,步骤120的图形渲染由图形处理器(GPU)进行。不过,由物理引擎产生的结果最终用于修改视频游戏(或者更一般地说是应用程序)的图形,所以将以某种形式传送到GPU。因为来自物理引擎的结果必须传送到GPU以便渲染,所以可能会产生等待时间和带宽问题。不仅如此,CPU作为通用处理器,不具有GPU的并行处理能力。 了解了以上情况后,所需要的就是用于在一个或多个GPU上执行物理仿真的方法、计算机程序产品和系统。
技术实现思路
本专利技术的若干实施例可以包括方法、计算机程序产品和系统,利用GPU上可用的并行处理能力,实现了与典型CPU上执行的物理仿真相比更快的帧速率。不仅如此,这样的方法、计算机程序产品和系统在进行所述物理仿真时采用了隐式积分技术,以避免显式积分技术中所需的相对小的时间步长。另外,过程(procedural)力和力矩可以表示为在GPU上执行的渲染器(渲染器)程序。此外,基于GPU的物理仿真器能够自动更换通常在计算机系统上执行物理仿真的常规软件动力学求解器。本专利技术的若干实施例通过提供用于在一个或多个GPU上进行物理仿真的方法、计算机程序产品和系统,满足了以上指明的需求。这种在一个或多个GPU上进行物理仿真的方法、计算机程序产品和系统利用了所述GPU上可用的并行处理能力,从而实现了与典型CPU上执行的物理仿真相比更快的帧速率。不仅如此,这样的方法、计算机程序产品和系统采用一个实施例中的隐式积分技术进行物理仿真,从而避免了显式积分技术中所需的相对小的时间步长。另外,根据本专利技术实施例,过程力和/或力矩可以表示为在GPU上执行的渲染器程序。此外,根据本专利技术实施例的基于GPU的物理仿真器可以用于自动更换典型情况下在计算机系统上执行物理仿真的常规软件动力学求解器。 根据本专利技术的实施例,提供了在至少一个GPU上进行物理仿真的方法。所述方法包括以下步骤。首先,将表示与至少一个网格相关联的物理属性的数据存储在多个视频存储器阵列中,以便建立控制场景中描绘的所述至少一个网格的运动的线性方程系统。然后,使用至少一个像素处理器对所述多个视频存储器阵列中的所述数据进行计算,以便求解某时刻的所述线性方程系统,其中,将表示所述时刻所述线性方程系统的求解结果的修改后数据存储在所述多个视频存储器阵列中。 根据本专利技术的另一个实施例,提供了包括计算机可用介质的计算机程序产品,在该计算机可用介质中存储有用于使至少一个GPU进行物理仿真的控制逻辑。所述控制逻辑包括计算机可读的第一和第二程序代码。所述计算机可读的第一程序代码使所述至少一个GPU将表示与至少一个网格相关联的物理属性的数据存储在多个视频存储器阵列中,以便建立控制场景中描绘的所述至少一个网格的运动的线性方程系统。所述计算机可读的第二程序代码使所述至少一个GPU对所述多个视频存储器阵列中的所述数据进行计算,以便求解某时刻的所述线性方程系统,其中,将表示所述时刻所述线性方程系统的求解结果的修改后数据存储在所述多个视频存储器阵列中。 根据本专利技术的进一步实施例,提供了用于进行物理仿真的系统。所述系统包括的存储器存储着多个视频存储器阵列和与所述存储器耦合的至少一个像素处理器。所述多个视频存储器阵列存储着表示与至少一个网格相关联的物理参数的数据,以便建立控制场景中描绘的所述至少一个网格的运动的线性方程系统。所述至少一个像素处理器对所述多个视频存储器阵列中的所述数据进行计算,以便求解某时刻的所述线性方程系统,结果是表示所述时刻所述线性方程系统的求解结果的修改后数据。 以下将参考附图,详细介绍本专利技术的进一步特点和优点,以及本专利技术多种实施例的结构和操作。注意,本专利技术不限于本文介绍的特定实施例。本文给出这样的实施例仅仅是为了展示的目的。根据本文包含的教导,另外的实施例对于相关领域的技术人员将是显而易见的。 附图说明 在本文中加入并形成说明书一部分的附图,展示了本专利技术,并且连同说明,进一步用于讲解本专利技术的原理并使相关领域的技术人员能够做出和使用本专利技术。 图1描绘的框图展示了典型的图形流水线; 图2描绘的框图是根据本专利技术的实施例在GPU上进行物理仿真的实例工作流程; 图3描绘的框图是根据本专利技术实施例的实例像素处理器; 图4描绘的框图是根据本专利技术实施例的实例物理/渲染流水线; 图5描绘的框图是根据本专利技术的实施例在GPU上进行的实例物理仿真流水线; 图6描绘的框图是根据本专利技术的实施例绕过软件动力学求解器从而在GPU上进行物理仿真的实例工作流程; 图7描绘的框图展示了根据本专利技术的实施例在GPU上进行物理仿真的实例方法; 图8描绘了根据本专利技术的实施例用于对织物进行建模的实例点网格; 图9描绘了根据本专利技术的实施例在GPU上进行物理仿真的实例高级流程图; 图10描绘了根据本专利技术的实施例将与点网格相关联的物理参数映射到视频存储器中的实例两步流程图; 图11描绘了根据本专利技术的实施例按每结合点(joint)方式确定合力和雅可比矩阵非对角线部分的实例流程图; 图12描绘了根据本专利技术的实施例按每结合点方式确定雅可比矩阵对角线部分的实例流程图; 图13描绘了其中可以实施本专利技术实施例的实例计算机系统的框图; 图14A描绘的实例方式中,根据本专利技术的实施例顶点缓冲区的内容被映射到3×3单元的阵列; 图14B描绘的实例方式中,根据本专利技术的实施例索引缓冲区的内容被映射到3×2的网格; 图15A描绘的实例中,顶点缓冲区存储着8个顶点位置; 图15B描绘的实例中,索引缓冲区存储着5个面,这些面对应于图15A中描绘的实例顶点缓冲区中存储的顶点位置。 连同附图阅读以下阐述的详细说明,本专利技术的特点和优点将变得更加显而易见,其中至始至终类似的引用字符标识对应的要素。在附图中,类似的引用号一般指一致的、功能类似的和/或结构类似的要素。要素首次出现的图由对应引用号中的最左边的数字来指明。 具体实施例方式 I.一个或多个GPU上的物理仿真综述 A.在一个或多个GPU上进行物理仿真的实例工作流程 B.执行物理仿真的实例GPU II.实例物理仿真接口 A.实例物理仿真软件接口(FYSI) B.实例物理场景描述语言(FYSL) C.可以接收与点网格相关联的物理参数的实例方式 III.在一个或多个GPU上进行物理仿真的实例方法 A.方法综述 B.进行织物仿真的实例物理模型 C.在GPU上仿真织物的实例实施方案 D.以FYSL编写的实例代码 IV.实例计算机实施方案 V.结论 I.一个或多个GPU上的物理仿真综述 本文档来自技高网...

【技术保护点】
一种在至少一个图形处理器单元(GPU)上进行物理仿真的方法,包括: 将与至少一个网格相关联的物理参数映射到多个存储器阵列中,以便建立控制着场景中描绘的所述至少一个网格的运动的线性方程系统;以及 使用至少一个像素处理器对所述多个存 储器阵列中的数据进行计算,以便求解某时刻的所述线性方程系统,其中,表示所述时刻所述线性方程系统求解结果的修改后数据存储在所述多个存储器阵列中。

【技术特征摘要】
【国外来华专利技术】US 2006-7-24 11/491,1691.一种在至少一个图形处理器单元(GPU)上进行物理仿真的方法,包括将与至少一个网格相关联的物理参数映射到多个存储器阵列中,以便建立控制着场景中描绘的所述至少一个网格的运动的线性方程系统;以及使用至少一个像素处理器对所述多个存储器阵列中的数据进行计算,以便求解某时刻的所述线性方程系统,其中,表示所述时刻所述线性方程系统求解结果的修改后数据存储在所述多个存储器阵列中。2.根据权利要求1的方法,进一步包括根据所述多个存储器阵列中的所述修改后数据,更新所述时刻所述场景中描绘的所述至少一个网格的所述运动。3.根据权利要求1的方法,进一步包括对所述时刻识别涉及所述至少一个网格的至少一次碰撞;以及根据(i)所述多个存储器阵列中的所述修改后数据和(ii)所识别的所述至少一次碰撞,更新所述时刻所述场景中描绘的所述至少一个网格的所述运动。4.根据权利要求1的方法,进一步包括使用所述像素处理器对所述修改后的数据进行计算,以便求解下一时刻的所述线性方程系统,其中,表示所述下一时刻所述线性方程系统求解结果的进一步修改后数据存储在所述多个存储器阵列中。5.根据权利要求4的方法,进一步包括根据所述多个存储器阵列中的所述进一步修改后数据,更新所述下一时刻所述场景中描绘的所述至少一个网格的所述运动。6.根据权利要求4的方法,进一步包括识别所述下一时刻涉及所述至少一个网格的至少一次碰撞;以及根据(i)所述多个存储器阵列中的所述进一步修改后数据和(ii)所识别的所述至少一次碰撞,更新所述下一时刻所述场景中描绘的所述至少一个网格的所述运动。7.根据权利要求1的方法,其中,所述进行计算包括通过对某时刻的所述线性方程系统隐式地积分,使用至少一个像素处理器对所述多个存储器阵列中的数据进行计算,以便求解所述线性方程系统,其中,表示所述时刻所述线性方程系统求解结果的修改后数据存储在所述多个存储器阵列中。8.根据权利要求1的方法,其中,所述存储包括在多个存储器阵列中存储数据以便建立线性方程系统,由给出,它控制着场景中描绘的至少一个网格的运动,其中以及其中I是单位征矩阵,M是所述至少一个网格质量的对角矩阵,是表示在时间tk所述至少一个网格几何状态的矢量,是表示在时间tk所述至少一个网格中每个点速度的矢量,而是表示在时间tk所述至少一个网格中每个点上合力的矢量。9.根据权利要求1的方法,其中,在所述映射以前,所述方法进一步包括从软件动力学求解器中俘获场景并且将依附在所述场景中描绘的至少一个网格的属性和场转换为被映射到所述多个存储器阵列中的所述物理参数;以及将仿真结果输入到所述软件动力学求解器的场景图中,其中所述仿真结果对应于由所述至少一个像素处理器算出的所述时刻所述线性方程系统的求解结果。10.根据权利要求1的方法,进一步包括表示在所述场景中描绘的所述网格上作用的力,作为在所述至少一个GPU上执行的渲染器。11.一种计算机程序产品,包括计算机可用的介质,其中存储的控制逻辑用于使至少一个图形处理器单元(GPU)进行物理仿真,所述控制逻辑包括计算机可读的第一程序代码,它使所述至少一个GPU将与至少一个网格相关联的物理参数映射到多个存储器阵列中,以便建立控制着场景中描绘的所述至少一个网格运动的线性方程系统;计算机可读的第二程序代码,它使所述至少一个GPU对所述多个存储器阵列中的数据进行计算,以便求解某时刻的所述线性方程系统,其中,表示所述时刻所述线性方程系统求解结果的修改后数据存储在所述多个存储器阵列中。12.根据权利要求11的计算机程序产品,进一步包括计算机可读的第三程序代码,它使所述至少一个GPU根据所述多个存储器阵列中的所述修改后数据,更新所述时刻所述场景中描绘的所述至少一个网格的所述运动。13.根据权利要求11的计算机程序产品,进一步包括计算机可读的第三程序代码,它使所述至少一个GPU识别对于所述时刻涉及所述至少一个网格的至少一次碰撞;以及计算机可读的第四程序代码,它使所述至少一个GPU根据(i)所述多个存储器阵列中的所述修改后数据和(ii)由所述计算机可读的第三程序代码所识别的所述至少一次碰撞,更新所述时刻所述场景中描绘的所述至少一个网格的所述运动。14.根据权利要求11的计算机程序产品,进一步包括计算机可读的第三程序代码,它使所述至少一个GPU对所述修改后的数据进行计算,以便求解下一时刻的所述线性方程系统,其中,表示所述下一时刻所述线性方程系统求解结果的进一步修改后数据存储在所述多个存储器阵列中。15.根据权利要求14的计算机程序产品,进一步包括计算机可读的第四程序代码,它使所述至少一个GPU根据所述多个存储器阵列中的所述进一步修改后数据,更新所述下一时刻所述场景中描绘的所述至少一个网格的所述运动。16.根据权利要求14的计算机程序产品,进一步包括计算机可读的第四程序代码,它使所述至少一个GPU识别对于所述下一时刻涉及所述至少一个网格的至少一次碰撞;以及计算机可读的第五程序代码,它使所述至少一个GPU根据(i)所述多个存储器阵列中的所述进一步修改后数据和(ii)由所述计算机可读的第四程序代码所识别的所述至少一次碰撞,更新所述下一时刻所述场景中描绘的所述至少一个网格的所述运动。17.根据权利要求11的计算机程序产品,其中,所述计算机可读的第二程序代码包括通过对某时刻的所述线性方程系统隐式地积分,使所述至少一个GPU对所述多个存储器阵列中的所述数据进行计算,以便求解所述线性方程系统的代码,其中,表示所述时刻所述线性方程系统求解结果的修改后数据存储在所述多个存储器阵列中。18.根据权利要求11的计算机程序产品,其中,所述计算机可读的第一程序代码包括使所述至少一个GPU在多个存储器阵列中存储数据的代码,以便建立线性方程系统,由给出,它控制着场景中描绘的所述至少一个网格的运动,其中以及其中I是单位征矩阵,M是所述至少一个网格质量的对角矩阵,是表示在时间tk所述至少一个网格几何状态的矢量,是表示在时间tk所述至少一个网格中每个点速度的矢量,而是表示在时间tk所述至少一个网格中每个点上合力的矢量。19.根据权利要求11的计算机程序产品,进一步包括计算机可读的第三程序代码,它使所述至少一个GPU从软件动...

【专利技术属性】
技术研发人员:AI布莱威斯GS巴伦
申请(专利权)人:ATI科技公司
类型:发明
国别省市:CA[加拿大]

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

1
相关领域技术
  • 暂无相关专利