使用三维光栅化的时间连续碰撞检测的制作方法

文档序号:6532720阅读:217来源:国知局
使用三维光栅化的时间连续碰撞检测的制作方法
【专利摘要】我们提出了利用运动模糊(三维)光栅化程序以增强PCS遴选技术,以便它能够被用于连续碰撞检测的技术,据我们所知,该技术以前并没有被应用于使用图形处理器的运动模糊。
【专利说明】使用三维光栅化的时间连续碰撞检测

【技术领域】
[0001] 本文涉及图形处理领域。

【背景技术】
[0002] 碰撞检测(⑶)被用于游戏和其他应用中以处理对象之间的交互。⑶算法大致可 以分为离散和连续的方法。离散方法只能检测两个对象在具体(离散)的时间点是否发生 碰撞。落在这样的离散时间之间的事件不能被检测到,这在某些情况下可能是严重的限制。 例如如果在一个时间检查点(帧),朝着墙壁快速移动的对象(例如,球)处于墙壁的前方, 而在下一个时间点处于墙壁后方,那么该对象可能会经历"隧道"效果。连续CD(CCD)算法 另一方面通过替代计算两个对象之间第一次接触的时间避免了这些问题。这对真实的动画 是至关重要的,但是在必要的计算量方面也开销更大。
[0003] 检测碰撞的蛮力技术考虑场景中所有移动的三角形,并且将它们与其他所有的三 角形进行比较。在所有成对的三角形之间执行计算上相对开销更大的三角形-三角形相交 测试。对许多对象,这种技术变得棘手。因此,采取不同的方法来遴选,凭借此(最好是大批 的)三角形在早期阶段就被保守地排除在测试之外。例如,刚体对象永远不能与它自己碰 撞,并且它的三角形可以因此被排除在针对该对象中的任何其他三角形的测试之外。同时, 如果一个静态对象的边界框不与另一个静态对象的边界框重叠,那么这两个对象不需要进 一步的碰撞检测,因为它们显然不会发生碰撞。
[0004] 另一个这样的遴选技术,Ν· K. Govindaraju, S. Redon, M. C. Lin 和 D. Manocha, "CULLIDE :Interactive Collision Detection between Complex Models in Large Environments using Graphics Hardware (使用图形硬件在大型环境中的复杂模型之 间的交互碰撞检测)",Graphics Hardware, 25-32页,2003,利用遮挡查询(0Q)来创建场景 中的对象之间的排序。总之,如果不能保守地确认一对对象不会在离散的时间点发生碰撞, 则这对对象属于潜在碰撞集(PCS)。对于每帧,通过对所有对象的所有轴(x、y、以及z)以 及方向(正、负)反复执行0Q来创建PCS。在此过程中,由于检测到对象不发生碰撞,因此 将所述对象从PCS删除。详细的三角形-三角形相交测试只需在PCS中的对象之间执行。 [0005] 然而,基本PCS遴选技术重要的缺点是它只能处理离散检测,也就是说,如果对象 正过于快速地移动,该技术在一定的时间内可能潜在地不能检测到碰撞。

【专利附图】

【附图说明】
[0006] 相对于下面的附图描述了 一些实施例:
[0007] 图1是根据一个实施例的在两个维度X和z上的连续碰撞检测的描述;
[0008] 图2是根据一个实施例的在由许多三角形组成的对象之间的单个像素中的碰撞 检测的图示;
[0009] 图3是用于在两个对象之间测试重叠的一个实施例的流程图;
[0010] 图4是另一个实施例的流程图;
[0011] 图5是一个实施例的系统描述;以及
[0012] 图6是一个实施例的正视图。

