【技术实现步骤摘要】
【国外来华专利技术】
本专利技术总体上涉及图形处理器,更确切地说,涉及使用图形处理器进行游戏物理仿真。
技术介绍
计算机系统上运行的诸如视频游戏之类的应用程序可能既需要物理仿真又需要图形渲染。例如,图1描绘了典型流水线的框图100,用于计算和显示视频游戏场景中描绘的一个或多个角色的运动。在步骤110中,为了确定该场景中描绘的所述一个或多个角色的运动而进行物理仿真。然后在步骤120中,对物理仿真的结果进行图形渲染,以使终端用户可见。 典型情况下,步骤110的物理仿真由在该计算机系统的中央处理器(CPU)或专用设备上执行的物理引擎进行。然后,步骤120的图形渲染由图形处理器(GPU)进行。不过,由物理引擎产生的结果最终用于修改视频游戏(或者更一般地说是应用程序)的图形,所以将以某种形式传送到GPU。因为来自物理引擎的结果必须传送到GPU以便渲染,所以可能会产生等待时间和带宽问题。不仅如此,CPU作为通用处理器,不具有GPU的并行处理能力。 了解了以上情况后,所需要的就是用于在一个或多个GPU上执行物理仿真的方法、计算机程序产品和系统。
技术实现思路
本专利技术的若干实施例可以包括方法、计算机程序产品和系统,利用GPU上可用的并行处理能力,实现了与典型CPU上执行的物理仿真相比更快的帧速率。不仅如此,这样的方法、计算机程序产品和系统在进行所述物理仿真时采用了隐式积分技术,以避免显式积分技术中所需的相对小的时间步长。另外,过程(procedural)力和力矩可以表示为在GPU上执行的渲染器(渲染器)程序。此外,基于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[加拿大]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。