一种物理实时渲染三维场景的方法及系统的制作方法

文档序号:6335308阅读:980来源:国知局
专利名称:一种物理实时渲染三维场景的方法及系统的制作方法
技术领域
本发明涉及一种计算机图形学领域,尤其是涉及一种物理实时渲染三维场景的方法及系统。
背景技术
计算机图形学领域,人们研究出了不少模拟场景光照效果的方法。曾经流行的一种局部光照渲染的方法是,通过建立物体和场景的三维模型及设定虚拟光源,用数学模型处理光源、物体与光源的简单几何关系、物体表面材质,计算此光源在模型上形成的反射效果。这种局部光照渲染方法的仿真程度并不高,它的巨大局限是,对物体及光源间几何关系化简过渡,只计算物体及光源的关系,而忽略了场景内各物体对光路的影响,从而略去了许多诸如阴影、折射、多次反射等效果。再者,由于光源建模的困难,这种方法多数只用来处理有限的点状光源或平行光源。对图片质量要求较高的情况下,人们使用光线跟踪的方法。这种方法通过选取一定数量的“光子”,根据几何光学定理模拟这些光子的传播,从而计算出最终的图像。一种比较主流的光线跟踪算法称为Monte Carlo Ray Tracing。这种方法的优点是,创造出来的图像真实度极高。而缺点则为,由于选取光子数量极大,光子运动路径计算耗时,光线跟踪虽能达成很好的图像效果,但运算时间长,若要实时渲染动画场景,则需运用大量CPU同时计笪弁。全局照明(GlcAal Illumination)明技术可以生成具有真实感的图像.模拟光在虚拟场景中的传播行为,可以得到现实世界中的各种光影效果,包括光源与物体直接作用产生的直接光照明效果,以及由于光能在物体之间的相互反射产生的间接光照效果.最终产生的图像决定于光源、场景中物体的几何形状、相互位置关系以及物体的表面材质.因此,使用全局照明(GlcAal Illumination)的渲染场景看起来更加真实化。还有一类实时全局照明(GlcAal Illumination)渲染方法,常用来处理能处理有限点光源或平行光的普通阴影效果。这类方法包括阴影图(shadow map)和阴影体(shadow volume)。它们通过多次渲染,对每个简单光源,计算出场景内能被其直接照射的部分,并只对这些部分计算反射光线强度。由于这类方法的运算量较小,实时性较好,在游戏画面实时渲染方面有较大优势,且目前获得了较为广泛的应用。而其缺点,由于只能处理简单光源及其产生的硬阴影,不能处理软阴影及由多次反射等造成的复杂光照效果,图像真实感远不如光线跟踪算法光线追踪计算已用于创建三维制作设计软件,但还不能有效地产生实时具有照片级真实感的高质量三维场景。一些三维软件如(3DMAX Maya等)允许用户通过更改观看方向或一些物体的颜色、材质等渲染场景。但是,这样渲染的场景更像是二维阴影及质量很低而不是具有真实感的高质量三维数字场景。以及为了实现足够高的帧速经常使用一些不正确的近似甚至是欺骗的手段。例如,用户渲染一个低质量场景然后产生最终静态场景后,必须进行一个单独的进程在新窗口中渲染相同的高质量场景。新场景是不可控制的,如果用户想看不同外观的高质量场景,必须返回低质量场景进行更改,然后渲染一个新的高质量场景。

发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种物理实时渲染三维场景的方法及系统。本发明的目的可以通过以下技术方案来实现一种物理实时渲染三维场景的方法,其特征在于,该方法包括以下步骤1)加载模型到三维场景;幻使用至少一种更新应用到三维场景;;3)更新三维场景的照明;4)物理光谱计算力)实时渲染包含实时交互显示的
三维摄像机。所述的步骤1)具体为,高动态范围渲染导入物体的三维场景。所述的高动态范围渲染包括加载高动态范围球形场景;闭合高动态范围场景; 实时添加阴影至高动态范围场景。所述的步骤2、中的更新应用包括更新场景的背景;更新场景中摄像机镜头角度及位置;更新场景中的照明;更新材质。所述的更新材质具体为,通过漫反射、光子映射、高光和镜面反射参数显示场景物体的材质,以及实时更新材质的参数。所述的步骤3)具体为,更新直接和间接照明,以及更新至少一个焦散、折射、反射和高光反射。所述的步骤5)中的实时渲染具体为,渲染一次反射形成的直接光照和两次反射形成的间接光照实时更新。一种物理实时渲染三维场景的系统,其特征在于,该系统包括输入设备、处理模块、显示模块,所述的输入设备与处理模块相连,所述的处理模块与显示模块相连,所述的输入模块包括键盘、鼠标、手写板,所述的处理模块包括数据处理模块和软件数据处理模块。与现有技术相比,本发明的所有计算都是根据物理现象的数学模型为基础,区别目前近似、模拟手段的方式。能够实时物理计算显示全局照明(GlcAal Illumination)、能够处理软阴影及由多次反射等造成的复杂光照效果还原真实世界中光线的传播、折射、衍射、吸收等过程,可使阴影、光线、物体、材质都能实时高质量改变,且三维摄像机、场景能够以交互的方式进行实时渲染,达到实时交互的图像显示,实现数字三维场景可通过更新直接全局照明(GlcAal Illumination)和间接照明以及其它因素如焦散、折射、反射和高光反射产生的3D模型能以具有照片级真实感、高质量、实时的方式显示,还原更真实的图像。


