CN103700134A - 基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法 - Google Patents
基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法 Download PDFInfo
- Publication number
- CN103700134A CN103700134A CN201310720196.7A CN201310720196A CN103700134A CN 103700134 A CN103700134 A CN 103700134A CN 201310720196 A CN201310720196 A CN 201310720196A CN 103700134 A CN103700134 A CN 103700134A
- Authority
- CN
- China
- Prior art keywords
- time
- shadow
- texture
- scene
- real
- 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.)
- Pending
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
本发明涉及计算机应用技术和计算机视觉领域,具体涉及一种基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法,包括以下步骤:在3Dmax中载入整个大规模复杂模型场景;计算出整个场景的每个像素在时间上的可见度函数,在经过简化后存储在两组彩色纹理中;在时间区域上计算出该段时间的平均光照,利用这段时间上各光源点渲染出来的影子来产生模糊的阴影;将阴影信息中的点光源通过PCF的方法计算出最终可见度值等特征。结合了基于光线跟踪的离线渲染方法和邻域采样过滤遮挡区间映射技术,算法生成的阴影更具真实感,克服了阴影映射算法产生的锯齿问题,满足虚拟现实的应用要求。
Description
技术领域
本发明涉及计算机应用技术和计算机视觉领域,具体涉及一种基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法。
背景技术
在真实感图像合成中,光照和阴影是密不可分的,它们对场景真实感起着决定性的作用,是真实图像生成中最关键的技术之一。适当模拟自然物理世界的光照,不仅能让人感知到物体的存在并对物体的几何性质有所认识,还能够让人知道物体的材质属性。而阴影更能帮助人们判断自己所面对的方向或者根据阴影判断自己所处的环境以及阴影所对应实体的信息,光照和阴影的生成大大增强了场景的可信度和沉浸感。
早期图形开发者使用的光照就是固定功能管线提供的传统光照模型,对于其他许多光照算法在应用中都不可以通过图形管线使用。阴影方面也是大部分使用固定功能管线,并依赖于图形 API 对硬件的扩展或图形 API 的更新来实现,在实现上带来了一些不必要的复杂性。固定功能管线的这些缺点大大限制了对光照和阴影算法的研究与应用。
近几年出现了可编程 GPU,图形开发者可以使用 GPU 语言来控制最重要的图形管线操作,我们可以利用可编程管线提供的灵活性来创造出更逼真的渲染效果,这种可编程性为图形开发者提供了一个广阔的研究和实践平台,基于可编程 GPU 来实现和优化光照和阴影算法也逐渐成为研究热点。
由于GPU目前能实现的指令有限,存在着一定的局限性。而渲染到纹理技术是计算机图形学中极为常用和有效的技术,借助渲染到纹理技术可以存储数据,扩展GPU的功能。对于一些耗费时间的计算,更可以提前把结果计算好并存储在纹理中,这样便将大量的复杂计算简化为对纹理的查找,能够节约大量时间。但是同时也需要考虑纹理的大小问题,过大的纹理会消耗系统的显存,反而对实时渲染不利。
发明内容
本发明的目的在于提供一种基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法,解决了现有技术渲染复杂、太耗时,以及对计算机的配置要求过高的问题。
为解决上述的技术问题,本发明采用以下技术方案:一种基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法,包括以下步骤:
步骤一:在3D max中载入整个大规模复杂模型场景(本发明实例采用的是机场模型,包括候机楼和机场地面),
步骤二,计算出整个场景的每个像素在时间上的可见度函数;
步骤三,在时间区域上计算出该段时间的平均光照,利用这段时间上各光源点渲染出来的影子来产生模糊的阴影;
步骤四:将阴影信息中的点光源通过PCF的方法计算出最终可见度值,在经过简化后存储在两组彩色纹理中;
步骤五,将最终可见度值乘以一个着色值进行光源轨道上的实时计算,计算出最终的颜色值;
步骤六,最终的颜色值利用GPU可编程的光线跟踪引擎计算并渲染出带纹理贴图及阴影的真实感场景效果。
进一步的,所述步骤二中,计算出整个场景的每个像素在时间上的可见度信息是通过3D max中计算场景数据的光线跟踪引擎插件来实现的。
所述光线跟踪引擎插件为mental ray渲染器,其计算整个场景模型场景可见度函数的方法如下:
先进行预渲染处理:从光源轨道上的每个点进行渲染,调整每个可见度函数的上升边和下降边,8bit的方式将上升边和下降边的值分别存储为上升矢量和下降矢量,得到每个像素的可见度函数,可见度函数是用0-1值表示的;再进行渲染后期处理:预渲染从光源轨道上的每个点渲染整个场景,得到的数据量非常庞大,需要极大的存储空间,而且对后面的可编程处理计算实时阴影带来不便;
因此,我们在渲染后期对这些数据进行处理,即针对预渲染处理步骤得到的每个点的场景渲染数据,按太阳轨道曲线上的数据,跟踪场景中各像素来自每道光线所对应的光源点,由于可见度函数是用0-1值表示的,在时间域上的上升边和下降边定为表示太阳出现和消失的时间,最终得到两张表示每个像素在时间区域上的可见度函数的纹理图,纹理图由上升矢量纹理和下降矢量纹理组成。
与现有技术相比,本发明的有益效果是:结合了基于光线跟踪的离线渲染方法和邻域采样过滤遮挡区间映射技术,算法生成的阴影更具真实感, 克服了阴影映射算法产生的锯齿问题,满足虚拟现实的应用要求。
附图说明
图1为本发明一种基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法的流程示意图。
图2是采样数较少时,机场模型的阴影远景效果图。
图3是采样数较多时,机场模型的阴影远景效果图。
图4是采样数较少时,机场模型的阴影近景效果图。
图5是采样数较多时,机场模型的阴影近景效果图。。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明一种基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法的一个实施例:一种基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法,包括以下步骤:
步骤一:在3D max中载入整个大规模复杂模型场景(本发明实例采用的是机场模型,包括候机楼和机场地面),
步骤二,计算出整个场景的每个像素在时间上的可见度函数在经过简化后存储在两组彩色纹理中;
步骤三,每个像素即点光源产生的阴影是清晰的,锐利的,与现实世界中的阴影不一致,因此,这一步骤将沿着点光源轨道扩展变成线光源,通过在参数值的区间上求点光源的可见度函数的平均值得到线光源的可见度信息,线光源渲染的阴影是模糊的阴影,所以在时间区域(即光源经过的一段曲线)上计算出该段时间的平均光照,利用这段时间上各光源点渲染出来的影子来产生模糊的阴影;
步骤四:将阴影信息中的电光源通过PCF的方法计算出最终可见度值;
步骤五,将最终可见度值乘以一个着色值进行光源轨道上的实时计算,计算出最终的颜色值;
步骤六,最终的颜色值利用GPU可编程光线跟踪引擎算并渲染出带纹理贴图及阴影的真实感场景效果。其中作为优选,GPU可编程光线跟踪引擎使用mental ray 软件包中自定义的shader。
由上面的步骤结合附图可知,由点光源产生的影子是清晰的,锐利的,与现实世界中的软阴影不一致,将沿着点光源轨道扩展变成线光源,线光源渲染的阴影是模糊的阴影。将点光源扩展到线光源的步骤主要通过在参数值的区间上求点光源的可见度函数的平均值得到线光源相应值。采样较多,得到的值就越精确,渲染出来的阴影越柔软,采样较少,得到的值就不够精确,渲染出来的阴影比较清晰锐利。
进一步的,所述步骤二中,计算出整个场景的每个像素在时间上的可见度函数是通过3D max中计算场景数据的光线跟踪引擎插件来实现的。
图1还示出了另一个实施例,所述光线跟踪引擎插件为mental ray渲染器,用mental ray自定义的shader计算整个场景模型场景数据即可见度函数的方法如下:
先进行预渲染处理:从光源轨道上的每个点进行渲染,调整每个可见度函数的上升边和下降边,8bit的方式将上升边和下降边的值分别存储为上升矢量和下降矢量,得到每个像素的可见度函数,可见度函数是用0-1值表示的;
再进行渲染后期处理:预渲染从光源轨道上的每个点渲染整个场景,得到的数据量非常庞大,需要极大的存储空间,而且对后面的可编程处理计算实时阴影带来不便;因此,我们在渲染后期对这些数据进行处理,即针对预渲染处理步骤得到的每个点的场景渲染数据,按太阳轨道曲线上的数据,跟踪场景中各像素来自每道光线所对应的光源点,由于可见度函数是用0-1值表示的,在时间域上的上升边和下降边定为表示太阳出现和消失的时间,最终得到两张表示每个像素在时间区域上的可见度函数的纹理图,纹理图由上升矢量纹理和下降矢量纹理组成。
图2为是采样数较少时,机场模型的阴影远景效果图,因为采样较少,生成的阴影比较清晰锐利;图3为采样数较多时,机场模型的阴影远景效果图,与图2相比,生成的阴影更加柔软也更加贴近现实世界中的阴影。特别是从图4和图5中所展示的近景效果图,更能明显的体现出采样的多少对阴影柔软度的影响。
1、GPU可编程管线
图形渲染管线是通过对给定的诸如视点位置、三维几何模型、光源、光照模型、纹理像素等元素的处理,最后得到一副绘制好的二维图像,并最终显示到屏幕上的过程。渲染管线是 3D 实时渲染的重要组成部分,用于离线渲染。
场景描述数据从管线的入口传入渲染管线,首先进行的是顶点处理,这个阶段的工作将确定场景中几何体各个顶点的属性;处理后的顶点将流向几何处理部分,这部分主要对顶点进行组织形成图元;图元处理中进一步对图元进行处理如可见面消隐工作等;光栅化化阶段对从图元处理传来的有效图元进行光栅化得到屏幕坐标上的各个片元;最后一个阶段是对每片元进行处理。场景描述经过所有这些功能阶段后就被从最初的数学描述转换为颜色信息描述并写入相应的显示缓存。由于图形处理中存在着大量的并行处理机会,图形硬件往往利用多个计算单元来同时处理多个图形数据,如同时有好多个计算单元来执行顶点变换等,这样就大大提高了计算性能。
2、可见度函数
光源的影子可以表达为一个可见度函数,如果场景中某个像素点P在阴影区域,则令该像素点的可见度值为0,否则令它的可见度值为1。在实时渲染阶段,只需要将这个可见度函数乘以一个着色值,即可得出最终的颜色值。
可见度函数是一个有3个变量的函数:visibility = function(x,y,t),(x,y)是物体表面的空间变量,t是时间变量。可以用3D纹理存储这个函数,但是需要极大的存储空间。由于可见度函数的所有值都是0或者1,因此我们使用一个类似于游程编码的方法来存储这个函数。对于每一个点,我们找到它在时间域的上升边和下降边。它们分别对应于太阳出现和消失的时间。我们定义“上升”矢量为所有上升的边的矢量,而“下降”矢量为所有下降的边的矢量。我们把“上升”矢量和“下降”矢量分别存储在两组彩色纹理中,每个纹理有4个通道。因为shader指令在四元分矢量上操作,可以同时实施4个运算,只消耗一个运算开销。这就是把“上升”和“下降”装填到不同纹理的原因。“上升”纹理存储每个通道中的光区间的开始,而“下降”纹理存储光区间的结束。有了点光源预计算清晰影子的可见度信息所需要的一切:给定一个上升矢量、一个下降矢量和时间,我们就可以计算可见度函数来确定某个点是否在影子中。
Claims (3)
1.一种基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法,其特征在于包括以下步骤:
步骤一:在3D max中载入整个大规模复杂模型场景;
步骤二,计算出整个场景的每个像素在时间上的可见度函数,在经过简化后存储在两组彩色纹理中;
步骤三,在时间区域上计算出该段时间的平均光照,利用这段时间上各光源点渲染出来的影子来产生模糊的阴影;
步骤四:将阴影信息中的点光源通过PCF的方法计算出最终可见度值;
步骤五,将最终可见度值乘以一个着色值进行光源轨道上的实时计算,计算出最终的颜色值;
步骤六,最终的颜色值利用GPU可编程光线跟踪引擎计算并渲染出带纹理贴图及阴影的真实感场景效果。
2.根据权利要求1所述的一种基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法,其特征在于:所述步骤二中,计算出整个场景的每个像素在时间上的可见度信息是通过3D max中计算场景数据的光线跟踪引擎插件来实现的。
3.根据权利要求2所述的一种基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法,其特征在于:所述光线跟踪引擎插件为mental ray渲染器,其计算整个场景模型场景可见度信息的方法如下:
先进行预渲染处理:从光源轨道上的每个点进行渲染,调整每个可见度函数的上升边和下降边,8bit的方式将上升边和下降边的值分别存储为上升矢量和下降矢量,得到每个像素的可见度函数,可见度函数是用0-1值表示的;
再进行渲染后期处理:预渲染从光源轨道上的每个点渲染整个场景,得到的数据量非常庞大,需要极大的存储空间,而且对后面的可编程处理计算实时阴影带来不便;
因此,我们在渲染后期对这些数据进行处理,即针对预渲染处理步骤得到的每个点的场景渲染数据,按太阳轨道曲线上的数据,跟踪场景中各像素来自每道光线所对应的光源点,由于可见度函数是用0-1值表示的,在时间域上的上升边和下降边定为表示太阳出现和消失的时间,最终得到两张表示每个像素在时间区域上的可见度函数的纹理图,纹理图由上升矢量纹理和下降矢量纹理组成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310720196.7A CN103700134A (zh) | 2013-12-24 | 2013-12-24 | 基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310720196.7A CN103700134A (zh) | 2013-12-24 | 2013-12-24 | 基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103700134A true CN103700134A (zh) | 2014-04-02 |
Family
ID=50361651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310720196.7A Pending CN103700134A (zh) | 2013-12-24 | 2013-12-24 | 基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103700134A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104392479A (zh) * | 2014-10-24 | 2015-03-04 | 无锡梵天信息技术股份有限公司 | 一种利用灯光索引号对像素进行光照着色的方法 |
CN107392990A (zh) * | 2016-02-25 | 2017-11-24 | 达索系统公司 | 渲染3d场景的全局照明 |
CN107665502A (zh) * | 2017-09-19 | 2018-02-06 | 北京许继电气有限公司 | 一种电力电缆隧道三维全景监测系统和方法 |
CN108475327A (zh) * | 2016-01-13 | 2018-08-31 | 虞晶怡 | 三维采集与渲染 |
CN109196550A (zh) * | 2016-06-28 | 2019-01-11 | 英特尔公司 | 用于针对虚拟现实和多视图系统进行交织光栅化和像素着色的架构 |
CN110059151A (zh) * | 2019-04-26 | 2019-07-26 | 北京百度网讯科技有限公司 | 地图渲染方法、地图渲染装置、地图服务器和存储介质 |
CN110378958A (zh) * | 2019-06-19 | 2019-10-25 | 北京巴别时代科技股份有限公司 | 基于fft数据预烘焙技术的海面生成方法 |
CN111462295A (zh) * | 2020-03-27 | 2020-07-28 | 咪咕文化科技有限公司 | 增强现实合拍中的阴影处理方法、设备及存储介质 |
CN113421199A (zh) * | 2021-06-23 | 2021-09-21 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN113570697A (zh) * | 2021-09-24 | 2021-10-29 | 深圳易帆互动科技有限公司 | 基于模型预烘焙的阴影渲染方法、装置及可读存储介质 |
-
2013
- 2013-12-24 CN CN201310720196.7A patent/CN103700134A/zh active Pending
Non-Patent Citations (3)
Title |
---|
WILLIAM DONNELLY 等: "《GPU精粹:实时图形编程的技术、技巧和技艺》", 31 January 2006 * |
余飞: "《基于GPU的光影实时生成算法研究》", 《中国优秀硕士学位论文数据库 信息科技辑》 * |
晏福兴: "《基于GPU的软阴影技术的研究》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104392479A (zh) * | 2014-10-24 | 2015-03-04 | 无锡梵天信息技术股份有限公司 | 一种利用灯光索引号对像素进行光照着色的方法 |
CN104392479B (zh) * | 2014-10-24 | 2017-05-10 | 无锡梵天信息技术股份有限公司 | 一种利用灯光索引号对像素进行光照着色的方法 |
CN108475327A (zh) * | 2016-01-13 | 2018-08-31 | 虞晶怡 | 三维采集与渲染 |
CN107392990A (zh) * | 2016-02-25 | 2017-11-24 | 达索系统公司 | 渲染3d场景的全局照明 |
CN107392990B (zh) * | 2016-02-25 | 2023-11-17 | 达索系统公司 | 渲染3d场景的全局照明 |
CN109196550A (zh) * | 2016-06-28 | 2019-01-11 | 英特尔公司 | 用于针对虚拟现实和多视图系统进行交织光栅化和像素着色的架构 |
CN109196550B (zh) * | 2016-06-28 | 2024-03-15 | 英特尔公司 | 用于针对虚拟现实和多视图系统进行交织光栅化和像素着色的架构 |
CN107665502A (zh) * | 2017-09-19 | 2018-02-06 | 北京许继电气有限公司 | 一种电力电缆隧道三维全景监测系统和方法 |
CN110059151B (zh) * | 2019-04-26 | 2022-10-25 | 北京百度网讯科技有限公司 | 地图渲染方法、地图渲染装置、地图服务器和存储介质 |
CN110059151A (zh) * | 2019-04-26 | 2019-07-26 | 北京百度网讯科技有限公司 | 地图渲染方法、地图渲染装置、地图服务器和存储介质 |
CN110378958B (zh) * | 2019-06-19 | 2022-04-22 | 北京巴别时代科技股份有限公司 | 基于fft数据预烘焙技术的海面生成方法 |
CN110378958A (zh) * | 2019-06-19 | 2019-10-25 | 北京巴别时代科技股份有限公司 | 基于fft数据预烘焙技术的海面生成方法 |
CN111462295A (zh) * | 2020-03-27 | 2020-07-28 | 咪咕文化科技有限公司 | 增强现实合拍中的阴影处理方法、设备及存储介质 |
CN111462295B (zh) * | 2020-03-27 | 2023-09-05 | 咪咕文化科技有限公司 | 增强现实合拍中的阴影处理方法、设备及存储介质 |
CN113421199A (zh) * | 2021-06-23 | 2021-09-21 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN113421199B (zh) * | 2021-06-23 | 2024-03-12 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN113570697A (zh) * | 2021-09-24 | 2021-10-29 | 深圳易帆互动科技有限公司 | 基于模型预烘焙的阴影渲染方法、装置及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103700134A (zh) | 基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法 | |
CN112509151B (zh) | 一种教学场景中虚拟对象的真实感生成方法 | |
CN109003325B (zh) | 一种三维重建的方法、介质、装置和计算设备 | |
CN108351864B (zh) | 成凹几何密铺 | |
KR101145260B1 (ko) | 3d 객체 모델에 텍스쳐를 매핑하는 방법 및 장치 | |
US9202309B2 (en) | Methods and apparatus for digital stereo drawing | |
CN114820906B (zh) | 图像渲染方法、装置、电子设备及存储介质 | |
US20070139408A1 (en) | Reflective image objects | |
CN112184575B (zh) | 图像渲染的方法和装置 | |
CN107369205B (zh) | 一种移动终端城市二三维联动显示方法 | |
CN109448137A (zh) | 交互方法、交互装置、电子设备及存储介质 | |
CN104050708A (zh) | 一种3d游戏引擎lod系统的实现方法 | |
CN110706325B (zh) | 一种三维海底环境实时动态渲染方法和渲染系统 | |
JP2012190428A (ja) | 立体映像視覚効果処理方法 | |
CN104157000B (zh) | 模型表面法线的计算方法 | |
CN109461197B (zh) | 一种基于球面uv和重投影的云实时绘制优化方法 | |
CN110400366B (zh) | 一种基于OpenGL的实时洪水灾害可视化仿真方法 | |
WO2014170757A2 (en) | 3d rendering for training computer vision recognition | |
CN116051713A (zh) | 渲染方法、电子设备和计算机可读存储介质 | |
CN118429537A (zh) | 一种基于扩散模型的3d人体模型材质生成方法、系统、设备及介质 | |
CN104240286A (zh) | 基于屏幕空间的实时反射方法 | |
CN104463937A (zh) | 基于不规则物体的动画生成方法及装置 | |
US20140306953A1 (en) | 3D Rendering for Training Computer Vision Recognition | |
CN108230430A (zh) | 云层遮罩图的处理方法及装置 | |
CN116468839A (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 | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160428 Address after: 610045 Sichuan city of Chengdu province Wuhou District Vuko East Road No. seven Applicant after: Chuandazhisheng Software Co., Ltd., Sichuan Applicant after: Sichuan University Address before: 610045 Sichuan city of Chengdu province Wuhou District Vuko East Road No. seven Applicant before: Chuandazhisheng Software Co., Ltd., Sichuan |
|
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140402 |
|
WD01 | Invention patent application deemed withdrawn after publication |