一种基于物理的光照环境虚拟材质编辑实现方法
本发明涉及计算机图形学与虚拟材质编辑领域,更具体地说,本发明涉及一种基于物理的光照环境虚拟材质编辑实现方法。
背景技术:
1、在基于物理的虚拟材质编辑过程中,材质表面外观由漫反射分量和镜面反射分量共同构成,其中镜面反射分量的表现依赖于材质粗糙度参数和场景光照环境。
2、当需要对材质粗糙度进行调整时,渲染器须根据新的粗糙度值,对高动态范围环境贴图重新执行重要性采样积分,以计算该粗糙度对应的镜面反射结果。该积分过程涉及根据粗糙度所对应的微面元法线分布函数在半球面上进行大量采样和加权累加,计算开销较大。在实际编辑场景中,美术人员通常需要频繁调整粗糙度参数来预览不同参数下的材质效果,每次参数变化均触发一次完整的光照积分,导致编辑响应出现可感知的延迟,在复杂光照环境下该问题尤为突出;
3、因此,针对上述问题提出一种基于物理的光照环境虚拟材质编辑实现方法。
技术实现思路
1、为了克服现有技术的上述缺陷,本发明的实施例提供一种基于物理的光照环境虚拟材质编辑实现方法,以解决在虚拟材质实时编辑过程中,修改粗糙度参数需要重新执行环境光照积分计算所导致的响应延迟问题。
2、为实现上述目的,本发明提供如下技术方案:
3、一种基于物理的光照环境虚拟材质编辑实现方法,该方法在预计算阶段仅生成单张镜面反射基底图,在实时编辑阶段通过散布采样与集中采样的双路径混合,重构任意粗糙度下的镜面反射外观,将编辑粗糙度时的计算开销降低为极少的采样与运算。
4、所述方法包括以下步骤:
5、s1:获取虚拟场景的环境贴图,所述环境贴图描述该虚拟场景中入射光在球面方向上的辐射率分布,作为后续预计算和实时采样的固定光照输入。
6、进一步地,所述虚拟场景为已完成光照设计的静态场景,所述环境贴图在材质编辑过程中保持不变,保证了材质编辑期间光照条件的一致性,避免光照变化对材质外观判断的干扰。
7、s2:基于所述环境贴图,预计算生成单张镜面反射基底图。预计算时将材质粗糙度参数设定为1,在该设定下,以球面上每个方向为法线,分别对所述环境贴图执行余弦加权半球面积分,得到每个方向上镜面反射能量呈最分散形态的分布结果,将各方向的所述镜面反射能量值存储为所述镜面反射基底图。
8、不同于常规方法需要为不同粗糙度等级预计算多张滤波贴图,本步骤仅生成一张基底图,后续任意粗糙度的镜面反射均通过双路径采样从该基底图中重构获得,预计算的数据量和存储开销大幅降低。
9、进一步地,对应微面元法线处于完全随机分布的状态,此时镜面反射的叶瓣形状覆盖整个法向半球,该状态下镜面反射包含了环境光照最完整的球面信息,仅需此一张基底图即可完整描述该光照环境对任意粗糙度材质的镜面反射响应。
10、进一步地,所述镜面反射基底图以立方体贴图格式存储,便于根据方向向量快速检索对应能量值。所述镜面反射基底图仅在所述环境贴图发生变化时重新生成,在材质编辑阶段预计算仅执行一次,整个编辑会话中持续复用。
11、s3:在实时材质编辑阶段,获取用户针对当前虚拟材质所设定的目标粗糙度值,的取值范围为0到1,的取值决定了材质表面镜面反射的散布程度。
12、s4:根据执行散布采样,具体包括:
13、由当前着色点的视线方向和表面法线方向计算镜面反射方向;
14、由确定球面扰动锥角,所述球面扰动锥角随增大而单调增大,粗糙度越大时散射范围越宽;
15、以所述镜面反射方向为中心轴、以所述球面扰动锥角为半张角确定锥形区域,在所述锥形区域内生成随机单位向量作为随机扰动向量;
16、将所述镜面反射方向与所述随机扰动向量相加并归一化,得到散布采样方向;
17、以所述散布采样方向对所述镜面反射基底图进行一次点采样,获得散布反射颜色。
18、散布采样模拟了粗糙材质对入射光的散射行为。所述散布反射颜色反映了粗糙材质将镜面反射能量散射到非完美镜面反射方向上的贡献,该贡献与步骤s5获得的集中反射颜色共同构成重构任意粗糙度镜面反射外观的两个基础分量。
19、进一步地,所述由确定球面扰动锥角包括:建立与所述球面扰动锥角的映射关系,增大时所述球面扰动锥角单调增大,使散射范围随粗糙度增加而扩大;所述球面扰动锥角的最大值为,对应完全粗糙状态下散射范围覆盖整个法向半球。
20、进一步地,所述随机扰动向量使采样方向偏离所述镜面反射方向的角度由控制,该偏离角度不大于所述球面扰动锥角,确保散布采样的方向范围与目标粗糙度保持物理一致性。
21、s5:根据执行集中采样,包括:以所述镜面反射方向对所述镜面反射基底图进行一次点采样,获得集中反射颜色。
22、集中采样捕获了光滑材质在完美镜面反射方向上的能量集中贡献。该集中反射颜色与步骤s4获得的散布反射颜色分别对应完全光滑和完全粗糙两个极端状态,为后续混合重构提供了完整的取值边界。
23、进一步地,步骤s4和步骤s5中,所述点采样均不启用纹理滤波,仅获取单个最近纹素的值,保持预计算阶段存入基底图的原始能量值不受相邻纹素混合的影响。
24、s6:由计算混合权重,与呈单调递减关系,的取值范围为0到1。材质越光滑时越接近1,镜面反射越倾向于集中反射;材质越粗糙时越接近0,镜面反射越倾向于散布反射。该单调递减关系将粗糙度这一连续物理参数映射为双路径颜色分量的混合比例,驱动镜面反射外观在光滑与粗糙之间平滑过渡。
25、进一步地,与的关系表述为:,其中为大于0的预设常数。通过调整的取值,可控制镜面反射外观随粗糙度变化的响应曲线。
26、s7:利用对所述散布反射颜色与所述集中反射颜色进行线性混合,得到重构镜面反射颜色。通过调整,所述重构镜面反射颜色在完全光滑到完全粗糙之间连续变化,整个过程中无需重新执行光照积分。
27、该线性混合的本质是将粗糙度变化转化为对两个预先获取的颜色分量进行插值,避免了传统方法中修改粗糙度即需重新积分的重复计算。
28、s8:将所述重构镜面反射颜色与独立计算的漫反射颜色,按菲涅尔反射模型进行混合,得到最终着色的屏幕像素值。材质外观由此同时包含与粗糙度相关的镜面反射分量和与粗糙度无关的漫反射分量。
29、进一步地,所述漫反射颜色由所述虚拟材质的漫反射颜色参数与所述环境贴图的漫反射积分结果混合计算得到,该计算过程与无关,在粗糙度参数编辑过程中漫反射颜色保持恒定,不会因粗糙度的调整而发生色偏。
30、进一步地,在实时材质编辑阶段,每次变化时,更新并重新执行步骤s4和步骤s5。整个更新过程中不触发对所述环境贴图的重新积分,也不重新生成所述镜面反射基底图,计算开销仅限于两次贴图采样和少量乘加运算,从而实现了粗糙度编辑的实时响应。
31、进一步地,在实时材质编辑阶段,连续变化时,步骤s4中的随机扰动向量逐帧更新,步骤s6中的在同一着色器调用中同步更新。通过的连续递减和扰动向量的逐帧更新,材质表面反射外观随的连续变化呈现平滑过渡,不会出现视觉上的突变或闪烁。
32、本发明的技术效果和优点:
33、其一,本发明在预计算阶段仅生成单张镜面反射基底图,该基底图在完全粗糙状态下对环境贴图执行半球面积分获得,包含了环境光照在球面上最完整的能量分布信息。实时编辑阶段通过散布采样和集中采样分别获取两个极端状态下的颜色分量,再由粗糙度驱动的混合权重进行线性混合,重构出任意中间粗糙度的镜面反射外观。整个编辑过程中不触发对环境贴图的重新积分,也不重新生成基底图,有助于减少重复计算开销,改善编辑响应速度。
34、其二,本发明将粗糙度变化时的镜面反射计算转化为对预计算基底图的两次点采样和一次混合运算。混合权重与粗糙度之间采用单调递减关系,使材质反射外观在完全光滑和完全粗糙之间连续过渡。当粗糙度连续变化时,随机扰动向量逐帧更新,混合权重同步更新,两者共同保证外观变化的平滑性,不会出现视觉上的突变或闪烁。漫反射分量的计算过程与粗糙度参数无关,进一步保证了编辑过程中材质颜色的稳定性。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com