CN101238489B - 具有深度缓冲显示器的光线跟踪系统和方法 - Google Patents

具有深度缓冲显示器的光线跟踪系统和方法 Download PDF

Info

Publication number
CN101238489B
CN101238489B CN200680028930.1A CN200680028930A CN101238489B CN 101238489 B CN101238489 B CN 101238489B CN 200680028930 A CN200680028930 A CN 200680028930A CN 101238489 B CN101238489 B CN 101238489B
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.)
Expired - Fee Related
Application number
CN200680028930.1A
Other languages
English (en)
Other versions
CN101238489A (zh
Inventor
B·米诺尔
G·C·福萨姆
V·D·托
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101238489A publication Critical patent/CN101238489A/zh
Application granted granted Critical
Publication of CN101238489B publication Critical patent/CN101238489B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden 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 (11)

1.一种通过计算机实施的合成光线跟踪图像和光栅化图像的方法,包括:
选择对应于屏幕位置的光栅化像素数据;
检索对应于所述屏幕位置的第一光线跟踪像素数据,所述第一光线跟踪像素数据被包括在多个光线跟踪像素数据中;
比较所述第一光线跟踪像素数据和所述光栅化像素数据,其中所述比较还包括:
检索在所述第一光线跟踪像素数据中包括的光线跟踪像素深度值;
检索所述光栅化像素数据中包括的光栅化像素深度值;以及
确定相对于所述光线跟踪像素深度值,所述光栅化像素深度值是否在所述屏幕位置将所述光栅化像素数据定位在所述第一光线跟踪像素数据的前面;
响应于确定所述光栅化像素深度值相对于所述光线跟踪像素深度值在所述屏幕位置将所述光栅化像素数据定位在所述第一光线跟踪像素数据的前面,以所述光栅化像素数据代替对应于所述屏幕位置的所述第一光线跟踪像素数据;以及
采用剩余的多个光线跟踪像素数据和光栅化像素数据产生图像。
2.根据权利要求1的方法,其中所述代替还包括:
以所述光栅化像素深度值盖写位于深度缓冲器中的所述光线跟踪像素深度值;以及
以在所述光栅化像素数据中包括的光栅化像素颜色值盖写所述第一光线跟踪像素数据中包括的光线跟踪像素颜色值。
3.根据权利要求1的方法,还包括:
检索对应于高质量图像绘制对象的模型数据;
采用绘制算法从模型数据绘制光线跟踪数据;以及
将所述光线跟踪数据分割为多个光线跟踪像素数据。
4.根据权利要求1的方法,还包括:
采用光栅器绘制多边形;以及
将所述多边形分割为多个光栅化像素数据,其中所述光栅化像素数据被包括在所述多个光栅化像素数据中。
5.根据权利要求1的方法,其中采用选自于光线投影算法和光线跟踪算法的绘制算法产生所述多个光线跟踪像素数据。
6.根据权利要求1的方法,还包括:
其中采用宽带处理器结构执行所述方法,所述宽带处理器结构包括多个异构处理器、共用存储器、和共用总线;以及
其中所述多个异构处理器采用不同的指令集并且共享所述共用存储器和共用总线。
7.一种通过计算机实施的合成光线跟踪图像和光栅化图像的设备,包括:
用于选择对应于屏幕位置的光栅化像素数据的装置;
用于检索对应于所述屏幕位置的第一光线跟踪像素数据的装置,所述第一光线跟踪像素数据被包括在多个光线跟踪像素数据中;
用于比较所述第一光线跟踪像素数据和所述光栅化像素数据的装置,其中所述用于比较的装置还包括:
用于检索在所述第一光线跟踪像素数据中包括的光线跟踪像素深度值的装置;
用于检索所述光栅化像素数据中包括的光栅化像素深度值的装置;以及
用于确定相对于所述光线跟踪像素深度值所述光栅化像素深度值是否在所述屏幕位置将所述光栅化像素数据定位在所述第一光线跟踪像素数据的前面的装置;
用于响应于确定所述光栅化像素深度值相对于所述光线跟踪像素深度值在所述屏幕位置将所述光栅化像素数据定位在所述第一光线跟踪像素数据的前面,以所述光栅化像素数据代替对应于所述屏幕位置的所述第一光线跟踪像素数据的装置;以及
用于采用剩余的多个光线跟踪像素数据和光栅化像素数据产生图像的装置。
8.根据权利要求7的设备,其中所述用于代替的装置还包括:
用于以所述光栅化像素深度值盖写位于深度缓冲器中的所述光线跟踪像素深度值的装置;以及
用于以在所述光栅化像素数据中包括的光栅化像素颜色值盖写所述第一光线跟踪像素数据中包括的光线跟踪像素颜色值的装置。
9.根据权利要求7的设备,其中所述设备还包括:
用于检索对应于高质量图像绘制对象的模型数据的装置;
用于采用绘制算法从模型数据绘制光线跟踪数据的装置;以及
用于将所述光线跟踪数据分割为多个光线跟踪像素数据的装置。
10.根据权利要求7的设备,其中所述设备还包括:
用于采用光栅器绘制多边形的装置;以及
用于将所述多边形分割为多个光栅化像素数据的装置,其中所述光栅化像素数据被包括在所述多个光栅化像素数据中。
11.根据权利要求7的设备,其中采用选自于光线投影算法和光线跟踪算法的绘制算法产生所述多个光线跟踪像素数据。
CN200680028930.1A 2005-08-11 2006-07-26 具有深度缓冲显示器的光线跟踪系统和方法 Expired - Fee Related CN101238489B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/201,651 2005-08-11
US11/201,651 US7439973B2 (en) 2005-08-11 2005-08-11 Ray tracing with depth buffered display
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 CN101238489A (zh) 2008-08-06
CN101238489B true 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)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 하이브리드 렌더링 장치 및 방법
US8669977B2 (en) 2009-10-01 2014-03-11 Intel Corporation Hierarchical mesh quantization that facilitates efficient ray tracing
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
DE112011105927T5 (de) * 2011-12-07 2014-09-11 Intel Corporation Grafik-Renderingverfahren für autostereoskopisches dreidimensionales Display
US9842424B2 (en) * 2014-02-10 2017-12-12 Pixar Volume rendering using adaptive buckets
CN104112293B (zh) * 2014-07-04 2017-05-17 南京航空航天大学 一种用于隧道环境的射线追踪加速方法
US10051263B2 (en) * 2015-11-23 2018-08-14 Center For Integrated Smart Sensors Foundation Multi-aperture camera system using scan line processing
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
CN112017254B (zh) * 2020-06-29 2023-12-15 浙江大学 一种混合式光线跟踪绘制方法及系统
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 江苏理工学院 一种基于深度缓冲加速的光线追踪渲染方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6057847A (en) * 1996-12-20 2000-05-02 Jenkins; Barry System and method of image generation and encoding using primitive reprojection