图1为本发明中加载模型建立初始场景并实时交互场景的流程图;图2为本发明的流程图;图3为本发明的处理系统结构图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。实施例具体的实施方式包括实时光线追踪系统,配置用于计算折射、高光反射、阴影和间接照明如焦散和渗色。在计算机显示和3D渲染中,色溢是物体或表面被附近表面有色光线反射而着色的现象。通过依据光折射和反射的斯涅尔(Snell)定律计算X1 sin X1 = X2 sin X2这里的和\是指当前媒介以及光进入媒介的折射率,X1和\分别表示折射率和折射角度。反射通过反射方向的追踪光线进行计算。阴影通过追踪一条或更多光线照明场景并估计其可视性而计算出来。高光反射、焦散和间接照明通过Monte Carlo光线追踪进行计算,这里采用了一条投射的示例光线来估计下面反射积分值L(x,{right arrow over (w)}) = f fr (x,{right arrow over(w)},{right arrow over (w)}' )({right arrow over(η)}, {right arrow over(w)}' ) dw'这里的 L (χ, {right arrow over (w)})是指 χ 方向的福射率{right arrow over (w)}, fr (x, {right arrow over (w)}, {right arrow over (w)}')是双向反身寸分布函数,表示χ方向{right arrow over (w)}‘ 反身寸在方向{right arrow over (w)}的入身寸光线数量,而{right arrow over (η)}是指χ方向的正常表面。一、随着用户的操作实时更新三维场景,并实时高质量反馈用户对物体的更改。1.图1的流程图说明了加载场景和实时更新高质量显示三维场景的整个过程。如图1 从“加载模型到默认场景”开始,处理器将3D模型加载至默认场景。加载可能包括加载默认材质、默认照明和默认摄像机角度。三维场景可以用默认设置进行渲染。接下来“配置模型和场景”,用户可以配置和更改场景的各个参数,并可实时查看场景模型更新。例如, 用户可以更改场景如设定材质、加载照明环境、加载背景反射球或调节摄像机。如上所述, 渲染如全局照明(GlcAal Illumination)可以进行实时的更新。一旦用户完成配置更改, 三维场景渲染可以进行实时更新。例如,处理器可能采用光线追踪计算并实时更新三维摄像机场景,而无需用户在低质量环境中进行更改并再次点击高质量渲染按钮。2. “实时真实感渲染交互场景和模型“,用户可以调节或更改材质或者与模型和场景进行互动。用户选择新材质时,物体会做出响应,自动显示选择的新材质。此外,选择新材质后,物体显示选择的新材质且物体的新照明和光线追踪信息会被计算和显示出来。所选择材质的属性可以从一个材质元素复制到另一个,用户还可以调节照明环境。二、用户可以实时、高质量交互渲染三维场景的照明,形成实时交互式三维摄像机。1.摄像机被锁定的情况下,用户不能调节摄像机视图,用户可以通过直接或间接连接至微处理器的输入设备选择摄像机或观看位置。例如用户可以通过“点击”场景中的某个按钮,在三维显示空间中放大、缩小、旋转或移动摄像机位置。可以通过点击鼠标左键并从左到右移动鼠标观看物体。当用户停止摄像机时,屏幕上场景的清晰度将持续增加,直至在照片上难以辨别。2.模型和场景交互还包括实时调节场景照明背景。可以动态和实时选择环境照明背景。处理器自动更新物体颜色或者用户正在调节的色环部分。提供的背景球型文件可以像在背面板中一样在背景中浏览。背景图像永远不变,就像背景图像一样。在一个具体的离线高分辨率浏览器实施方式中,提供的用户界面允许地面以水的折射率进行反射,以便在地面上显示物体的反射图像。3.模型和场景互动还包括加载照明和更改场景。调节照明环境可能包括调节HDR 背景,根据时间以及经纬度更改光线,更改平行光的位置或更改分辨率。目前,由于场景变化是实时的,用户不必点击按钮来创建高质量图像。传统的方法需要一种预处理。而在目前实施方式中,照明、阴影和反射是随着用户与场景的互动实时更新的。可以为用户提供了一个用户界面,允许在移动缓慢但质量很高的高质量反走样模式与允许快速互动且摄像机停止时质量增加的低质量模式之间切换。三.显示模块由多种模块组成,这些模块共同被称为实时显示模块。为了使普通的技术人员也能够观看,显示模块中的每个模块可能包含多种子函数、步骤、定义和宏。每个模块都以典型方式单独编译并链接至一个可执行程序。因此,下面每个模块的说明可方便用于描述显示模块的功能性。这样每个模块进行的过程可能任意再分配给其它一个模块,结合在一个模块上,或在可分享动态链接库中可用。每个模块都可以在硬件中执行。1.显示模块配置用以运行于处理器上。处理器可以是任意传统的通用单或多芯片 /核微处理器如Intel家族处理器、MIPS处理器、Power PC处理器或ALPHA处理器。此外, 处理器也可以是任意传统的专用微处理器如数字信号处理器。2.显示模块显示了背景中虚拟物体的互动三维场景图像。显示模块配置用以运行于通用计算机如个人电脑或者包含一个与永久和非永久内存或存储通信的处理器、一个或更多用户输入设备和一个显示屏的工作站。用户可以在三维显示空间中观看虚拟物体渲染。用户可通过显示模块在实时环境下与模型互动。互动场景可能是光线追踪/光子映射和所选物体或者所选三维显示空间环境下物体的全局照明(Global Illumination)渲染。 用户输入或更改显示物体时,场景和物体能够实时更新显示,整个三维场景可以通过基于 Macromedia Flash的控件或作为独立应用或结合许多编辑工具在网络浏览器中运行。四、进一步举例说明了实时模型互动以及实时互动渲染三维场景的过程。三维场景作为输入进行接收,并可对三维场景的参数调整而进行实时渲染。如图 21、“读取文件”,用户可以读取数据文件并“导入模型”到当前场景中如描述模型和场景的数据文件。如图22、然后将3D数字模型导入至实时光线追踪环境中。如图2。3、加载HDR(高动态范围)环境场景。这里使用的“HDR”表示每个通道多于16位 (密度或颜色取决于具体场景的色彩空间)的场景或场景渲染。例如360度球形HDR场景用作3D场景的整个实时灯源,而场景中没有灯光。通过数学计算,HDR场景可用作将阴影实时地投射到物体本身。例如可以关闭灯源而仅使用HDR进行照明。地面上的阴影可以是作为光源的场景投射的。场景中物体的全局照明(GlcAal Illumination)可进行实时计算。如图2加载HDR环境场景,通过在浏览窗口中使用HDR球形场景,浏览者看到物体的计算机图示的照明与其位置的照明是相同的。比如球形场景可以通过shift和方向键以任意方向和增量进行旋转。通过按键,球形HDR场景可能会被隐藏,背景颜色发生变化但仍然保留物体中场景的所有反射。亮度和灰度可在实时环境中进行交互的动态调节。显示软件动态的改变球形场景,从而使半球看上去低于物体,就像是地面一样。球形HDR场景可以拉平,照明和阴影可以进行实时更新。使用拉平HDR场景会让人感觉物体嵌入在场景中。使显示的三维场景可以进行实时更新。4、将库的材质应用于导入的3D模型,材质库中的材质可以进行旋转并导入至模型中。使用基本材质组的材质以与物体相同的环境表示。材质类型和材质属性可通过菜单选择改变。材质着色器基于测量的精确材质定义。(1)每种材质都具有科学精确的参数并可以更改。材质可能包括玻璃和金属。材质可以分配并定义给三维显示空间中的每个物体包括那些通过CAD数据导入的物体。( 金属材质由一个基本色代表,金属薄片颜色通过标准色彩选择器进行旋转。材质与漫反射、高光和镜面反射组件一起显示。材质和照明能进行互动更改,结果可进行实时更新。结合图1和图2,显示的三维摄像机场景可以进行实时更新。5、“删除部分模型化物体”,部分模型化物体可以被删除。在“隐藏部分模型化物体”,部分模型化物体可以被隐藏。6、“调节物体场景区域的深度”,用户可以调节物体场景区域的深度。组合“删除部分模型化物体” “隐藏部分模型化物体” “调节物体场景区域的深度”相关的动作,图1和图 2结合,显示的三维摄像机场景可以进行实时更新。用户还可以区域渲染三维场景或点击渲染按钮创建高质量场景,可以分配任意键激活“区域渲染”并将其保存至特定文件夹。区域渲染可以设置为jpg、16位tiff和32位 HDR图像格式。整个场景的灰度和亮度或者HDR场景环境可以在屏幕截图前单独进行互动式更改。五、动态和实时更新显示物体,从而获得新的颜色或材质、曝光类型、区域深度或环境类型。图3说明了执行这里所描述的方法的系统。具体实施方法系统包含一个“数据处理模块”,可配置用于接收来自“输入设备”的用户命令。“数据处理模块”可以在“显示设备”上显示数据。数据处理模块”可能包含任何合适类型的计算机处理器,包括通用或专用计算机处理器模块以及与处理器模块进行通信的程序和数据存储。“输入设备”模块可能包含一个或更多合适的输入设备如鼠标、键盘或者触摸或基于触控笔的输入板。“显示设备”可能包含一个或更多合适的显示设备如CRT显示屏、液晶显示屏或其它任何可以显示图像数据的显示设备。这里描述的多种说明逻辑块、模块、电路和计算步骤可以作为电子硬件、计算机软件或者两者均有。为了清楚地说明硬件和软件的互换性,多种说明组件、块、模型、电路和步骤以及其功能性已经在上面做了简要介绍。这些功能是作为硬件还是软件取决于整个系统具体的应用和设计要求。这里描述的方法或计算方法的因素可能直接体现在硬件中、处理器运行的软件模块中或者两者均有。软件模块可能位于RAM内存、闪存、ROM内存、EPROM内存、EEPROM内存、 寄存器、硬盘、可移动磁盘、CD-ROM光盘或其它任何存储媒介。一个典型的存储媒介已经连接至处理器,这样处理器可以从/向存储媒介读取/写入信息。同时,存储媒介也可以和处理器同步信息。处理器和存储媒介可能位于ASIC中,而ASIC可能位于用户终端中。同样, 处理器和存储媒介也可能作为分立元件位于用户终端中。 “软件数据处理模块”可以以任何编程语言进行编写,如C、C++、BASIC、Visual Basic,Pascal,Ada,Java,HTML,XML或FORTRAN并运行于操作系统中。C、C++、BASIC、Visual Basic、Pascal、Ada、Java、HTML、XML和FORTRAN为工业标准编程语言,可供许多商业编程者创建可执行代码。
权利要求
1.一种物理实时渲染三维场景的方法,其特征在于,该方法包括以下步骤1)加载模型到三维场景;2)使用至少一种更新应用到三维场景;3)更新三维场景的照明;4)物理光谱计算;5)实时渲染包含实时交互显示的三维摄像机。
2.根据权利要求1所述的一种物理实时渲染三维场景的方法,其特征在于,所述的步骤1)具体为,高动态范围渲染导入物体的三维场景。
3.根据权利要求2所述的一种物理实时渲染三维场景的方法,其特征在于,所述的高动态范围渲染包括加载高动态范围球形场景;闭合高动态范围场景;实时添加阴影至高动态范围场景。
4.根据权利要求1所述的一种物理实时渲染三维场景的方法,其特征在于,所述的步骤2)中的更新应用包括更新场景的背景;更新场景中摄像机镜头角度及位置;更新场景中的照明;更新材质。
5.根据权利要求4所述的一种物理实时渲染三维场景的方法,其特征在于,所述的更新材质具体为,通过漫反射、光子映射、高光和镜面反射参数显示场景物体的材质,以及实时更新材质的参数。
6.根据权利要求1所述的一种物理实时渲染三维场景的方法,其特征在于,所述的步骤3)具体为,更新直接和间接照明,以及更新至少一个焦散、折射、反射和高光反射。
7.根据权利要求1所述的一种物理实时渲染三维场景的方法,其特征在于,所述的步骤5)中的实时渲染具体为,渲染一次反射形成的直接光照和两次反射形成的间接光照实时更新。
8.—种物理实时渲染三维场景的系统,其特征在于,该系统包括输入设备、处理模块、 显示模块,所述的输入设备与处理模块相连,所述的处理模块与显示模块相连,所述的输入模块包括键盘、鼠标、手写板,所述的处理模块包括数据处理模块和软件数据处理模块。
全文摘要
本发明涉及一种物理实时渲染三维场景的方法,该方法包括以下步骤1)加载模型到三维场景;2)使用至少一种更新应用到三维场景;3)更新三维场景的照明;4)物理光谱计算;5)实时渲染包含实时交互显示的三维摄像机;该系统包括输入设备、处理模块、显示模块。与现有技术相比,本发明具有可使阴影、光线、物体、材质都能实时高质量改变,且三维摄像机、场景能够以交互的方式进行实时渲染,达到实时交互的图像显示,实现数字三维场景可通过更新直接全局照明和间接照明以及其它因素如焦散、折射、反射和高光反射产生的3D模型从而以具有照片级真实感、高质量、实时的方式显示,还原更真实的图像等优点。
文档编号G06T15/50GK102467752SQ20101053369
公开日2012年5月23日 申请日期2010年11月5日 优先权日2010年11月5日
发明者张玉, 袁桦, 赖齐 申请人:上海威塔数字科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1