CN104067318A - 使用三维光栅化的时间连续碰撞检测 - Google Patents
使用三维光栅化的时间连续碰撞检测 Download PDFInfo
- Publication number
- CN104067318A CN104067318A CN201380005944.1A CN201380005944A CN104067318A CN 104067318 A CN104067318 A CN 104067318A CN 201380005944 A CN201380005944 A CN 201380005944A CN 104067318 A CN104067318 A CN 104067318A
- Authority
- CN
- China
- Prior art keywords
- pixel
- bounding box
- triangle
- devices
- described processor
- 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.)
- Granted
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/10—Geometric effects
-
- 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
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/12—Bounding box
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/21—Collision detection, intersection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
我们提出了利用运动模糊(三维)光栅化程序以增强PCS遴选技术,以便它能够被用于连续碰撞检测的技术,据我们所知,该技术以前并没有被应用于使用图形处理器的运动模糊。
Description
技术领域
本文涉及图形处理领域。
背景技术
碰撞检测(CD)被用于游戏和其他应用中以处理对象之间的交互。CD算法大致可以分为离散和连续的方法。离散方法只能检测两个对象在具体(离散)的时间点是否发生碰撞。落在这样的离散时间之间的事件不能被检测到,这在某些情况下可能是严重的限制。例如如果在一个时间检查点(帧),朝着墙壁快速移动的对象(例如,球)处于墙壁的前方,而在下一个时间点处于墙壁后方,那么该对象可能会经历“隧道”效果。连续CD(CCD)算法另一方面通过替代计算两个对象之间第一次接触的时间避免了这些问题。这对真实的动画是至关重要的,但是在必要的计算量方面也开销更大。
检测碰撞的蛮力技术考虑场景中所有移动的三角形,并且将它们与其他所有的三角形进行比较。在所有成对的三角形之间执行计算上相对开销更大的三角形-三角形相交测试。对许多对象,这种技术变得棘手。因此,采取不同的方法来遴选,凭借此(最好是大批的)三角形在早期阶段就被保守地排除在测试之外。例如,刚体对象永远不能与它自己碰撞,并且它的三角形可以因此被排除在针对该对象中的任何其他三角形的测试之外。同时,如果一个静态对象的边界框不与另一个静态对象的边界框重叠,那么这两个对象不需要进一步的碰撞检测,因为它们显然不会发生碰撞。
另一个这样的遴选技术,N.K.Govindaraju,S.Redon,M.C.Lin和D.Manocha,“CULLIDE:Interactive Collision Detection between ComplexModels in Large Environments using Graphics Hardware(使用图形硬件在大型环境中的复杂模型之间的交互碰撞检测)”,Graphics Hardware,25-32页,2003,利用遮挡查询(OQ)来创建场景中的对象之间的排序。总之,如果不能保守地确认一对对象不会在离散的时间点发生碰撞,则这对对象属于潜在碰撞集(PCS)。对于每帧,通过对所有对象的所有轴(x、y、以及z)以及方向(正、负)反复执行OQ来创建PCS。在此过程中,由于检测到对象不发生碰撞,因此将所述对象从PCS删除。详细的三角形-三角形相交测试只需在PCS中的对象之间执行。
然而,基本PCS遴选技术重要的缺点是它只能处理离散检测,也就是说,如果对象正过于快速地移动,该技术在一定的时间内可能潜在地不能检测到碰撞。
附图说明
相对于下面的附图描述了一些实施例:
图1是根据一个实施例的在两个维度x和z上的连续碰撞检测的描述;
图2是根据一个实施例的在由许多三角形组成的对象之间的单个像素中的碰撞检测的图示;
图3是用于在两个对象之间测试重叠的一个实施例的流程图;
图4是另一个实施例的流程图;
图5是一个实施例的系统描述;以及
图6是一个实施例的正视图。
具体实施方式
我们呈现了利用运动模糊三维(3D)光栅化程序以增强PCS遴选技术,以便它能够被用于连续碰撞检测的技术。我们已选择涉及Govindaraju等人的工作来描述我们的方法。然而,将我们的工作延伸到大多数现有的基于图形处理单元(GPU)的CD方法应当是很简单的。
我们建议使用三维(3D)光栅化程序的保守的时间和深度的间隔输出,Munkberg等人,Hierarchical Stochastic Motion Blur Rasterization(分层随机运动模糊光栅化),High Performance Graphics,2011,来构造处理连续碰撞检测的PCS。
为了检测在某一瞬间两个对象是否不(保守地)发生碰撞,第一对象被渲染至深度缓冲区。在第二遍中,深度测试被反转,并且使用遮挡查询渲染第二对象。如果没有片段通过,那么在两个对象之间就没有机会发生碰撞。我们称此为重叠测试。
这在xy、xz、以及yz平面,并且还从相反方向正交地完成。总之,这共计六个重叠测试。如果至少有一个这样的测试表明并不存在碰撞,则这对对象不属于PCS。如果运动被引入到场景,则扩展到处理运动模糊的OQ可以代替“静态”OQ。
然而,注意到不计算保守正确的PCS,因为那个类型的OQ是基于在像素样本的离散时间进行采样。检测球体是否与固体墙壁碰撞的概率增大,但是没有保证。此外,可以增加每像素的样本数以进一步增加概率,但是这将变得开销过大,并且仍然不能解决这个问题。
作为替代,在一些实施例中,我们提出了实质上不同的方法。因为我们想要在时间上解决碰撞,我们注意到可以对这个问题使用三维光栅化程序。我们使用每个像素一个样本,大小为1×1像素的图块,并且只有那些具有非空三角形/像素时间重叠间隔的像素会存活并且向下游传送到像素着色器。因此,我们在时间和空间上都使用了保守的随机光栅化程序。
在图1中这里用在两个维度上的两条移动的线示出了CCD的基本方法。线10和12从t=0移动到t=1。对于像素A和B,时间t以及深度z的保守边界在右侧被可视化。如可以看到的,这两条线在像素A中永远不会重叠,因为tz-平面中的线10和12的边界框不会重叠。对于像素B,在tz-平面中的两条线的边界框表明该三角形可能重叠,在这种情况下它们实际上也重叠。
有许多不同的方法来扩展碰撞检测技术以处理每个对象的多个三角形。此处我们描述了两个这样的方法。对第一对象,我们只是初始化每个像素的RGBA以包含空的边界框。对于每个被光栅化为像素的三角形,像素的边界框被延伸,因此它代表了RGBA缓冲区中的框以及到来的片段的框的结合。对第二对象,生成类似的缓冲区。当两个缓冲区都已经被创建时,具有相同xy-坐标的像素执行简单的框与框的重叠测试。如果某个像素的框不重叠,在那个像素中就不会发生碰撞。这在图2中的左侧示出了对于框不重叠的情形。
图2是在由多个三角形组成的具有tz-片段20的对象与具有片段22的对象之间的单个像素中的碰撞检测的图示。在图2中的左侧,对象的所有tz-片段20、22的结合体的边界框被积累,并且用于重叠测试。在图2中的右侧,可替代的选择是积累第一对象20的结合体以生成边界框,并且然后在对象22的光栅化期间,tz-片段针对红色片段的边界框被单独地测试重叠。在这个示例中,后一种方法更加有效,因为它不会检测到这个像素的任何重叠。
图3和4是可以在硬件、软件、和/或固件中被实现的序列。在软件和固件实施例中,这些序列可以通过存储在一个或多个计算机可读介质(例如光、磁、或半导体存储)中的计算机执行的指令来实现。
我们通过为第一对象渲染三角形开始,如图3中的方框30处所显示的,涵盖了如在图2中的左侧所表明的框重叠的情况。如方框32所显示的,对每个像素和三角形,z-t边界框被积累为z-t中的单个边界框。然后为第二对象渲染三角形(方框34)。下一步每个像素和三角形的z-t边界框被积累进入到另一个缓冲区至z-t中的单个边界框。最后在缓冲区中的所有像素被循环遍历然后进行重叠检查。如果在方框38发现任何重叠,该循环被终止。对于每个像素和三角形,其中1×1图块测试表明重叠,我们在每像素缓冲区中插入时间间隔t=[tmin,tmax]以及深度间隔z=[zmin,zmax](方框36)。例如,我们可以让RGBA=[tmin,zmin,tmax,zmax],它可以被解释为tz-片段或tz中的轴对齐边界框。这在图1中的右侧被示出。注意这种方法不使用传统意义上的遮挡查询。
依照在图4中显示的另一种方法(对应于在图2中的右侧显示的替代选择),如在方框40中表明的,为第一对象渲染三角形。然后如在方框42中表明的,对每个像素和三角形,z-t边界框被积累到z-t中的单个边界框。如在方框44中表明的,下一步第二对象的三角形被渲染。在菱形46处的检查判定是否有另一个被渲染的三角形。如果有,则如在方框48中表明的,为每个像素创建z-t边界框。然后如在方框50中表明的,流程直接在这个像素的边界框和第一对象缓冲区的同样的像素坐标的边界框之间检查重叠。如果在方框52处发现任何重叠,则整个流程被终止。流程继续迭代回到菱形46,直到所有经过渲染的三角形都已经被处理。
图5示出了系统700的实施例。在实施例中,系统700可以是媒体系统,但是系统700不限于此。例如,系统700可以被合并在个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能电话、智能平板、或智能电视机)、移动因特网设备(MID)、消息收发设备、数据通信设备等等中。
在实施例中,系统700包括耦合到显示器720的平台702。平台702可以接收来自内容设备的内容,例如内容服务设备730或内容传递设备740或其他类似的内容源。包括一个或多个导航特征的导航控制器750可以被用来与例如平台702和/或显示器720交互。下文将更详细地描述这些组件中的每一个。
在实施例中,平台702可以包括芯片组705、处理器710、存储器712、存储714、图形子系统715、应用716、全球定位系统(GPS)721、相机723和/或无线电装置718的任何组合。芯片组705可以在处理器710、存储器712、存储714、图形子系统715、应用716和/或无线电装置718之间提供相互通信。例如,芯片组705可以包括能够提供与存储714的相互通信的存储适配器(未示出)。
此外,平台702还可以包括操作系统770。处理器的接口772可以接合操作系统和处理器710。
可以提供固件790以实现例如引导序列的功能。可以提供更新模块,该更新模块使固件从平台702之外被更新。例如,更新模块可以包括代码,该代码用于判定更新尝试是否可信并识别固件790的最近更新以促进判定何时需要更新。
在一些实施例中,平台702可以由外部电源供电。在一些情形下,平台702也可以包括内部电池780,该内部电池708在不适用外部电源的实施例中或在允许要么是电池电源要么是外部电源的实施例中充当电源。
图3和4所示的序列可以通过将这些序列合并到存储设备714或处理器710或图形子系统715内的存储器内而以软件和固件实施例实现,这里仅给出一些例子。在一个实施例中,图形子系统715可以包括图形处理单元,而处理器710可以是中央处理单元。
处理器710可以被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核或任何其它微处理器或中央处理单元(CPU)。在实施例中,处理器710可以包括双核处理器、双核移动处理器等等。
存储器712可以被实现为易失性存储器设备,例如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、或静态RAM(SRAM)。
存储设备714可以被实现为非易失性存储设备,例如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附属存储设备、闪存、有备用电池的SDRAM(同步DRAM)、和/或网络可访问存储设备。在实施例中,例如在包含多个硬盘驱动器时,存储设备714可以包括用于提高对有价值数字媒体的存储性能增强的保护的技术。
图形子系统715可以执行例如静止或视频之类的图像处理以供显示。图形子系统715可以是例如图像处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以用于通信地耦合图形子系统715和显示器720。例如,接口可以是高清多媒体接口(HDMI)、显示端口、无线HDMI、和/或无线HD兼容技术中的任何一种。图形子系统715可以被集成至处理器710或芯片组705。图形子系统715可以是与芯片组705通信地耦合的独立卡。
本文描述的图形和/或视频处理技术可以在各种硬件架构中实现。例如,图形和/或视频功能可以集成在芯片组内。或者,可以使用离散的图形和/或视频处理器。如又一实施例,可以由包括多核处理器的通用处理器实现图形和/或视频功能。在另一个实施例中,可以在消费者电子设备中实现这些功能。
无线电装置718可以包括能够使用各合适的无线通信技术来传输和接收信号的一个或多个无线电装置。这样的技术可以涉及跨一个或多个无线网络的通信。示例性无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络、以及卫星网络。在跨越这些网络进行通信时,无线电装置718可以根据一个或多个任何版本的适用的标准来操作。
在实施例中,显示器720可以包括任何电视机类监视器或显示器。显示器720可以包括例如计算机显示屏、触摸屏显示器、视频监视器、类似电视机的设备、和/或电视机。显示器720可以是数字和/或模拟的。在实施例中,显示器720可以是全息显示器。而且,显示器720可以是可以接收视觉投影的透明表面。这样的投影可传达各种形式的信息、图像、和/或对象。例如,这样的投影可以是移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用716的控制下,平台702可以在显示器720上显示用户界面722。
在实施例中,内容服务设备730可以以任何国内、国际、和/或独立的服务作为主机,并且因此例如可经由因特网对平台702进行访问。内容服务设备730可以耦合到平台702和/或显示器720。平台702和/或内容服务设备730可以耦合到网络760,以将媒体信息传输到和传输自网络760(例如,发送和/或接收)。内容传递设备740也可以耦合到平台702和/或显示器720。
在实施例中,内容服务设备730可以包括有线电视盒、个人计算机、网络、电话、能够传递数字信息和/或内容的因特网启用设备或装置、以及能够经由网络760或直接地在内容提供者和平台702和/或显示器720之间单向或双向传输内容的任何其他相似设备。应当理解的是,内容可经由网络760单向和/或双向地传输到和传输自系统700中的各组件中的任一个和内容提供者。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等等。
内容服务设备730接收内容,例如包括媒体信息、数字信息、和/或其他内容的有线电视节目安排。内容提供者的示例可以包括任何有线或卫星电视或无线电或因特网内容提供者。所提供的示例不旨在限制本发明的实施例。
在实施例中,平台702可以从具有一个或多个导航特征的导航控制器750接收控制信号。例如,控制器750的导航特征可以被用来与用户界面722进行交互。在实施例中,导航控制器750可以是指向设备,其可以是允许用户向计算机输入空间(例如,连续和多维)数据的计算机硬件组件(具体而言,人机接口设备)。许多系统,如图形用户界面(GUI)以及电视机和监视器,允许用户使用身体姿势来控制计算机或电视机并向计算机或电视机提供数据。
控制器750的导航特征的移动可以通过显示在显示器(例如显示器720)上的指针、光标、焦点环、或其他视觉指示符来在该显示器上反应。例如,在软件应用716的控制下,位于导航控制器750上的导航特征可以被映射到例如用户界面722上显示的虚拟导航特征。在实施例中,控制器750可以不是单独组件,而是集成到平台702和/或显示器720上。然而,实施例并不限于这些元件或在本文中示出或描述的背景中。
在实施例中,例如,驱动器(未示出)可以包括例如在启用时可以使用户能在初始启动后触摸按钮而将如电视机的平台702立即开启和关闭的技术。在平台被“关闭”时,程序逻辑可以允许平台702将内容流到媒体适配器或其他内容服务设备730或内容传递设备740。另外,例如,芯片组705可以包括用于5.1环绕声音频和/或高清晰度7.1环绕声音频的硬件和/或软件支持。驱动器可以包括用于集成图形平台的图形驱动器。在实施例中,图形驱动器可以包括外设部件互连(PCI)高速图形卡。
在各种实施例中,可以集成系统700中示出的组件中的任何一个或多个。例如,平台702和内容服务设备730可以被集成,或者平台702和内容传递设备740可以被集成,或者例如平台702、内容服务设备730、以及内容传递设备740可以被集成。在各种实施例中,平台702和显示器720可以是集成单元。例如,显示器720和内容服务设备730可以被集成,或者显示器720和内容传递设备740可以被集成。这些示例不旨在限制本发明。
在各种实施例中,系统700可以被实现为无线系统、有线系统、或两者的结合。当被实现为无线系统时,系统700可以包括适于在无线共享介质上通信的组件和接口,例如一个或多个天线、发射器、接收器、收发器、放大器、过滤器、控制逻辑等。无线共享介质的示例可以包括无线谱的一些部分,例如RF谱等。当被实现为有线系统时,系统700可以包括适于在有线通信介质上通信的组件和接口,例如输入/输出(I/O)适配器、将I/O适配器与相应的有线通信介质连接的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等。有线通信介质的示例可以包括导线、电缆、金属引线、印刷电路板(PCB)、背板、交换结构、半导体材料、双绞线、同轴电缆、光纤等。
平台702可以建立一个或多个逻辑的或物理的通道以传输信息。信息可以包括媒体信息和控制信息。媒体信息可以指代代表对用户有意义的内容的任何数据。例如,内容的示例可以包括来自语音会话、视频会议、流视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。例如,来自语音会话的数据可以是讲话信息、静声周期、背景噪声、舒适噪声、音调等。控制信息可以指代代表对自动系统有意义的命令、指令、或控制字的任何数据。例如,控制信息可用于引导媒体信息贯穿系统,或者指示节点以预定方式处理媒体信息。然而,实施例并不限于这些元件或在图4中示出或描述的背景。
如上所述,系统700可以用不同的物理样式或形状因子来体现。图5示出了其中可实现系统700的小形状因子设备800的实施例。例如,在实施例中,设备800可以被实现为具有无线能力的移动计算设备。例如,移动计算设备可以指代具有处理系统和例如一个或多个电池的移动电力来源或电源的任何设备。
如上所述,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能电话、智能平板、或智能电视机)、移动因特网设备(MID)、消息收发设备、数据通信设备等等。
移动计算设备的示例还可以包括被安排成由人来穿戴的计算机,如腕佩计算机、指戴计算机、指环计算机、眼镜计算机、带扣计算机、臂带计算机、鞋佩计算机、衣佩计算机、以及其他可穿戴计算机。例如,在实施例中,移动计算设备可以被实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。尽管以示例的方式用被实现为智能电话的移动计算设备对一些实施例进行描述,但是可以认识到,也可以使用其它无线移动计算设备实现其它的实施例。实施例不限于该背景。
如图6所示,设备800可以包括外壳802、显示器804、输入/输出(I/O)设备806、以及天线808。设备800还可以包括导航特征812。显示器804可以包括用于显示适于移动计算设备的信息的任何合适的显示单元。I/O设备806可以包括用于将信息输入到移动计算设备中的任何合适的I/O设备。I/O设备806的示例可以包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、摇臂开关、麦克风、扬声器、语音识别设备和软件等。也可以通过麦克风的方式将信息输入到设备800中。这些信息可以由语音识别设备数字化。实施例不限于该背景。
可以使用硬件元件、软件元件、或两者的组合来实现各种实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微型芯片、芯片组等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任意组合。判定是否使用硬件元件和/或软件元件实现实施例可以根据任意数量的因素而变化,例如期望计算速率、功率级别、热容限、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度、以及其它设计或性能约束。
至少一个实施例的一个或多个方面可以由存储在机器可读介质上的代表性指令来实现,该指令代表处理器中的各种逻辑,其在被机器读取时促使该机器构建执行本文描述的技术的逻辑。被称为“IP核”的这些代表可以被存储在有形的机器可读介质上,并被提供给多个客户或生产设施以加载到实际制造该逻辑或处理器的构建机器中。
可以使用硬件元件、软件元件、或两者的组合来实现各种实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微型芯片、芯片组等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任意组合。判定是否使用硬件元件和/或软件元件实现实施例可以根据任意数量的因素而变化,例如期望计算速率、功率级别、热容限、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度、以及其它设计或性能约束。
至少一个实施例的一个或多个方面可以由存储在机器可读介质上的代表性指令来实现,该指令代表处理器中的各种逻辑,其在被机器读取时促使该机器构建执行本文描述的技术的逻辑。被称为“IP核”的这些代表可以被存储在有形的机器可读介质上,并被提供给各种客户或生产设施以加载到实际制造该逻辑或处理器的构建机器中。
本文中所描述的图形处理技术可用各种硬件架构来实现。例如,图形功能可集成在芯片组内。或者,可以使用离散的图形处理器。作为又一实施例,图形功能可以由通用处理器(包括多核处理器)来实现。
下面的条文和/或示例涉及进一步的实施例:
一个示例实施例可以是一种方法:为第一对象渲染三角形;对每个像素将深度(z)-时间(t)边界框积累到z-t空间中的单个边界框;为第二对象渲染三角形;判定图块测试是否表明重叠;并且如果发现重叠则终止。该方法还可以包括使用时间(t)深度(z)-片段。该方法还可以包括在时间和深度中使用轴对齐的边界框。该方法还可以包括扩展碰撞检测以处理每个对象的多个三角形。该方法还可以包括初始化每个像素的RGBA以包含空边界框。该方法还可以包括使用三维光栅化程序解决碰撞。该方法可以包括使用每个像素一个样本。该方法还可以包括使用大小为1x1像素的图块。该方法还可以包括只将具有非空三角形/像素时间重叠间隔的像素发送至像素着色器。该方法还可以包括在为第二对象渲染三角形之后,对每个像素和三角形再次将z-t边界框积累到z-t空间中的单个边界框。该方法还可以包括在为第二对象渲染三角形之后对每个像素创建z-t边界框;在该像素的边界框和第一对象的缓冲区的相同的像素坐标的边界框之间检查重叠。
至少一种包括多条指令的机器可读介质,响应于在计算设备上被执行,所述指令促使该计算设备执行在本段落中陈述的任何方法。
另一个示例实施例可以是一种装置,包括:处理器,用于为第一对象渲染三角形,对每个像素将深度(z)-时间(t)边界框积累到z-t空间中的单个边界框,为第二对象渲染三角形,判定图块测试是否表明重叠,以及如果发现重叠则终止;以及耦合到所述处理器的存储器。该装置可以包括:操作系统、电池、以及更新所述固件的模块。该装置还可以包括使用时间(t)深度(z)-片段的处理器。该装置还可以包括在时间和深度中使用轴对齐的边界框的处理器。该装置还可以包括扩展碰撞检测以处理每个对象的多个三角形的所述处理器。该装置还可以包括初始化每个像素的RGBA以包含空边界框的所述处理器。该装置还可以包括使用三维光栅化程序解决碰撞的所述处理器。该装置还可以包括使用每个像素一个样本的所述处理器。该装置还可以包括使用大小为1x1像素的图块的所述处理器。该装置还可以包括只将具有非空三角形/像素时间重叠间隔的像素发送至像素着色器的所述处理器。该装置还可以包括在为第二对象渲染三角形之后对每个像素和三角形再次将z-t边界框积累到z-t空间中的单个边界框的所述处理器。
贯穿本说明书引述的“一个实施例”或“实施例”意指结合该实施例描述的特定特征、结构、或特性被包含在本发明内所涵盖的至少一个实现中。由此,短语“一个实施例”或“实施例”的出现不一定指代同一实施例。此外,所述特定特征、结构、或特性可以被设立成除了所示出的特定实施例以外的其他合适形式,且所有此类形式可以被涵盖在本申请的权利要求内。
尽管本发明已针对有限数量的实施例作了描述,然而本领域技术人员将会从其中领会到许多修改和变型。所附权利要求旨在覆盖所有这样的修改和变型,视为落在本发明的真实精神和范围内。
Claims (25)
1.一种方法,包括:
为第一对象渲染三角形;
对每个像素将深度(z)-时间(t)边界框积累到z-t空间中的单个边界框;
为第二对象渲染三角形;
判定图块测试是否表明重叠;以及
如果发现重叠则终止。
2.如权利要求1所述的方法,包括使用时间(t)深度(z)-片段。
3.如权利要求1所述的方法,包括在时间和深度中使用轴对齐的边界框。
4.如权利要求1所述的方法,包括扩展碰撞检测以处理每个对象的多个三角形。
5.如权利要求4所述的方法,包括初始化每个像素的RGBA以包含空边界框。
6.如权利要求1所述的方法,包括使用三维光栅化程序解决碰撞。
7.如权利要求6所述的方法,包括使用每个像素一个样本。
8.如权利要求7所述的方法,包括使用大小为1x1像素的图块。
9.如权利要求6所述的方法,包括只将具有非空三角形/像素时间重叠间隔的像素发送至像素着色器。
10.如权利要求1所述的方法,包括:在为所述第二对象渲染三角形之后,对每个像素和三角形再次将z-t边界框积累到z-t空间中的单个边界框。
11.如权利要求1所述的方法,包括:在为所述第二对象渲染三角形之后,对每个像素创建z-t边界框,以及在所述像素的边界框和所述第一对象的缓冲区的相同的像素坐标的边界框之间检查重叠。
12.至少一种包括多条指令的机器可读介质,响应于在计算设备上被执行,所述指令促使所述计算设备执行根据权利要求1-11的任一项所述的方法。
13.一种装置,包括:
处理器,用于为第一对象渲染三角形,对每个像素将深度(z)-时间(t)边界框积累到z-t空间中的单个边界框,为第二对象渲染三角形,判定图块测试是否表明重叠,以及如果发现重叠则终止;以及
耦合到所述处理器的存储器。
14.如权利要求13所述的装置,包括操作系统。
15.如权利要求13所述的装置,包括电池。
16.如权利要求13所述的装置,包括固件和更新所述固件的模块。
17.如权利要求13所述的装置,所述处理器使用时间(t)深度(z)-片段。
18.如权利要求13所述的装置,所述处理器在时间和深度中使用轴对齐的边界框。
19.如权利要求13所述的装置,所述处理器扩展碰撞检测以处理每个对象的多个三角形。
20.如权利要求13所述的装置,所述处理器初始化每个像素的RGBA以包含空边界框。
21.如权利要求13所述的装置,所述处理器使用三维光栅化程序解决碰撞。
22.如权利要求13所述的装置,所述处理器使用每个像素一个样本。
23.如权利要求13所述的装置,所述处理器使用大小为1x1像素的图块。
24.如权利要求13所述的装置,所述处理器只将具有非空三角形/像素时间重叠间隔的像素发送至像素着色器。
25.如权利要求13所述的装置,所述处理器在为所述第二对象渲染三角形之后对每个像素和三角形再次将z-t边界框积累到z-t空间中的单个边界框。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261586920P | 2012-01-16 | 2012-01-16 | |
US61/586,920 | 2012-01-16 | ||
US13/529,190 | 2012-06-21 | ||
US13/529,190 US9196083B2 (en) | 2012-01-16 | 2012-06-21 | Time-continuous collision detection using 3D rasterization |
PCT/US2013/021702 WO2013109602A1 (en) | 2012-01-16 | 2013-01-16 | Time-continuous collision detection using 3d rasterization |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104067318A true CN104067318A (zh) | 2014-09-24 |
CN104067318B CN104067318B (zh) | 2017-11-07 |
Family
ID=48779644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380005944.1A Expired - Fee Related CN104067318B (zh) | 2012-01-16 | 2013-01-16 | 使用三维光栅化的时间连续碰撞检测 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9196083B2 (zh) |
CN (1) | CN104067318B (zh) |
WO (1) | WO2013109602A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104637086A (zh) * | 2015-02-13 | 2015-05-20 | 华东师范大学 | 基于文森特定理的高效连续碰撞检测方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6069923B2 (ja) * | 2012-07-20 | 2017-02-01 | セイコーエプソン株式会社 | ロボットシステム、ロボット、ロボット制御装置 |
CN104615893B (zh) * | 2015-02-13 | 2017-12-26 | 华东师范大学 | 基于泰勒模型的提高连续碰撞检测效率的方法 |
CN104637087B (zh) * | 2015-02-13 | 2017-12-15 | 华东师范大学 | 一种提高连续碰撞检测效率的方法 |
EP3185152B1 (en) * | 2015-12-22 | 2022-02-09 | Dassault Systèmes | Distributed clash and snapping |
US10636110B2 (en) * | 2016-06-28 | 2020-04-28 | Intel Corporation | Architecture for interleaved rasterization and pixel shading for virtual reality and multi-view systems |
CN111921202B (zh) * | 2020-09-16 | 2021-01-08 | 成都完美天智游科技有限公司 | 虚拟场景的数据处理方法、装置、设备及可读存储介质 |
CN113077548B (zh) * | 2021-04-26 | 2024-01-05 | 北京百度网讯科技有限公司 | 针对物体的碰撞检测方法、装置、设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6583787B1 (en) * | 2000-02-28 | 2003-06-24 | Mitsubishi Electric Research Laboratories, Inc. | Rendering pipeline for surface elements |
CN102301401A (zh) * | 2009-01-29 | 2011-12-28 | 微软公司 | 单通道边框计算 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6480205B1 (en) * | 1998-07-22 | 2002-11-12 | Nvidia Corporation | Method and apparatus for occlusion culling in graphics systems |
US20030117398A1 (en) * | 2001-12-21 | 2003-06-26 | Hubrecht Alain Yves Nestor | Systems and methods for rendering frames of complex virtual environments |
JP4444725B2 (ja) | 2004-04-26 | 2010-03-31 | 独立行政法人科学技術振興機構 | 衝突検出方法及び衝突検出システム |
US8089486B2 (en) * | 2005-03-21 | 2012-01-03 | Qualcomm Incorporated | Tiled prefetched and cached depth buffer |
US7928993B2 (en) | 2006-07-28 | 2011-04-19 | Intel Corporation | Real-time multi-resolution 3D collision detection using cube-maps |
KR100888475B1 (ko) | 2007-02-02 | 2009-03-12 | 삼성전자주식회사 | 모델간 충돌 여부 검사 방법 및 장치 |
KR101084980B1 (ko) | 2009-12-17 | 2011-11-21 | 이화여자대학교 산학협력단 | 상호충돌검사 기반 병렬충돌검사 방법 및 컴퓨터 판독가능 매체 |
KR20120065589A (ko) * | 2010-12-13 | 2012-06-21 | 삼성전자주식회사 | 저전력을 위한 타일 비닝 장치 및 방법 |
US9147270B1 (en) * | 2011-06-24 | 2015-09-29 | Nvidia Corporation | Bounding plane-based techniques for improved sample test efficiency in image rendering |
-
2012
- 2012-06-21 US US13/529,190 patent/US9196083B2/en active Active
-
2013
- 2013-01-16 CN CN201380005944.1A patent/CN104067318B/zh not_active Expired - Fee Related
- 2013-01-16 WO PCT/US2013/021702 patent/WO2013109602A1/en active Application Filing
-
2015
- 2015-11-03 US US14/931,198 patent/US9443347B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6583787B1 (en) * | 2000-02-28 | 2003-06-24 | Mitsubishi Electric Research Laboratories, Inc. | Rendering pipeline for surface elements |
CN102301401A (zh) * | 2009-01-29 | 2011-12-28 | 微软公司 | 单通道边框计算 |
Non-Patent Citations (3)
Title |
---|
KAYVON FATAHALIAN, ET AL.: "Data-Parallel Rasterization of Micropolygons with Defocus and Motion Blur", 《THE ASSOCIATION FOR COMPUTING MACHINERY》, 3 August 2009 (2009-08-03) * |
STEPHANE REDON ET AL.: "Fast Continuous Collision Detection between Rigid Bodies", 《THE EUROGRAPHICS ASSOCIATION AND BLACKWELL PUBLISHERS》 * |
TOMAS AKENINE-MOLLER ET AL.: "Stochastic Rasterization using Time-Continuous Triangles", 《PROCEEDINGS OF THE 22ND ACM SIGGRAPH/EUROGRAPHICS SYMPOSIUM ON GRAPHICS HARDWARE》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104637086A (zh) * | 2015-02-13 | 2015-05-20 | 华东师范大学 | 基于文森特定理的高效连续碰撞检测方法 |
Also Published As
Publication number | Publication date |
---|---|
US9196083B2 (en) | 2015-11-24 |
US9443347B2 (en) | 2016-09-13 |
CN104067318B (zh) | 2017-11-07 |
US20130181992A1 (en) | 2013-07-18 |
US20160055666A1 (en) | 2016-02-25 |
WO2013109602A1 (en) | 2013-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104067318A (zh) | 使用三维光栅化的时间连续碰撞检测 | |
US11393154B2 (en) | Hair rendering method, device, electronic apparatus, and storage medium | |
CN104952033B (zh) | 分布式图形处理器分级中的系统一致性 | |
CN112933599B (zh) | 三维模型渲染方法、装置、设备及存储介质 | |
CN104756150B (zh) | 深度缓冲 | |
CN104025031B (zh) | 减少应用中对共享存储器单元执行的顺序操作的数量 | |
CN110473293B (zh) | 虚拟对象处理方法及装置、存储介质和电子设备 | |
CN103999032A (zh) | 显示元素中所包括的感兴趣的区域的兴趣度分数 | |
CN105321142B (zh) | 经由计算流水线进行的采样、错误管理和/或上下文切换 | |
CN104012059B (zh) | 协处理器之间的直接链路同步通信 | |
CN104737198B (zh) | 在输入几何对象粒度上记录可见度测试的结果 | |
CN104951358A (zh) | 基于优先级的上下文抢占 | |
CN103959340A (zh) | 用于自动立体三维显示器的图形呈现技术 | |
CN103927223B (zh) | 用于对图形资源的串行化访问的方法、系统、装置、设备以及存储介质 | |
CN104035540A (zh) | 在图形渲染期间降低功耗 | |
CN104040589A (zh) | 使用随机光栅化生成随机采样分布 | |
CN104054049B (zh) | 用于复制源数据从而实现对源数据的并行处理的方法和系统 | |
CN104335249A (zh) | 分析结构化光模式 | |
CN104050627B (zh) | 线程机制的条件结束 | |
CN104025035B (zh) | 当执行迭代处理连续数据的程序时减少对存储器io请求的数量 | |
US20140176440A1 (en) | Apparatus and system for implementing a wireless mouse using a hand-held device | |
CN104040501A (zh) | 显示控制器中断寄存器 | |
CN104025037A (zh) | 在不将数据复制到单独的储存的情况下交换指针来处理被数据源存储在缓冲器中的数据 | |
CN104050230B (zh) | 使用simd指令集架构查找大数据集中最小和最大值的快速方法 | |
CN104011789A (zh) | 减少用于在屏幕上显示多个图像的显示控制器中使用的缩放引擎的数量 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171107 Termination date: 20220116 |
|
CF01 | Termination of patent right due to non-payment of annual fee |