CN101238489A - 具有深度缓冲显示器的光线跟踪系统和方法 - Google Patents
具有深度缓冲显示器的光线跟踪系统和方法 Download PDFInfo
- Publication number
- CN101238489A CN101238489A CN200680028930.1A CN200680028930A CN101238489A CN 101238489 A CN101238489 A CN 101238489A CN 200680028930 A CN200680028930 A CN 200680028930A CN 101238489 A CN101238489 A CN 101238489A
- Authority
- CN
- China
- Prior art keywords
- pixel
- ray traced
- rasterized
- data
- ray
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- 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
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
一种产生包括光线跟踪像素数据和光栅化像素数据的图像的系统和方法。协同处理单元(SPU)采用绘制算法为需要高质量图像绘制的对象产生光线跟踪数据。光线跟踪数据被分割,从而每个片段包括光线跟踪像素深度值和光线跟踪像素颜色值。光栅器比较光线跟踪像素深度值和相应的光栅化像素深度值,并且当相应的光栅化片段“更接近”观察点时以光栅化像素数据盖写光线跟踪像素数据,这样产生复合数据。显示器子系统采用获得的复合数据在用户的显示器上产生图像。
Description
技术领域
本发明总体涉及一种具有深度缓冲显示器的光线跟踪系统和方法。更特别是,本发明涉及一种采用共享深度缓冲器合成具有光栅化图像的光线跟踪图像的系统和方法。
背景技术
今天的计算机图像生成技术产生应用于例如计算机游戏和飞行模拟的实际图像。计算机系统处理速度的提高是允许形成逼真计算机图像的主要因素之一。计算机图像特别是在游戏应用中通常包括许多被绘制以产生图像的对象。例如,游戏应用可包括例如风景、山脉、天空、云、车辆和人的对象。可利用许多方法产生计算机图像。光线跟踪是一种常用的绘制对象的方法。可优化光线跟踪以基于特定类型的元素,例如高度字段,来绘制图像,从而产生从任何观察点都是2维图像形式的虚拟3维场景。本领域技术人员可理解,这里所讨论的光线跟踪包括其它相似的绘制技术,例如光线投射。光线跟踪产生高质量图像绘制方案,但是发现了下面的挑战,由于其高浮点计算要求以及其不规则和高带宽存储器访问模式,光线跟踪可能不能满足用户的性能需求。
另一种产生计算机图像的常用方法为多边形绘制。采用该方法,光栅器采用深度缓冲器将多边形分解为片段并且确定哪些片段对观察者可见,该深度缓冲器存储对应于从观察者到屏幕空间上的“片段”的距离的深度值。例如,一些光栅化片段可对应车辆,其它光栅化片段可对应站在车辆前的步行者。在该实例中,光栅器基于深度缓冲器的值确定在示出站在车辆前面的步行者的特定屏幕位置上采用哪些光栅化片段。多边形绘制提供了高性能图像绘制解决方案,但是也有如下的困难,多边形绘制产生了可能不能满足用户图像质量要求的图像。
因此,所需要的是一种组合光线跟踪绘制的高质量优势和多边形绘制的高性能优势,以有效产生逼真计算机生成图像的系统和方法。
发明内容
提供了一种采用共享深度缓冲器合成光线跟踪图像和光栅化图像的方法、计算机程序产品和系统。协同处理单元(SPU)采用绘制算法生成包括光线跟踪颜色数据和光线跟踪深度数据的光线跟踪数据。光栅器对其它对象产生包括光栅化颜色数据和光栅化深度数据的光栅化数据。在每个分割位置,例如每个像素,光栅器比较光线跟踪深度数据和光栅化深度数据,并且在特定位置基于该比较以光栅化数据替代光线跟踪数据。从而获得包括光线跟踪数据和光栅化数据的复合数据。反过来,显示子系统采用复合数据产生供用户观测的图像。
SPU从系统存储器检索对应于需要高质量图像绘制的特定对象的3维模型数据。绘制算法例如光线投影或者光线跟踪采用该模型数据产生光线跟踪数据,该光线跟踪数据被存储在光线跟踪像素数据“片段”中。本领域技术人员可理解,这些像素片段可对应屏幕像素位置或者基于其它图像分割技术的位置。
每个光线跟踪像素数据分割包括光线跟踪像素深度值和光线跟踪像素颜色值。该光线跟踪像素深度值被存储在深度缓冲器中并对应于从观察者到屏幕空间中的片段的距离。例如,光线跟踪像素深度值可以是“80”,其对应于相对于所显示的总体图像在离开用户80个单位的地方出现的片段。该光线跟踪像素颜色值被存储在颜色缓冲器中并包括对应该片段的颜色信息。
光栅器绘制特定对象的多边形,并且将其中一个多边形分解为存储为“光栅化像素数据”的屏幕空间片段。每个光栅化像素数据片段包括光栅化像素深度值和光栅化像素颜色值。光栅化像素深度值是从观察者到屏幕空间上片段的距离。例如,光栅化像素深度值可以为“20”,该值对应相对于所显示的总体图像在离开用户20个单位的地方出现的光栅化片段。光栅化像素颜色值包括对应片段的颜色信息。
光栅器指向系统存储器并从深度缓冲器检索其中一个光线跟踪像素深度值。光栅器比较光线跟踪像素深度值与对应相同屏幕空间的光栅化像素深度值,以确定是否应当显示光栅化像素数据代替相应的光线跟踪像素数据。例如,对于特定屏幕位置,光栅化像素深度值可以为20,而相应的光线跟踪像素深度值可以为40,例如山脉前面的车辆。在该实例中,光栅化片段距离观察者比光线跟踪片段“更近”,在特定屏幕位置上应当显示光栅化像素数据而非光线跟踪像素数据。
当光栅器确定应当在其相应的光线跟踪像素数据之前显示光栅化像素数据时,光栅器以光栅化像素深度值盖写深度缓冲器中的光线跟踪像素深度值,并以光栅化像素颜色值盖写颜色存储器中的光线跟踪像素颜色值。对每个光栅化片段,光栅器比较其光栅化像素深度值与相应的光线跟踪像素深度值,并因此以光栅化数据盖写系统存储器中的现有数据。
光栅器继续将其它多边形分解为屏幕空间片段并将其光栅化像素深度值和存在于深度缓冲器中的深度值比较。在特定屏幕位置上,该光栅器可多次盖写现有的数据。例如,对于特定屏幕位置,光栅器可以以对应于车辆的光栅化像素数据盖写光线跟踪像素数据,然后以对应于站在车辆前面的人的其它光栅化像素数据盖写所述光栅化像素数据。
一旦光栅器完成每个多边形每个片段的片段比较,则深度缓冲器和颜色缓冲器包括表示在屏幕上显示的图像的“复合”数据,该数据包括光线跟踪像素数据和光栅化像素数据。显示器子系统扫描输出复合数据并在用户显示器上产生图像。
上述内容为概述,因此必要地包括简化、概括、和细节省略;因此,本领域技术人员将理解,该概述仅仅是示例性的并且不用于任何意义上的限制。由权利要求书唯一限定的本发明的其它方面、发明特征、优势将在下面列举的非限制性的描述中清楚。
附图说明
现在将仅仅通过实例并参考在下面附图中所示出的其优选实施例描述本发明:
图1为示出基于相应的深度值以光栅化像素数据盖写光线跟踪像素数据的光栅器的示图;
图2为示出在从模型数据产生光线跟踪数据和基于特定深度值以光栅化数据盖写部分光线跟踪数据中所采用步骤的高级流程图;
图3为示出在比较光线跟踪像素深度值与相应的光栅化像素深度值并且基于该比较以光栅化像素数据盖写光线跟踪像素数据中所采用步骤的流程图;以及
图4为示出宽带处理器结构(BPA)的示图,其是能够执行这里所描述的计算操作的计算机系统的简化实例。
具体实施方式
下面的内容旨在提供对本发明实例的详细描述,并且不应认为是限制本发明本身。而是,任何数量的变化都可落入由在说明书后面的权利要求书所限定的本发明范围中。
图1为示出基于相应的深度值以光栅化像素数据盖写光线跟踪像素数据的光栅器的示图。宽带处理器结构100包括协同处理单元(SPU)110和系统存储器130。SPU 110为处理芯,例如数字信号处理器、微控制器、微处理器、或者这些芯的组合。在优选实施例中,SPU 110包括本地存储器、寄存器、四个浮点单元、和四个整数单元。本领域技术人员可理解,根据所需要的处理能力,SPU 110可包括更多或者更少的浮点单元和整数单元。
SPU 110包括例如以光线投射或者光线跟踪绘制特定对象的颜色值和深度值的绘制算法120。例如,绘制算法120能够1)通过屏幕像素从观察点产生光线,2)跟踪通过场景的光线和递送三角命中点,和3)基于所述命中点遮挡光线。本领域技术人员可理解,SPU 110还可以是能够支持绘制算法120的现有设备。
SPU 110从系统存储器130检索模型数据140。模型数据140为对应高质量图像绘制对象的3-维数据。例如,用户可希望将建筑物绘制为高质量图像以产生供用户观察的逼真图像。绘制算法120采用模型数据140产生包括表示该对象的颜色值和深度值的光线跟踪数据150。一旦产生,则SPU 110将作为光线跟踪像素数据“片段”的光线跟踪数据150存储在系统存储器130中。每个光线跟踪像素数据包括光线跟踪像素深度值和光线跟踪像素颜色值。光线跟踪像素深度值被存储在深度缓冲器155中(系统存储器130中的存储区域)并对应于从观察者到屏幕空间中片段的距离。例如,光线跟踪像素深度值可以为“80”,其对应相对于所显示的整个图像在离开用户80个单位的地方出现的片段。光线跟踪像素颜色值被存储在颜色缓冲器160中并且包括对应该片段的颜色信息。系统存储器130可存储在易失性或者非易失性存储区域,例如计算机存储器或者计算机硬盘驱动器。
光栅器175可以是能够进行多边形绘制的现有光栅器设备或者软件/固件。光栅器175对特定对象绘制多边形并将其中一个多边形分解为屏幕空间片段,其被存储为“光栅化像素数据”片段。每个光栅化像素数据片段包括光栅化像素深度值和光栅化像素颜色值。光栅化像素深度值对应从观察者到屏幕空间上片段的距离。例如,光栅化像素深度值可以为“20”,其对应相对于所显示的总体图像在离开用户20个单位的地方出现的光栅化片段。光栅化像素颜色值包括颜色信息并且还可包括对应光栅化片段的辅助信息。
光栅器指向系统存储器130并从深度缓冲器155通过输入/输出165检索第一光线跟踪像素数据(光线跟踪像素深度值170),其对应屏幕空间位置。光栅器175比较光线跟踪像素深度值170和对应相同屏幕上空间位置的光栅化像素深度值,以确定在特定屏幕位置是否应当显示光栅化像素数据代替光线跟踪像素数据。例如,对于特定屏幕位置,光栅化像素深度值可以为20并且相应的光线跟踪像素深度值可以为40,例如山脉前面的车辆。在该实例中,光栅化片段距离观察者比光线跟踪片段“更近”,因此在特定屏幕位置上应当显示光栅化像素数据而非光线跟踪像素数据。
当光栅器175确定在屏幕位置上应当显示光栅化像素数据而非光线跟踪像素数据时,光栅器175以光栅化像素数据180盖写光线跟踪数据,这一点使得必需以光栅化像素深度值盖写深度缓冲器155中的光栅化像素深度值170,并且以光栅化像素颜色值盖写颜色缓冲器160中的光线跟踪像素颜色值,光栅器175比较其光栅化像素深度值和相应的光线跟踪像素深度值,并因此以光栅化像素数据盖写系统存储器130中的光线跟踪像素数据。
光栅器175继续将其它多边形分解为屏幕空间片段并比较其光栅化像素深度值和深度缓冲器185中的深度值。在特定屏幕位置,光栅器175可以以光栅化数据多次盖写现有的数据。例如,对于特定屏幕位置,光栅器175可以以对应车辆的光栅化像素数据盖写光线跟踪像素数据,然后以对应站在车辆前面的个人的其它光栅化像素数据盖写所述光栅化像素数据。
一旦光栅器175对每个多边形的每个片段完成片段比较,则系统存储器130现在包括表示在屏幕上显示的图像的“复合”数据185,其包括光线跟踪像素数据和光栅化像素数据。显示器子系统190从系统存储器130扫描输出复合数据185并且在显示器195上产生图像。
图2为示出在从模型数据产生光线跟踪数据和基于特定深度值以光栅化数据盖写部分光线跟踪数据中所采用步骤的高级流程图。协同处理单元(SPU)采用绘制算法,例如光线跟踪或者光线投射从模型数据产生光线跟踪数据,并且光栅器基于光栅化数据是否比光线跟踪数据距离观察点“更近”而以光栅化数据盖写部分光线跟踪数据。
处理在200开始,处理在此从系统存储器130检索模型数据140(步骤210)。模型数据140为对应特定对象的数据,例如草和山。在步骤220,处理采用绘制算法从模型数据140产生光线跟踪数据。系统存储器130和模型数据140和图1所示出的相同。
在步骤225,处理将光线跟踪数据150存储在系统存储器130中。光线跟踪数据150被存储在光线跟踪像素数据片段中,从而每个片段包括光线跟踪像素深度值和光线跟踪像素颜色值。该光线跟踪像素深度值对应特定片段的深度。光线跟踪像素颜色值包括颜色值并且可包括辅助信息。光线跟踪数据150与图1所示出的相同。
光栅器从系统存储器130检索光线跟踪像素深度值170,并且一个片段接着一个片段地比较光线跟踪像素数据和光栅化像素数据。对于“盖写”光线跟踪片段的光栅化片段,处理以光栅化像素数据180盖写相应的光线跟踪像素数据(预先定义的过程块230,更多的细节参见图3和相应的文字)。一旦光栅器完成处理光栅化片段,则系统存储器130包括产生复合数据185的光线跟踪数据和光栅化数据。复合数据185与图1所示出的相同。
在步骤240,显示器子系统从系统存储器130检索复合数据185,并在显示器195上显示图像,其与图1所示出的相同。处理在260结束。
图3为示出在比较光线跟踪像素深度值与相应的光栅化像素深度值并且基于该比较以光栅化像素数据盖写光线跟踪像素数据中所采用步骤的流程图。
处理在300开始,在此光栅器绘制对应对象的多边形(例如车辆、人员等等)并将多边形存储在多边形存储库308中(步骤305)。多边形存储库308可存储在易失性存储区域,例如计算机存储器。在步骤310,处理从多边形存储库308选择第一多边形,在步骤320,处理将所选择的多边形分割为屏幕空间片段,或者“光栅化像素数据”片段。
每个光栅化像素数据片段包括光栅化像素深度值和光栅化像素颜色值。光栅化像素深度值对应从观察者到屏幕空间上片段的距离。例如,光栅化像素深度值可以为“20”,其对应相对于所显示的总体图像在距离用户20个单位的地方出现的片段。光栅化像素颜色值包括颜色信息,并且还可包括对应多边形片段的辅助信息。
在步骤330,处理选择对应于屏幕位置的光栅化像素数据片段,在步骤340,从深度缓冲器180检索对应相同屏幕位置的光线跟踪像素深度值。深度缓冲器180与图1所示出的相同。处理在步骤350比较所选择的光栅化像素数据深度值和光线跟踪像素深度值。
基于深度值比较确定在光线跟踪像素数据前面是否会出现光栅化像素数据(决定360)。例如,对于特定屏幕位置,光栅化像素深度值可以为20,而相应的光线跟踪像素深度值可以为40,例如在山脉前面存在车辆。在该实例中,光栅化片段比光线跟踪片段距离观察者“更近”,因此应当出现光栅化像素数据代替光线跟踪像素数据。
如果应当出现光栅化像素数据代替光线跟踪像素数据,则决定360分支到“是”分支368,在此处理以光栅化像素深度值盖写深度缓冲器180中的光线跟踪像素深度值,并且以相应的光栅化像素颜色值盖写颜色缓冲器160中相应的光线跟踪像素值(步骤370)。颜色缓冲器160与图1所示出的相同。
另一方面,如果光栅化片段在光线跟踪片段“后面”,则决定360分支到“否”分支362,在此处理不考虑光栅化像素数据(步骤365),其将光线跟踪像素数据保存在系统存储器130中。
确定是否存在更多的待处理的对应所选择的多边形的片段(决定380)。如果存在更多的片段待处理,则决定380分支到“是”分支382,其循环回选择(步骤385)并处理下一个光栅化像素数据。该循环继续进行直到处理了对应所选择多边形的每个光栅化片段,在此时决定380分支到“否”分支388。
确定在多边形库308中是否存在更多的多边形待分割成片段和处理(决定390)。如果存在更多的片段待处理,则决定390分支到“是”分支392,其循环回选择(步骤395)并处理下一个多边形。该循环继续进行直到不再有多边形需要处理,在此时决定390分支到“否”分支397,从而处理在399返回。
图4为示出宽带处理器结构的示图,其是能够执行本发明的计算机设备。BPA 100包括多个异构处理器、共用存储器和共用总线。异构处理器是具有共享共用存储器和共用总线的不同指令集的处理器。例如,其中一个异构处理器可以是数字信号处理器,而其它异构处理器可以是微处理器,其共享相同的存储器空间。
BPA 100与图1所示出的相同,并且包括共享共用存储器和共用总线的异构处理器。BPA 100通过输入输出165向外部设备发送信息和从外部设备接收信息,并且采用处理器元件总线460向控制面410和数据面440分配该信息。控制面410管理BPA 100并向数据面440分配工作。输入/输出165和图1所示出的相同。
控制面410包括运行操作系统(OS)425的处理单元420。例如,处理单元420可以是嵌入BPA 100的Power PC芯,而OS 425可以是Linux操作系统。处理单元420管理用于BPA 100的共用存储器映射表。存储器映射表对应BPA 100中所包括的存储器位置,例如L2存储器430以及数据面440中所包括的非专用存储器。L2存储器可对应在图1中所示出的系统存储器130。
数据面440包括协处理组合(SPC)445、450和455。每个SPC用于处理数据信息,而每个SPC可具有不同的指令集。例如,BPA 100可用于无线通信系统中,每个SPC可负责分离的处理任务,例如调制、芯片速率处理、编码、和网络连接。在另一个实例中,每个SPC可具有相同的指令集并且可并行进行操作,从而得益于并行进程。每个SPC包括协同处理单元(SPU),其为处理芯,例如数字信号处理器、微控制器、微处理器、或者这些芯的组合,例如图1中所示出的SPU 110。
SPC 445、450和455被连至处理器元件总线460,该总线在控制面410、数据面440和输入/输出165之间传送信息。光栅器175包括绘制多边形的多边形工具,并且通过输入/输出165从BPA 100接收数据和向其提供数据。光栅器175和图1所示出的相同。
总线460为在I/O 165/、控制面410和数据面440之间传送信息的单片相干多处理器总线。输入/输出165包括灵活输入-输出逻辑,其基于连至BPA 100的外围设备向输入输出控制器动态分配接口引脚。
虽然图4所描述的计算机系统能够执行这里所描述的过程,但是该计算机系统仅仅是一个计算机系统实例。本领域技术人员将理解许多其它计算机系统设计能够执行这里所描述的过程。
本发明的一个优选应用为客户端应用,即例如可以常驻计算机随机访问存储器中的代码模块中的指令(程序代码)集。直到计算机要求,可将该指令集存储在另一个计算机存储器中,例如硬盘驱动器或者可移动存储器例如光盘(实际用于CD ROM)或者软盘(实际用于软盘驱动器),或者经互联网或者其它计算机网络下载。因此,本发明可实施为用于计算机的计算机程序产品。此外,尽管这里所描述的各种方法可方便地用于由软件选择性启动或者重置的通用计算机,但是本领域技术人员可以想到可在硬件、固件、或者构造为执行所需要方法步骤的更专用装置中执行这些方法。
尽管已经示出和描述了本发明的特定实施例,但是,对于本领域技术人员明显的是,基于这里的内容,可进行各种不偏离本发明及其更宽方面的变化和更改。因此,所附权利要求书将所有这些属于本发明范围的变化和更改包括在其范围内。另外,可以理解,本发明仅仅由所附权利要求书限定。本领域技术人员可以理解,如果需要指定数量的引入权利要求要素,则这样的意图将在权利要求书中清楚叙述,并且在没有这种叙述的情况下将没有这样的限定。对于作为辅助理解的非限制性实例,下面所附的权利要求书包括采用了介绍性短语“至少一个”和“一个或多个”以引入权利要求要素。但是,即使当相同的权利要求包括介绍性短语“一个和多个”或者“至少一个”和不定冠词时,也不应当将采用这些短语理解为暗含由不定冠词引入的权利要求要素将任何包括该引入权利要求要素的任何特定权利要求限定为仅仅包括一个该要素的发明;这一点对于在权利要求中使用定冠词同样适用。
Claims (20)
1.一种通过计算机实施的方法,包括:
选择对应于屏幕位置的光栅化像素数据;
检索对应于所述屏幕位置的第一光线跟踪像素数据,所述第一光线跟踪像素数据被包括在多个光线跟踪像素数据中;
比较所述第一光线跟踪像素数据和所述光栅化像素数据;
基于所述比较,以所述光栅化像素数据代替所述第一光线跟踪像素数据;以及
采用剩余的多个光线跟踪像素数据和光栅化像素数据产生图像。
2.根据权利要求1的方法,其中所述比较还包括:
检索在所述第一光线跟踪像素数据中包括的光线跟踪像素深度值;
检索所述光栅化像素数据中包括的光栅化像素深度值;以及
确定相对于所述光线跟踪像素深度值,所述光栅化像素深度值是否在屏幕位置上将所述光栅化像素数据定位在所述光线跟踪像素数据的前面。
3.根据权利要求2的方法,其中所述代替还包括:
以所述光栅化像素深度值盖写位于深度缓冲器中的所述光线跟踪像素深度值;以及
以在所述光栅化像素数据中包括的光栅化像素颜色值盖写所述第一光线跟踪像素数据中包括的光线跟踪像素颜色值。
4.根据权利要求2的方法,还包括:
检索对应于高质量图像绘制对象的模型数据;
采用绘制算法从模型数据绘制光线跟踪数据;以及
将所述光线跟踪数据分割为多个光线跟踪像素数据。
5.根据前述权利要求中任一项的方法,还包括:
采用光栅器绘制多边形;以及
将所述多边形分割为多个光栅化像素数据,其中所述光栅化像素数据被包括在所述多个光栅化像素数据中。
6.根据前述权利要求中任一项的方法,其中采用选自于光线投影算法和光线跟踪算法的绘制算法产生所述多个光线跟踪像素数据。
7.根据前述权利要求中任一项的方法,还包括:
其中采用宽带处理器结构执行所述方法,所述宽带处理器结构包括多个异构处理器、共用存储器、和共用总线;以及
其中所述多个异构处理器采用不同的指令集并且共享所述共用存储器和共用总线。
8.一种计算机程序产品,包括:
具有计算机可读代码的计算机可操作介质,所述计算机可读代码用于:
选择对应于屏幕位置的光栅化像素数据;
检索对应于所述屏幕位置的第一光线跟踪像素数据,所述第一光线跟踪像素数据被包括在多个光线跟踪像素数据中;
比较所述第一光线跟踪像素数据和所述光栅化像素数据;
基于所述比较,以所述光栅化像素数据代替所述第一光线跟踪像素数据;以及
采用剩余的多个光线跟踪像素数据和光栅化像素数据产生图像。
9.根据权利要求8的计算机程序产品,其中所述计算机可读代码还用于:
检索在所述第一光线跟踪像素数据中包括的光线跟踪像素深度值;
检索在所述光栅化像素数据中包括的光栅化像素深度值;以及
确定相对于所述光线跟踪像素深度值,所述光栅化像素深度值是否在屏幕位置上将所述光栅化像素数据定位在所述光线跟踪像素数据的前面。
10.根据权利要求9的计算机程序产品,其中所述计算机可读代码还用于:
以所述光栅化像素深度值盖写位于深度缓冲器中的所述光线跟踪像素深度值;以及
以在所述光栅化像素数据中包括的光栅化像素颜色值盖写所述第一光线跟踪像素数据中包括的光线跟踪像素颜色值。
11.根据权利要求9的计算机程序产品,其中所述计算机可读代码还用于:
检索对应于高质量图像绘制对象的模型数据;
采用绘制算法从模型数据绘制光线跟踪数据;以及
将所述光线跟踪数据分割为多个光线跟踪像素数据。
12.根据权利要求8至11中任一项的计算机程序产品,其中所述计算机可读代码还用于:
采用光栅器绘制多边形;以及
将所述多边形分割为多个光栅化像素数据,其中所述光栅化像素数据被包括在所述多个光栅化像素数据中。
13.根据权利要求8至12中任一项的计算机程序产品,其中采用选自于光线投影算法和光线跟踪算法的绘制算法产生所述多个光线跟踪像素数据。
14.根据权利要求8至13中任一项的计算机程序产品,其中采用宽带处理器结构执行所述计算机可读代码,所述宽带处理器结构包括多个异构处理器、共用存储器、和共用总线;以及其中所述多个异构处理器采用不同的指令集并且共享共用存储器和共用总线。
15.一种信息处理系统,包括:
一个或多个处理器;
可由所述处理器访问的存储器;
可由所述处理器访问的一个或多个非易失性存储设备;以及
用于跨接链接的数据结构的图像产生工具,所述图像产生工具用于:
选择对应于屏幕位置的光栅化像素数据;
从非易失性存储设备中的一个检索对应于所述屏幕位置的第一光线跟踪像素数据,所述第一光线跟踪像素数据被包括在多个光线跟踪像素数据中;
比较所述第一光线跟踪像素数据和所述光栅化像素数据;
基于所述比较,以所述光栅化像素数据代替所述非易失性存储设备中的一个中的所述第一光线跟踪像素数据;以及
采用剩余的多个光线跟踪像素数据和光栅化像素数据在显示器上产生图像。
16.根据权利要求15的信息处理系统,其中所述图像产生工具还用于:
从所述非易失性存储设备中的一个检索在所述第一光线跟踪像素数据中包括的光线跟踪像素深度值;
从所述非易失性存储设备中的一个检索在所述光栅化像素数据中包括的光栅化像素深度值;以及
确定相对于所述光线跟踪像素深度值,所述光栅化像素深度值是否在屏幕位置上将所述光栅化像素数据定位在所述光线跟踪像素数据的前面。
17.根据权利要求16的信息处理系统,其中所述图像产生工具还用于:
以所述光栅化像素深度值盖写位于深度缓冲器中的所述光线跟踪像素深度值,所述深度缓冲器位于所述非易失性存储设备中的一个中;以及
在所述非易失性存储设备中的一个中,以在所述光栅化像素数据中包括的光栅化像素颜色值盖写所述第一光线跟踪像素数据中包括的光线跟踪像素颜色值。
18.根据权利要求16的信息处理系统,其中所述图像产生工具还用于:
从所述非易失性存储设备中的一个检索对应于高质量图像绘制对象的模型数据;
采用绘制算法从所述模型数据绘制光线跟踪数据;以及
将所述光线跟踪数据分割为多个光线跟踪像素数据。
19.根据权利要求15至18中任一项的信息处理系统,其中所述图像产生工具还用于:
采用光栅器绘制多边形;以及
将所述多边形分割为多个光栅化像素数据,其中所述光栅化像素数据被包括在所述多个光栅化像素数据中。
20.根据权利要求15至19任一项的信息处理系统,其中所述多个光线跟踪像素数据采用选自于光线投影算法和光线跟踪算法的绘制算法产生。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/201,651 US7439973B2 (en) | 2005-08-11 | 2005-08-11 | Ray tracing with depth buffered display |
US11/201,651 | 2005-08-11 | ||
PCT/EP2006/064705 WO2007017391A1 (en) | 2005-08-11 | 2006-07-26 | System and method for ray tracing with depth buffered display |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101238489A true CN101238489A (zh) | 2008-08-06 |
CN101238489B CN101238489B (zh) | 2012-12-26 |
Family
ID=37103032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680028930.1A Expired - Fee Related CN101238489B (zh) | 2005-08-11 | 2006-07-26 | 具有深度缓冲显示器的光线跟踪系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7439973B2 (zh) |
EP (1) | EP1920409A1 (zh) |
JP (1) | JP4808778B2 (zh) |
CN (1) | CN101238489B (zh) |
CA (1) | CA2618472A1 (zh) |
WO (1) | WO2007017391A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034259A (zh) * | 2009-10-01 | 2011-04-27 | 英特尔公司 | 利用分级网格量化的存储器有效光线跟踪 |
CN104112293A (zh) * | 2014-07-04 | 2014-10-22 | 南京航空航天大学 | 一种用于隧道环境的射线追踪加速算法 |
CN107024817A (zh) * | 2015-11-23 | 2017-08-08 | 财团法人多次元智能It融合系统 | 多光圈相机系统及其动作方法 |
CN112017254A (zh) * | 2020-06-29 | 2020-12-01 | 浙江大学 | 一种混合式光线跟踪绘制方法及系统 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7697751B2 (en) * | 2005-12-29 | 2010-04-13 | Graphics Properties Holdings, Inc. | Use of ray tracing for generating images for auto-stereo displays |
US7864174B2 (en) * | 2006-08-24 | 2011-01-04 | International Business Machines Corporation | Methods and systems for reducing the number of rays passed between processing elements in a distributed ray tracing system |
US8525826B2 (en) | 2008-08-08 | 2013-09-03 | International Business Machines Corporation | System for iterative interactive ray tracing in a multiprocessor environment |
US8379022B2 (en) * | 2008-09-26 | 2013-02-19 | Nvidia Corporation | Fragment shader for a hybrid raytracing system and method of operation |
US9483864B2 (en) * | 2008-12-05 | 2016-11-01 | International Business Machines Corporation | System and method for photorealistic imaging using ambient occlusion |
US8248405B1 (en) | 2009-02-26 | 2012-08-21 | Adobe Systems Incorporated | Image compositing with ray tracing |
KR20100132605A (ko) * | 2009-06-10 | 2010-12-20 | 삼성전자주식회사 | 하이브리드 렌더링 장치 및 방법 |
JP2012181825A (ja) * | 2011-02-09 | 2012-09-20 | Canon Inc | 画像処理装置およびその方法 |
US8677031B2 (en) * | 2011-03-31 | 2014-03-18 | Intel Corporation | Facilitating, at least in part, by circuitry, accessing of at least one controller command interface |
CN103959340A (zh) * | 2011-12-07 | 2014-07-30 | 英特尔公司 | 用于自动立体三维显示器的图形呈现技术 |
US9842424B2 (en) * | 2014-02-10 | 2017-12-12 | Pixar | Volume rendering using adaptive buckets |
US9934605B2 (en) * | 2016-02-24 | 2018-04-03 | Disney Enterprises, Inc. | Depth buffering for subsequent scene rendering |
US11017581B1 (en) | 2020-01-04 | 2021-05-25 | Adshir Ltd. | Method for constructing and traversing accelerating structures |
US11869117B2 (en) | 2021-03-18 | 2024-01-09 | Samsung Electronics Co., Ltd. | Systems and methods of adaptive, variable-rate, hybrid ray tracing |
CN113129420B (zh) * | 2021-04-14 | 2023-06-23 | 江苏理工学院 | 一种基于深度缓冲加速的光线追踪渲染方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03271877A (ja) * | 1990-03-20 | 1991-12-03 | Fujitsu Ltd | グラフィック表示装置 |
JPH05183808A (ja) * | 1991-12-27 | 1993-07-23 | Matsushita Electric Ind Co Ltd | 画像情報入力装置と画像合成装置 |
US5596686A (en) * | 1994-04-21 | 1997-01-21 | Silicon Engines, Inc. | Method and apparatus for simultaneous parallel query graphics rendering Z-coordinate buffer |
JPH09311954A (ja) * | 1996-05-22 | 1997-12-02 | Hitachi Ltd | 3次元図形表示システムおよび3次元図形の表示方法 |
US6057847A (en) * | 1996-12-20 | 2000-05-02 | Jenkins; Barry | System and method of image generation and encoding using primitive reprojection |
JP4319308B2 (ja) * | 1999-12-28 | 2009-08-26 | 株式会社ディジタルメディアプロフェッショナル | ガス状物体表示回路 |
US20030160788A1 (en) * | 2002-02-28 | 2003-08-28 | Buehler David B. | Pixel pruning and rendering apparatus and method |
JP4217100B2 (ja) * | 2003-04-17 | 2009-01-28 | 本田技研工業株式会社 | 画像合成方法、装置、およびプログラム、ならびに立体モデルのレンダリング方法、装置、およびプログラム |
US8271986B2 (en) * | 2003-12-31 | 2012-09-18 | Intel Corporation | Visual and graphical data processing using a multi-threaded architecture |
-
2005
- 2005-08-11 US US11/201,651 patent/US7439973B2/en not_active Expired - Fee Related
-
2006
- 2006-07-26 EP EP06778002A patent/EP1920409A1/en not_active Withdrawn
- 2006-07-26 CA CA002618472A patent/CA2618472A1/en not_active Abandoned
- 2006-07-26 JP JP2008525525A patent/JP4808778B2/ja not_active Expired - Fee Related
- 2006-07-26 CN CN200680028930.1A patent/CN101238489B/zh not_active Expired - Fee Related
- 2006-07-26 WO PCT/EP2006/064705 patent/WO2007017391A1/en active Application Filing
-
2008
- 2008-07-01 US US12/166,142 patent/US7737970B2/en not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034259A (zh) * | 2009-10-01 | 2011-04-27 | 英特尔公司 | 利用分级网格量化的存储器有效光线跟踪 |
CN102034259B (zh) * | 2009-10-01 | 2013-11-20 | 英特尔公司 | 利用分级网格量化的存储器有效光线跟踪 |
US8669977B2 (en) | 2009-10-01 | 2014-03-11 | Intel Corporation | Hierarchical mesh quantization that facilitates efficient ray tracing |
CN104112293A (zh) * | 2014-07-04 | 2014-10-22 | 南京航空航天大学 | 一种用于隧道环境的射线追踪加速算法 |
CN104112293B (zh) * | 2014-07-04 | 2017-05-17 | 南京航空航天大学 | 一种用于隧道环境的射线追踪加速方法 |
CN107024817A (zh) * | 2015-11-23 | 2017-08-08 | 财团法人多次元智能It融合系统 | 多光圈相机系统及其动作方法 |
CN112017254A (zh) * | 2020-06-29 | 2020-12-01 | 浙江大学 | 一种混合式光线跟踪绘制方法及系统 |
CN112017254B (zh) * | 2020-06-29 | 2023-12-15 | 浙江大学 | 一种混合式光线跟踪绘制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US7439973B2 (en) | 2008-10-21 |
WO2007017391A1 (en) | 2007-02-15 |
JP2009505184A (ja) | 2009-02-05 |
CA2618472A1 (en) | 2007-02-15 |
US7737970B2 (en) | 2010-06-15 |
CN101238489B (zh) | 2012-12-26 |
JP4808778B2 (ja) | 2011-11-02 |
US20080297506A1 (en) | 2008-12-04 |
EP1920409A1 (en) | 2008-05-14 |
US20070035544A1 (en) | 2007-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101238489B (zh) | 具有深度缓冲显示器的光线跟踪系统和方法 | |
US8928694B2 (en) | Image Processing apparatus receiving editing operation, image display device, and image processing method thereof | |
JP5336067B2 (ja) | グラフィックスを処理する方法および装置 | |
DE60300788T2 (de) | Bild mit Feldtiefe aus Z-Pufferbilddaten und Alphamischung | |
RU2519058C2 (ru) | Устройство формирования файлов изображения, устройство обработки изображения, способ формирования файлов изображения, способ обработки изображения и структура данных файлов изображения | |
CN100507832C (zh) | 在图形系统内提供中间目标的系统和方法 | |
US8284207B2 (en) | Method of generating digital images of objects in 3D scenes while eliminating object overdrawing within the multiple graphics processing pipeline (GPPLS) of a parallel graphics processing system generating partial color-based complementary-type images along the viewing direction using black pixel rendering and subsequent recompositing operations | |
US9965886B2 (en) | Method of and apparatus for processing graphics | |
KR101286148B1 (ko) | 화상파일 생성장치, 화상처리장치, 화상파일 생성방법, 및 화상처리방법 | |
JP2005514711A (ja) | ゾーン・レンダリングのための効率的なグラフィックス状態管理 | |
US10650567B2 (en) | Optimizing processing time of a simulation engine | |
US8907979B2 (en) | Fast rendering of knockout groups using a depth buffer of a graphics processing unit | |
CN104615629A (zh) | 信息处理设备以及游戏数据的数据结构 | |
US6437779B1 (en) | Image processing method image processing unit and recording medium recording integrated shaping model data and image processing program to be used thereof | |
EP1490836A1 (en) | Efficient digital map overlays | |
KR100233346B1 (ko) | 그래픽 시스템에서 하나 이상의 가시 객체 식별 방법 및 장치 | |
JP5296656B2 (ja) | 画像処理装置および画像処理方法 | |
JP2009217000A (ja) | 描画処理装置、描画処理プログラムおよび描画処理方法 | |
CN102682465B (zh) | 3d格式转换系统和方法 | |
CN111882637B (zh) | 一种画面渲染方法、装置、设备和介质 | |
JPH0969163A (ja) | コンピュータグラフィックスモデルのポリゴン重なり抽出方法と、ポリゴンのグループ化方法及び装置 | |
CN1316723A (zh) | 在3维视频图像系统中提供卡通轮廓的方法和装置 | |
AU2009212933A1 (en) | Methods of storing and retrieving images | |
JP2003196674A (ja) | 画像処理方法、画像処理装置及びコンピュータ読み取り可能記憶媒体 | |
CN111882639A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121226 Termination date: 20200726 |