【具体实施方式】
[0013] 我们呈现了利用运动模糊三维(3D)光栅化程序以增强PCS遴选技术,以便它能够 被用于连续碰撞检测的技术。我们已选择涉及Govindaraju等人的工作来描述我们的方 法。然而,将我们的工作延伸到大多数现有的基于图形处理单元(GPU)的CD方法应当是很 简单的。
[0014] 我们建议使用三维(3D)光栅化程序的保守的时间和深度的间隔输出,Munkberg 等人,Hierarchical Stochastic Motion Blur Rasterization (分层随机运动模糊光栅化), High Performance Graphics,2011,来构造处理连续碰撞检测的PCS。
[0015] 为了检测在某一瞬间两个对象是否不(保守地)发生碰撞,第一对象被渲染至深 度缓冲区。在第二遍中,深度测试被反转,并且使用遮挡查询渲染第二对象。如果没有片段 通过,那么在两个对象之间就没有机会发生碰撞。我们称此为重叠测试。
[0016] 这在xy、xz、以及yz平面,并且还从相反方向正交地完成。总之,这共计六个重叠 测试。如果至少有一个这样的测试表明并不存在碰撞,则这对对象不属于PCS。如果运动被 引入到场景,则扩展到处理运动模糊的0Q可以代替"静态" 0Q。
[0017] 然而,注意到不计算保守正确的PCS,因为那个类型的0Q是基于在像素样本的离 散时间进行采样。检测球体是否与固体墙壁碰撞的概率增大,但是没有保证。此外,可以增 加每像素的样本数以进一步增加概率,但是这将变得开销过大,并且仍然不能解决这个问 题。
[0018] 作为替代,在一些实施例中,我们提出了实质上不同的方法。因为我们想要在时间 上解决碰撞,我们注意到可以对这个问题使用三维光栅化程序。我们使用每个像素一个样 本,大小为1X 1像素的图块,并且只有那些具有非空三角形/像素时间重叠间隔的像素会 存活并且向下游传送到像素着色器。因此,我们在时间和空间上都使用了保守的随机光栅 化程序。
[0019] 在图1中这里用在两个维度上的两条移动的线示出了 C⑶的基本方法。线10和 12从t = 0移动到t = 1。对于像素 A和B,时间t以及深度z的保守边界在右侧被可视 化。如可以看到的,这两条线在像素 A中永远不会重叠,因为tz-平面中的线10和12的边 界框不会重叠。对于像素 B,在tz-平面中的两条线的边界框表明该三角形可能重叠,在这 种情况下它们实际上也重叠。
[0020] 有许多不同的方法来扩展碰撞检测技术以处理每个对象的多个三角形。此处我们 描述了两个这样的方法。对第一对象,我们只是初始化每个像素的RGBA以包含空的边界 框。对于每个被光栅化为像素的三角形,像素的边界框被延伸,因此它代表了 RGBA缓冲区 中的框以及到来的片段的框的结合。对第二对象,生成类似的缓冲区。当两个缓冲区都已 经被创建时,具有相同xy-坐标的像素执行简单的框与框的重叠测试。如果某个像素的框 不重叠,在那个像素中就不会发生碰撞。这在图2中的左侧示出了对于框不重叠的情形。
[0021] 图2是在由多个三角形组成的具有tz-片段20的对象与具有片段22的对象之间 的单个像素中的碰撞检测的图示。在图2中的左侧,对象的所有tz-片段20、22的结合体 的边界框被积累,并且用于重叠测试。在图2中的右侧,可替代的选择是积累第一对象20 的结合体以生成边界框,并且然后在对象22的光栅化期间,tz-片段针对红色片段的边界 框被单独地测试重叠。在这个示例中,后一种方法更加有效,因为它不会检测到这个像素的 任何重叠。
[0022] 图3和4是可以在硬件、软件、和/或固件中被实现的序列。在软件和固件实施例 中,这些序列可以通过存储在一个或多个计算机可读介质(例如光、磁、或半导体存储)中 的计算机执行的指令来实现。
[0023] 我们通过为第一对象渲染三角形开始,如图3中的方框30处所显示的,涵盖了如 在图2中的左侧所表明的框重叠的情况。如方框32所显示的,对每个像素和三角形,z-t边 界框被积累为z-t中的单个边界框。然后为第二对象渲染三角形(方框34)。下一步每个 像素和三角形的z-t边界框被积累进入到另一个缓冲区至z-t中的单个边界框。最后在缓 冲区中的所有像素被循环遍历然后进行重叠检查。如果在方框38发现任何重叠,该循环被 终止。对于每个像素和三角形,其中1X1图块测试表明重叠,我们在每像素缓冲区中插入 时间间隔t = [tmin, tmax]以及深度间隔z = [zmin, zmax](方框36)。例如,我们可以让 RGBA = [tmin, zmin, tmax, zmax],它可以被解释为tz-片段或tz中的轴对齐边界框。这在 图1中的右侧被示出。注意这种方法不使用传统意义上的遮挡查询。
[0024] 依照在图4中显示的另一种方法(对应于在图2中的右侧显示的替代选择),如 在方框40中表明的,为第一对象渲染三角形。然后如在方框42中表明的,对每个像素和三 角形,z-t边界框被积累到z-t中的单个边界框。如在方框44中表明的,下一步第二对象 的三角形被渲染。在菱形46处的检查判定是否有另一个被渲染的三角形。如果有,则如在 方框48中表明的,为每个像素创建z-t边界框。然后如在方框50中表明的,流程直接在这 个像素的边界框和第一对象缓冲区的同样的像素坐标的边界框之间检查重叠。如果在方框 52处发现任何重叠,则整个流程被终止。流程继续迭代回到菱形46,直到所有经过渲染的 三角形都已经被处理。
[0025] 图5示出了系统700的实施例。在实施例中,系统700可以是媒体系统,但是系统 700不限于此。例如,系统700可以被合并在个人计算机(PC)、膝上型计算机、超级膝上型 计算机、平板、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、 蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能电话、智能平板、或智能电视 机)、移动因特网设备(MID)、消息收发设备、数据通信设备等等中。
[0026] 在实施例中,系统700包括耦合到显示器720的平台702。平台702可以接收来 自内容设备的内容,例如内容服务设备730或内容传递设备740或其他类似的内容源。包 括一个或多个导航特征的导航控制器750可以被用来与例如平台702和/或显示器720交 互。下文将更详细地描述这些组件中的每一个。
[0027] 在实施例中,平台702可以包括芯片组705、处理器710、存储器712、存储714、图 形子系统715、应用716、全球定位系统(GPS) 721、相机723和/或无线电装置718的任何组 合。芯片组705可以在处理器710、存储器712、存储714、图形子系统715、应用716和/或 无线电装置718之间提供相互通信。例如,芯片组705可以包括能够提供与存储714的相 互通信的存储适配器(未示出)。
[0028] 此外,平台702还可以包括操作系统770。处理器的接口 772可以接合操作系统和 处理器710。
[0029] 可以提供固件790以实现例如引导序列的功能。可以提供更新模块,该更新模块 使固件从平台702之外被更新。例如,更新模块可以包括代码,该代码用于判定更新尝试是 否可信并识别固件790的最近更新以促进判定何时需要更新。
[0030] 在一些实施例中,平台702可以由外部电源供电。在一些情形下,平台702也可以 包括内部电池780,该内部电池708在不适用外部电源的实施例中或在允许要么是电池电 源要么是外部电源的实施例中充当电源。
[0031] 图3和4所示的序列可以通过将这些序列合并到存储设备714或处理器710或图 形子系统715内的存储器内而以软件和固件实施例实现,这里仅给出一些例子。在一个实 施例中,图形子系统715可以包括图形处理单元,而处理器710可以是中央处理单元。
[0032] 处理器710可以被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC) 处理器、x86指令集兼容处理器、多核或任何其它微处理器或中央处理单元(CPU)。在实施 例中,处理器710可以包括双核处理器、双核移动处理器等等。
[0033] 存储器712可以被实现为易失性存储器设备,例如但不限于随机存取存储器 (RAM)、动态随机存取存储器(DRAM)、或静态RAM (SRAM)。
[0034] 存储设备714可以被实现为非易失性存储设备,例如但不限于磁盘驱动器、光 盘驱动器、磁带驱动器、内部存储设备、附属存储设备、闪存、有备用电池的SDRAM(同步 DRAM)、和/或网络可访问存储设备。在实施例中,例如在包含多个硬盘驱动器时,存储设备 714可以包括用于提高对有价值数字媒体的存储性能增强的保护的技术。
[0035] 图形子系统715可以执行例如静止或视频之类的图像处理以供显示。图形子系统 715可以是例如图像处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以用于通 信地耦合图形子系统715和显示器720。例如,接口可以是高清多媒体接口(HDMI)、显示端 口、无线HDMI、和/或无线HD兼容技术中的任何一种。图形子系统715可以被集成至处理 器710或芯片组705。图形子系统715可以是与芯片组705通信地耦合的独立卡。
[0036] 本文描述的图形和/或视频处理技术可以在各种硬件架构中实现。例如,图形和/ 或视频功能可以集成在芯片组内。或者,可以使用离散的图形和/或视频处理器。如又一 实施例,可以由包括多核处理器的通用处理器实现图形和/或视频功能。在另一个实施例 中,可以在消费者电子设备中实现这些功能。
[0037] 无线电装置718可以包括能够使用各合适的无线通信技术来传输和接收信号的 一个或多个无线电装置。这样的技术可以涉及跨一个或多个无线网络的通信。示例性无线 网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网 络、以及卫星网络。在跨越这些网络进行通信时,无线电装置718可以根据一个或多个任何 版本的适用的标准来操作。
[0038] 在实施例中,显示器720可以包括任何电视机类监视器或显示器。显示器720可 以包括例如计算机显示屏、触摸屏显示器、视频监视器、类似电视机的设备、和/或电视机。 显示器720可以是数字和/或模拟的。在实施例中,显示器720可以是全息显示器。而且, 显示器720可以是可以接收视觉投影的透明表面。这样的投影可传达各种形式的信息、图 像、和/或对象。例如,这样的投影可以是移动增强现实(MAR)应用的视觉覆盖。在一个或 多个软件应用716的控制下,平台702可以在显示器720上显示用户界面722。
[0039] 在实施例中,内容服务设备730可以以任何国内、国际、和/或独立的服务作为主 机,并且因此例如可经由因特网对平台702进行访问。内容服务设备730可以耦合到平台 702和/或显示器720。平台702和/或内容服务设备730可以耦合到网络760,以将媒体 信息传输到和传输自网络760 (例如,发送和/或接收)。内容传递设备740也可以耦合到 平台702和/或显示器720。
[0040] 在实施例中,内容服务设备730可以包括有线电视盒、个人计算机、网络、电话、能 够传递数字信息和/或内容的因特网启用设备或装置、以及能够经由网络760或直接地在 内容提供者和平台702和/或显示器720之间单向或双向传输内容的任何其他相似设备。 应当理解的是,内容可经由网络760单向和/或双向地传输到和传输自系统700中的各组 件中的任一个和内容提供者。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医 疗和游戏信息等等。
[0041] 内容服务设备730接收内容,例如包括媒体信息、数字信息、和/或其他内容的有 线电视节目安排。内容提供者的示例可以包括任何有线或卫星电视或无线电或因特网内容 提供者。所提供的示例不旨在限制本发明的实施例。
[0042] 在实施例中,平台702可以从具有一个或多个导航特征的导航控制器750接收控 制信号。例如,控制器750的导航特征可以被用来与用户界面722进行交互。在实施例中, 导航控制器750可以是指向设备,其可以是允许用户向计算机输入空间(例如,连续和多 维)数据的计算机硬件组件(具体而言,人机接口设备)。许多系统,如图形用户界面(GUI) 以及电视机和监视器,允许用户使用身体姿势来控制计算机或电视机并向计算机或电视机 提供数据。
[0043] 控制器750的导航特征的移动可以通过显示在显示器(例如显示器720)上的指 针、光标、焦点环、或其他视觉指示符来在该显示器上反应。例如,在软件应用716的控制 下,位于导航控制器750上的导航特征可以被映射到例如用户界面722上显示的虚拟导航 特征。在实施例中,控制器750可以不是单独组件,而是集成到平台702和/或显示器720 上。然而,实施例并不限于这些元件或在本文中示出或描述的背景中。
[0044] 在实施例中,例如,驱动器(未示出)可以包括例如在启用时可以使用户能在初始 启动后触摸按钮而将如电视机的平台702立即开启和关闭的技术。在平台被"关闭"时,程 序逻辑可以允许平台702将内容流到媒体适配器或其他内容服务设备730或内容传递设备 740。另外,例如,芯片组705可以包括用于5. 1环绕声音频和/或高清晰度7. 1环绕声音频 的硬件和/或软件支持。驱动器可以包括用于集成图形平台的图形驱动器。在实施例中, 图形驱动器可以包括外设部件互连(PCI)高速图形卡。
[0045] 在各种实施例中,可以集成系统700中示出的组件中的任何一个或多个。例如,平 台702和内容服务设备730可以被集成,或者平台702和内容传递设备740可以被集成,或 者例如平台702、内容服务设备730、以及内容传递设备740可以被集成。在各种实施例中, 平台702和显示器720可以是集成单元。例如,显示器720和内容服务设备730可以被集 成,或者显示器720和内容传递设备740可以被集成。这些示例不旨在限制本发明。
[0046] 在各种实施例中,系统700可以被实现为无线系统、有线系统、或两者的结合。当 被实现为无线系统时,系统700可以包括适于在无线共享介质上通信的组件和接口,例如 一个或多个天线、发射器、接收器、收发器、放大器、过滤器、控制逻辑等。无线共享介质的示 例可以包括无线谱的一些部分,例如RF谱等。当被实现为有线系统时,系统700可以包括 适于在有线通信介质上通信的组件和接口,例如输入/输出(I/O)适配器、将I/O适配器与 相应的有线通信介质连接的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控 制器等。有线通信介质的示例可以包括导线、电缆、金属引线、印刷电路板(PCB)、背板、交换 结构、半导体材料、双绞线、同轴电缆、光纤等。
[0047] 平台702可以建立一个或多个逻辑的或物理的通道以传输信息。信息可以包括媒 体信息和控制信息。媒体信息可以指代代表对用户有意义的内容的任何数据。例如,内容 的示例可以包括来自语音会话、视频会议、流视频、电子邮件("email")消息、语音邮件消 息、字母数字符号、图形、图像、视频、文本等的数据。例如,来自语音会话的数据可以是讲话 信息、静声周期、背景噪声、舒适噪声、音调等。控制信息可以指代代表对自动系统有意义的 命令、指令、或控制字的任何数据。例如,控制信息可用于引导媒体信息贯穿系统,或者指示 节点以预定方式处理媒体信息。然而,实施例并不限于这些元件或在图4中示出或描述的 背景。
[0048] 如上所述,系统700可以用不同的物理样式或形状因子来体现。图5示出了其中 可实现系统700的小形状因子设备800的实施例。例如,在实施例中,设备800可以被实现 为具有无线能力的移动计算设备。例如,移动计算设备可以指代具有处理系统和例如一个 或多个电池的移动电力来源或电源的任何设备。
[0049] 如上所述,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超级 膝上型计算机、平板、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理 (PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能电话、智能平板、或智 能电视机)、移动因特网设备(MID)、消息收发设备、数据通信设备等等。
[0050] 移动计算设备的示例还可以包括被安排成由人来穿戴的计算机,如腕佩计算机、 指戴计算机、指环计算机、眼镜计算机、带扣计算机、臂带计算机、鞋佩计算机、衣佩计算机、 以及其他可穿戴计算机。例如,在实施例中,移动计算设备可以被实现为能够执行计算机应 用以及语音通信和/或数据通信的智能电话。尽管以示例的方式用被实现为智能电话的移 动计算设备对一些实施例进行描述,但是可以认识到,也可以使用其它无线移动计算设备 实现其它的实施例。实施例不限于该背景。
[0051] 如图6所不,设备800可以包括外壳802、显不器804、输入/输出(I/O)设备806、 以及天线808。设备800还可以包括导航特征812。显示器804可以包括用于显示适于移 动计算设备的信息的任何合适的显示单元。I/O设备806可以包括用于将信息输入到移动 计算设备中的任何合适的I/O设备。I/O设备806的示例可以包括字母数字键盘、数字小键 盘、触摸板、输入键、按钮、开关、摇臂开关、麦克风、扬声器、语音识别设备和软件等。也可以 通过麦克风的方式将信息输入到设备800中。这些信息可以由语音识别设备数字化。实施 例不限于该背景。
[0052] 可以使用硬件元件、软件元件、或两者的组合来实现各种实施例。硬件元件的示例 可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集 成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程 门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微型芯片、芯片组等。软件的示例可以 包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中 间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令 集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任意组合。判定是否使 用硬件元件和/或软件元件实现实施例可以根据任意数量的因素而变化,例如期望计算速 率、功率级别、热容限、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线 速度、以及其它设计或性能约束。
[0053] 至少一个实施例的一个或多个方面可以由存储在机器可读介质上的代表性指令 来实现,该指令代表处理器中的各种逻辑,其在被机器读取时促使该机器构建执行本文描 述的技术的逻辑。被称为"IP核"的这些代表可以被存储在有形的机器可读介质上,并被提 供给多个客户或生产设施以加载到实际制造该逻辑或处理器的构建机器中。
[0054] 可以使用硬件元件、软件元件、或两者的组合来实现各种实施例。硬件元件的示例 可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集 成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程 门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微型芯片、芯片组等。软件的示例可以 包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中 间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令 集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任意组合。判定是否使 用硬件元件和/或软件元件实现实施例可以根据任意数量的因素而变化,例如期望计算速 率、功率级别、热容限、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线 速度、以及其它设计或性能约束。
[0055] 至少一个实施例的一个或多个方面可以由存储在机器可读介质上的代表性指令 来实现,该指令代表处理器中的各种逻辑,其在被机器读取时促使该机器构建执行本文描 述的技术的逻辑。被称为"IP核"的这些代表可以被存储在有形的机器可读介质上,并被提 供给各种客户或生产设施以加载到实际制造该逻辑或处理器的构建机器中。
[0056] 本文中所描述的图形处理技术可用各种硬件架构来实现。例如,图形功能可集成 在芯片组内。或者,可以使用离散的图形处理器。作为又一实施例,图形功能可以由通用处 理器(包括多核处理器)来实现。
[0057] 下面的条文和/或示例涉及进一步的实施例:
[0058] -个示例实施例可以是一种方法:为第一对象渲染三角形;对每个像素将深度 (z)_时间(t)边界框积累到ζ-t空间中的单个边界框;为第二对象渲染三角形;判定图 块测试是否表明重叠;并且如果发现重叠则终止。该方法还可以包括使用时间(t)深度 (z)_片段。该方法还可以包括在时间和深度中使用轴对齐的边界框。该方法还可以包括扩 展碰撞检测以处理每个对象的多个三角形。该方法还可以包括初始化每个像素的RGBA以 包含空边界框。该方法还可以包括使用三维光栅化程序解决碰撞。该方法可以包括使用每 个像素一个样本。该方法还可以包括使用大小为1x1像素的图块。该方法还可以包括只将 具有非空三角形/像素时间重叠间隔的像素发送至像素着色器。该方法还可以包括在为第 二对象渲染三角形之后,对每个像素和三角形再次将z-t边界框积累到z-t空间中的单个 边界框。该方法还可以包括在为第二对象渲染三角形之后对每个像素创建ζ-t边界框;在 该像素的边界框和第一对象的缓冲区的相同的像素坐标的边界框之间检查重叠。
[0059] 至少一种包括多条指令的机器可读介质,响应于在计算设备上被执行,所述指令 促使该计算设备执行在本段落中陈述的任何方法。
[0060] 另一个示例实施例可以是一种装置,包括:处理器,用于为第一对象渲染三角形, 对每个像素将深度(Z)-时间(t)边界框积累到 Z-t空间中的单个边界框,为第二对象渲染 三角形,判定图块测试是否表明重叠,以及如果发现重叠则终止;以及耦合到所述处理器的 存储器。该装置可以包括:操作系统、电池、以及更新所述固件的模块。该装置还可以包括 使用时间(t)深度(z)_片段的处理器。该装置还可以包括在时间和深度中使用轴对齐的边 界框的处理器。该装置还可以包括扩展碰撞检测以处理每个对象的多个三角形的所述处理 器。该装置还可以包括初始化每个像素的RGBA以包含空边界框的所述处理器。该装置还 可以包括使用三维光栅化程序解决碰撞的所述处理器。该装置还可以包括使用每个像素一 个样本的所述处理器。该装置还可以包括使用大小为1x1像素的图块的所述处理器。该装 置还可以包括只将具有非空三角形/像素时间重叠间隔的像素发送至像素着色器的所述 处理器。该装置还可以包括在为第二对象渲染三角形之后对每个像素和三角形再次将z_t 边界框积累到ζ-t空间中的单个边界框的所述处理器。
[0061] 贯穿本说明书引述的"一个实施例"或"实施例"意指结合该实施例描述的特定特 征、结构、或特性被包含在本发明内所涵盖的至少一个实现中。由此,短语"一个实施例"或 "实施例"的出现不一定指代同一实施例。此外,所述特定特征、结构、或特性可以被设立成 除了所示出的特定实施例以外的其他合适形式,且所有此类形式可以被涵盖在本申请的权 利要求内。
[0062] 尽管本发明已针对有限数量的实施例作了描述,然而本领域技术人员将会从其中 领会到许多修改和变型。所附权利要求旨在覆盖所有这样的修改和变型,视为落在本发明 的真实精神和范围内。
【权利要求】
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边界框积累到ζ-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所述的装置,所述处理器在为所述第二对象渲染三角形之后对每个 像素和三角形再次将ζ-t边界框积累到ζ-t空间中的单个边界框。
【文档编号】G06T17/00GK104067318SQ201380005944
【公开日】2014年9月24日 申请日期:2013年1月16日 优先权日:2012年1月16日
【发明者】J·K·尼尔松, T·G·阿克宁-穆勒 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1