Family Cites Families (8)

* Cited by examiner, † Cited by third party
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次元図形の表示方法
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6057847A (en) * 1996-12-20 2000-05-02 Jenkins; Barry System and method of image generation and encoding using primitive reprojection

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BHALERAO A. ET AL.Fast re-rendering of volume and surface graphics by depth,color,and opacity buffering.《MEDICAL IMAGE ANALYSIS》.2000,235-251. *
MINOR B. ET AL.Terrain Rendering Engine(TRE):Cell Broadband Engine Optimized Real-time Ray-caster.《IBM CORPORATION》.2005,1-9. *
SZENBERG F ET AL.An Algorithm for the Visualization of a Terrain with Objects.《COMPUTER GRAPHICS AND IMAGE PROCESSING》.1997,103-110. *

Also Published As

Publication number Publication date
WO2007017391A1 (en) 2007-02-15
US20070035544A1 (en) 2007-02-15
CN101238489A (zh) 2008-08-06
US7439973B2 (en) 2008-10-21
EP1920409A1 (en) 2008-05-14
US7737970B2 (en) 2010-06-15
US20080297506A1 (en) 2008-12-04
JP2009505184A (ja) 2009-02-05
JP4808778B2 (ja) 2011-11-02
CA2618472A1 (en) 2007-02-15

Similar Documents

Publication Publication Date Title
CN101238489B (zh) 具有深度缓冲显示器的光线跟踪系统和方法
JP5037574B2 (ja) 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、および画像処理方法
US9965886B2 (en) Method of and apparatus for processing graphics
KR101732288B1 (ko) 스프라이트 그래픽 렌더링 시스템
US5801717A (en) Method and system in display device interface for managing surface memory
US8928694B2 (en) Image Processing apparatus receiving editing operation, image display device, and image processing method thereof
JP5336067B2 (ja) グラフィックスを処理する方法および装置
WO2011052117A1 (ja) 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、画像処理方法、および画像ファイルのデータ構造
US20130120410A1 (en) Multi-pass method of generating an image frame of a 3d scene using an object-division based parallel graphics rendering process
JP5668078B2 (ja) サーバサイドレンダリング
JP2003507827A (ja) 多層スクリーンの表示方法
US10650567B2 (en) Optimizing processing time of a simulation engine
US7064755B2 (en) System and method for implementing shadows using pre-computed textures
EP1255227A1 (en) Vertices index processor
CN113495933A (zh) 一种矢量瓦片显示方法及系统
WO2003083780A1 (en) Efficient digital map overlays
KR100233346B1 (ko) 그래픽 시스템에서 하나 이상의 가시 객체 식별 방법 및 장치
JP5296656B2 (ja) 画像処理装置および画像処理方法
US8217933B2 (en) Method and apparatus for detecting between virtual objects
GB2444628A (en) Sorting graphics data for processing
JP2009217000A (ja) 描画処理装置、描画処理プログラムおよび描画処理方法
CN111882637B (zh) 一种画面渲染方法、装置、设备和介质
CN1316723A (zh) 在3维视频图像系统中提供卡通轮廓的方法和装置
JP6993556B2 (ja) 情報処理装置、情報処理方法、プログラム
JP2003196674A (ja) 画像処理方法、画像処理装置及びコンピュータ読み取り可能記憶媒体

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