多层材质物体的实时渲染方法和装置的制造方法

文档序号:8260278阅读:417来源:国知局
多层材质物体的实时渲染方法和装置的制造方法
【技术领域】
[0001] 本发明涉及计算机图形渲染技术领域,尤其涉及一种多层材质物体的实时渲染方 法和装置。
【背景技术】
[0002] 计算机图形在工业中的一个重要的应用是"虚拟原型",即工业产品(如:汽车)的 设计过程完全数字化,设计的决策主要是基于计算机生成的"虚拟原型",显然,只有渲染图 像和真实的工业产品足够接近才能满足设计决策的需要。
[0003] 在计算机图形学中,通常使用二向性反射分布函数(BidirectionalReflectance DistributionFunction,BRDF)来描述物体表面的反射特性,高质量的BRDF对植染画面的 提升起着非常重要的作用。BRDF可以由两部分叠加组成:表面BRDF(surfaceBRDF)和次表 面BRDF(subsurfaceBRDF)。表面BRDF是光线照射到物体表面后,经物体表面反射形成的 反射光分布。次表面BRDF是光线由物体表面进入物体内部,经散射后再从物体表面出来的 反射光分布。目前,许多工业产品会使用多层涂料以达到更好的感官效果,如汽车、家具的 喷漆等,渲染模拟这些产品的高真实感效果就需要对每层涂料进行建模并合并成其对应的 最终的BRDF。其中,计算高质量次表面BRDF就是不可或缺的重要一环。常用的计算高质量 次表面BRDF的算法有光线跟踪算法,DiscreteOrdinateMethods算法等,但是这些算法需 要模拟光线在物体内部的散射以及吸收情况,不仅算法复杂度大,且非常耗时。而对于一些 简化或近似的计算次表面BRDF的算法,如DiffusionApproximation算法,Kubelka-Munk 算法等,其精确度不高,所渲染的图像与真实的工业产品相似度不够,且无法满足BRDF由 于光线入射角的改变而随之发生变化的特性。
[0004] 因此,如何快速高效地计算多层材质物体的次表面BRDF,进而计算出其对应的 BRDF,而又能保证计算出的BRDF可以尽可能地接近物体表面的反射特性是计算机图形渲 染技术领域一个亟需解决的问题。

【发明内容】

