【技术实现步骤摘要】
本专利技术一般涉及数据处理,更具体地,涉及图形图像处理和呈现(rendering)以及与之相关的物理冲量传播。
技术介绍
呈现来自三维场景的二维图像的过程通常被称为图像处理。随着现代计算机产业的发展,图像处理也在发展。图像处理发展中的一个特定目标是使得三维场景的二维模拟或呈现尽可能地真实。此外,图像处理经常与建模或模拟现实世界场景相关联地使用,其中,表示物理、真实世界物体的虚拟或模拟物体在模拟场景中互相作用。例如,视频游戏越来越能够描绘越来越多的现实虚拟环境,例如通过高尔夫球的飞行、赛车的真实世界性能特征、飞行器的飞行或战争游戏中的爆炸结果。在图像处理的其他商业和科学应用(例如,飞行模拟、弹道模拟等)中,对虚拟环境中的物体的相互作用的准确建模受到更大的关注。在很多现代数据处理系统中,对物体的真实世界相互作用的建模由通常被称为物理引擎的计算机软件来处理。物理引擎尝试通过使用刚体动力学、软体动力学和/或流体动力学原理来模拟物理现象。大多数物理引擎的一个关键组件是碰撞检测/碰撞响应系统,其试图检测虚拟环境中的物体何时互相碰撞。基于检测到的碰撞,典型地执行动力学模拟,以解析碰撞后施加到物体的力和运动。某些物理引擎还依赖于基于冲量的算法,其中,冲量被施加到物体之间,以在其之间传播力。例如,当刚性或可变形的物体互相接触时,施加到一个物体的力必须被施加到与该物体接触的其他物体。类似地,施加到流体、织物或其他高度可变形的实体的力必须典型地传播经过这些实体。尽管某些更高精度的物理引擎不会受时间限制,许多其他的、特别是在交互视频游戏应用中使用的那些引擎,需要“实时”运行。因 ...
【技术保护点】
一种电路装置,包括:片上网络硬件逻辑装置,包含定义多个硬件线程的多个处理核心,以及将多个处理核心互相耦合的片上网络;以及由多个硬件线程中的至少部分执行的物理引擎,该物理引擎包含多线程软件流水线,该多线程软件流水线包含多个阶段,其被配置为检测场景中的多个物体中的物体间的碰撞,以及多个冲量传播线程,其被配置为传播所述多个物体中的互相接触的一组相邻物体之间的冲量;其中,所述物理引擎被配置为,对于所述一组相邻物体中的每个,将该物体的所有权分配给所述多个冲量传播线程中的一个,并为该物体所分配给的冲量传播线程生成相邻物体表,其标识了所述一组相邻物体中与该物体接触的每个物体;其中,所述物理引擎被配置为,响应于检测到的与所述一组相邻物体中的第一物体的碰撞,生成包含大小和方向的第一线程间冲量消息;并且其中,所述多个冲量传播线程中的每个冲量传播线程被配置为,响应于接收到与冲量关联的线程间冲量消息,局部传播这样的冲量经过所有权被分配给该冲量传播线程的物体,为该冲量传播线程的相邻物体表中所标识的每个相邻物体来确定传播的力的大小和方向,通过将线程间冲量消息发送到用于该冲量传播线程的相邻物体表中所标识的每个相邻物 ...
【技术特征摘要】
2011.08.18 US 13/212,4031.一种电路装置,包括: 片上网络硬件逻辑装置,包含定义多个硬件线程的多个处理核心,以及将多个处理核心互相耦合的片上网络;以及 由多个硬件线程中的至少部分执行的物理引擎,该物理引擎包含多线程软件流水线,该多线程软件流水线包含多个阶段,其被配置为检测场景中的多个物体中的物体间的碰撞,以及多个冲量传播线程,其被配置为传播所述多个物体中的互相接触的一组相邻物体之间的冲量; 其中,所述物理引擎被配置为,对于所述一组相邻物体中的每个,将该物体的所有权分配给所述多个冲量传播线程中的一个,并为该物体所分配给的冲量传播线程生成相邻物体表,其标识了所述一组相邻物体中与该物体接触的每个物体; 其中,所述物理引擎被配置为,响应于检测到的与所述一组相邻物体中的第一物体的碰撞,生成包含大小和方向的第一线程间冲量消息;并且 其中,所述多个冲量传播线程中的每个冲量传播线程被配置为,响应于接收到与冲量关联的线程间冲量消息,局部传播这样的冲量经过所有权被分配给该冲量传播线程的物体,为该冲量传播线程的相邻物体表中所标识的每个相邻物体来确定传播的力的大小和方向,通过将线程间冲量消息发送到用于该冲量传播线程的相邻物体表中所标识的每个相邻物体的冲量传播线程,来将冲量传播到该每个相邻物体的冲量传播线程,该线程间冲量消息包含为该冲量传播线程确定的传播的力的大小和方向,从该冲量传播线程的相邻物体表中所标识的每个相邻物体接收线程间冲量应答消息,至少部分基于线程间冲量应答消息来确定反作用力的大小和方向,以及发送具有反作用力的大小和方向的线程间冲量应答消息,作为对接收到的线程间冲量消息的应答。2.一种使用多线程物理引擎在场景的多个物体之间传播冲量的方法,该方法包括: 对于多个物体中的每个,将该物体的所有权分配给多线程物理引擎中的多个线程中的一个;以及 响应于多个物体中的第一物体所接收到的冲量: 使用多个线程中的第一线程来局部地传播冲量经过第一物体,该第一物体的所有权已被分配给该第一线程;以及 通过将线程间消息从第一线程发送到多个线程中的第二线程,将冲量传播到多个物体中与所述第一物体接触的至少一个额外的物体,该额外物体的所有权已被分配给该第二线程。3.如权利要求2所述的方法,其中,所述第一物体与多个相邻物体接触,且其中,传播冲量包括,对于多个相邻物体中的每个,将线程间消息从第一线程发送到多个线程中该相邻物体的所有权所分配给的线程。4.如权利要求2所述的方法,其中,每个物体包含与该物体的物理属性关联的至少一个属性,且其中,局部地传播冲量经过第一物体包括访问该第一物体的属性来模拟冲量传播经过该第一物体。5.如权利要求2所述的方法,其中,将冲量传播到额外的物体包括访问与所述第一物体和额外物体之间的物理关系关联的物理常数,来确定力的大小和方向,其中,所述线程间消息包括所确定的力的大小和方向。6.如权利要求5所述的方法,其中,所述物理常数包括弹簧常数和撕裂常数中的至少一个。7.如权利要求2所述的方法,其中,响应于所述第一线程接收到的第二线程间消息,发起局部地传播冲量,该第二线程间消息包括与冲量关联的大小和方向,且其中,局部地传播冲量包括确定是否仍然有剩余的力要被传播到额外的物体,从而只有当仍然有剩余的力时,该冲量才被传播到额外的物体。8.如权利要求7所述的方法,还包括确定反作用力,并发送具有所确定的反作用力的线程间消息,作为对所述第二线程间消息的应答。9.如权利要求8所述的方法,还包括:在所述第一线程中,接收来自所述第二线程的第三线程间消息作为对第一线程间消息的应答,该第三线程间消息包含第二反作用力,其中,对第一反作用力的确定至少部分基于该第二反作用力。10.如权利要 求2所述的方法,还包括为所述第一物体确定场景中与该第一物体接触的一组相邻物体,并生成标识这组相邻物体的相邻物体数据结构,其中,所述第一线程被配置为访问该相邻物体数据结构,来确定冲量应该被传播到多个物体中的哪些物体。11.如权利要求2所述的方法,其中,所述多个线程包括多个冲量传播线程,且其中,多线程物理引擎包括至少一个碰撞检测线程,该方法还包括响应于检测...
【专利技术属性】
技术研发人员:E·O·梅德里希,P·E·沙尔特,R·A·希勒,M·R·塔布斯,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。