[0005] 为此,需要提供一种多层材质物体的实时渲染的技术方案,用以解决采用现有算 法在计算多层材质物体的次表面BRDF时,算法复杂度大、花费时间久的问题。
[0006] 为实现上述目的,发明人提供了一种多层材质物体的实时渲染方法,包括步骤:
[0007] 根据所述多层材质物体的第一光学性质信息,计算第一BRDF,所述第一BRDF为所 述多层材质物体的基底材质层的次表面BRDF;
[0008] 根据所述多层材质物体的第一光学性质信息,计算第二BRDF,所述第二BRDF为在 所述多层材质物体在基底材质层上添加材质层后的次表面BRDF;添加的材质层的层数为 一层或多层;
[0009] 根据最后添加的材质层的第二光学性质信息计算第三BRDF;
[0010] 基于所述第二BRDF和第三BRDF进行所述多层材质物体的实时渲染。
[0011] 进一步地,所述多层材质物体的第一光学性质信息具体包括基底材质层的第一光 学性质信息和添加的材质层的第一光学性质信息;
[0012] 所述第一光学性质信息包括散射相函数和单次散射反照率,所述第二光学性质信 息包括菲涅尔反射值和光滑度。
[0013] 进一步地,计算第一BRDF的方法具体包括:根据所述基底材质层的散射相函数和 单次散射反照率,采用Ambartsumain积分方程迭代计算出该层的次表面BRDF。
[0014] 进一步地,所述添加的材质层的厚度满足一预设阈值条件。
[0015] 进一步地,计算第二BRDF的方法具体包括:在上一层的次表面BRDF基础上使用 InvariantImbedding方法计算出添加材质层后的次表面BRDF。
[0016] 进一步地,计算第三BRDF的方法具体包括:使用最后添加的材质层的第二光学性 质信息计算其Cook-TorranceBRDF。
[0017] 进一步地,步骤"基于所述第二BRDF和第三BRDF进行所述多层材质物体的实时渲 染"具体包括:
[0018] 线性叠加第二BRDF与第三BRDF,并根据叠加结果生成渲染结果。
[0019] 发明人还提供了一种多层材质物体的实时渲染装置,包括计算单元和实时渲染单 元,所述计算单元包括第一计算模块,第二计算模块以及第三计算模块,所述第一计算模块 用于根据所述多层材质物体的第一光学性质信息,计算第一BRDF,所述第一BRDF为所述多 层材质物体的基底材质层的次表面BRDF;所述第二计算模块用于根据所述多层材质物体 的第一光学性质信息,计算第二BRDF,所述第二BRDF为在所述多层材质物体在基底材质层 上添加材质层后的次表面BRDF;添加的材质层的层数为一层或多层;所述第三计算模块用 于根据最后添加的材质层的第二光学性质信息计算第三BRDF;所述实时渲染单元用于基 于所述第二BRDF和第三BRDF进行所述多层材质物体的实时渲染。
[0020] 进一步地,所述多层材质物体的第一光学性质信息具体包括基底材质层的第一光 学性质信息和添加的材质层的第一光学性质信息;
[0021] 所述第一光学性质信息包括散射相函数和单次散射反照率,所述第二光学性质信 息包括菲涅尔反射值和光滑度。
[0022] 进一步地,第一计算模块计算第一BRDF的方法具体包括:根据所述基底材质层 的散射相函数和单次散射反照率,采用Ambartsumain积分方程迭代计算出该层的次表面 BRDF〇
[0023] 进一步地,所述添加的材质层的厚度满足一预设阈值条件。
[0024] 进一步地,第二计算模块计算第二BRDF的方法具体包括:在上一层的次表面BRDF 基础上使用InvariantImbedding方法计算出添加材质层后的次表面BRDF。
[0025] 进一步地,第三计算模块计算第三BRDF的方法具体包括:使用最后添加的材质层 的第二光学性质信息计算其Cook-TorranceBRDF。
[0026] 进一步地,实时渲染单元"基于所述第二BRDF和第三BRDF进行所述多层材质物体 的实时渲染"具体包括:
[0027] 线性叠加第二BRDF与第三BRDF,并根据叠加结果生成渲染结果。
[0028] 区别于现有技术,上述技术方案首先根据所述多层材质物体的第一光学性质信 息,计算所述多层材质物体的基底材质层的次表面BRDF;再根据所述多层材质物体的第一 光学性质信息,计算所述多层材质物体在基底材质层上添加材质层后的次表面BRDF,添加 的材质层的层数为一层或多层;而后根据最后添加的材质层的第二光学性质信息计算第三 BRDF;最后基于所述第二BRDF和第三BRDF进行所述多层材质物体的实时渲染。由于采用 迭代的方式计算添加各个材质层后物体的次表面BRDF,有效的避免了现有算法(如光线跟 踪算法)在计算次表面BRDF时需要模拟光线在物体内部传播的过程,从而大大降低了计算 多层材质物体的次表面BRDF的算法复杂度,缩短了计算时间,进而提高了对多层材质物体 进行实时渲染的效率,因而在计算机图形渲染技术领域具有广阔的市场前景。
【附图说明】
[0029] 图1为本发明一实施方式所述多层材质物体的实时渲染方法的流程图;
[0030] 图2为本发明另一实施方式所述多层材质物体的实时渲染方法的流程图;
[0031] 图3为本发明一实施方式所述多层材质物体的实时渲染装置的结构示意图。
[0032] 附图标记说明:
[0033] 1、计算单元;11、第一计算模块;12、第二计算模块;13、第三计算模块;
[0034] 2、实时渲染单元。
【具体实施方式】
[0035] 为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实 施例并配合附图详予说明。
[0036] 请参阅图1,为本发明一实施方式所述多层材质物体的实时渲染方法的流程图; 所述方法可以应用于对多层材质物体进行实时渲染,具体包括如下步骤:
[0037] 首先进入步骤S1根据所述多层材质物体的第一光学性质信息,计算第一BRDF。所 述多层材质物体即为待渲染的物体,可以为汽车玻璃、家具等,多层材质就是说,这些物体 通常是由一基底材质层和喷涂在其上的多层添加材质层构成,多层涂料是以逐层叠加的形 式被喷涂至基层材料之上。所述第一光学性质信息为表征物体光学性质的信息,包括光线 在物体内部的反射、散射、衰减等分布情况。
[0038] 而后可以进入步骤S2根据所述多层材质物体的第一光学性质信息,计算第二 BRDF,所述第二BRDF为在所述多层材质物体在基底材质层上添加材质层后的次表面BRDF, 添加的材质层的层数为一层或多层。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1