[发明专利]基于光子重采样的随机渐近光子映射图像渲染方法及系统有效
申请号: | 201910905563.8 | 申请日: | 2019-09-20 |
公开(公告)号: | CN110599579B | 公开(公告)日: | 2023-02-24 |
发明(设计)人: | 杨丽燕;康春萌 | 申请(专利权)人: | 山东师范大学 |
主分类号: | G06T15/06 | 分类号: | G06T15/06;G06T15/50;G06T5/00 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 黄海丽 |
地址: | 250014 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 光子 采样 随机 渐近 映射 图像 渲染 方法 系统 | ||
1.基于光子重采样的随机渐近光子映射图像渲染方法,其特征是,包括:
从视点发射第一光线,记录第一光线与场景物体的碰撞点位置为GatherPoint;
从光源发射第二光线,对第二光线与场景物体表面相交位置的所有的光子按照第二光线发射路径进行连接,得到光子图;
将光子图均匀划分为若干个连续的图像子块,计算每个图像子块内碰撞点距离误差值和光子数误差值;在着色阶段,遍历碰撞点GatherPoint;
首次执行时,对每一个碰撞点GatherPoint,根据设定半径进行光子采样;
在非首次执行时,对每一个碰撞点GatherPoint,根据碰撞点距离误差值和光子数误差值,计算碰撞点的若干个新的采样半径,利用若干个新的采样半径,对当前图像子块内碰撞点新的采样半径内的光子进行重新采样;当所有的碰撞点均进行光子重采样后,得到第一次渲染后的图像,返回着色阶段,直至满足设定迭代次数,得到渲染后的最终图像;
所述将光子图均匀划分为若干个连续的图像子块,计算每个图像子块内碰撞点距离误差值和光子数误差值的具体步骤包括:
将光子图均匀划分为若干个连续的图像子块,每一个图像子块中依次保存图像像素,并为图像子块建立索引;根据第一光线与场景物体的碰撞点位置GatherPoint设定搜索半径内的光子的数量和光子的位置坐标,计算每个图像子块内碰撞点距离误差值和光子数误差值;
碰撞点距离误差值等于当前图像子块内所有相邻碰撞点距离的平均值与当前图像子块内相邻碰撞点之间距离的最大值之间的比值;
光子数误差值等于当前图像子块内光子数量的平均值与当前图像子块内光子数量的最大值之间的比值;
所述的根据碰撞点距离误差值和光子数误差值对该碰撞点进行光子重采样的具体步骤包括:
当merrorm_ave时,缩小采样半径r;
当m_avem_ave_ave时,扩大采样半径r;
当m_avem_ave_ave时,则缩小采样半径r;
当derrord_ave时,缩小采样半径r;
其中,merror指的是当前图像子块内光子数的误差值,m_ave指的是当前图像子块内光子数量的平均值,m_ave_ave所有图像子块的平均值的平均值,derror指的是当前图像子块内所有碰撞点之间距离的误差值,d_ave指的是当前图像子块内所有碰撞点之间距离的平均值;
光子重采样半径扩大或缩小的公式:
r1=a1r;(1)
r2=a2r;(2)
r3=a3r;(3)
其中a1,a2,a3为半径变化系数;通过改变a1、a2和a3的值来改变采样半径;
公式(1)、公式(2)和公式(3)是同时使用的;首次采样半径为r,非首次采样的采样半径则根据公式(1)、公式(2)和公式(3)计算得出;计算出三个新的采样半径r1、r2和r3后,三个新的采样半径r1、r2和r3同时进入下一次的迭代步骤。
2.如权利要求1所述的方法,其特征是,所述从视点发射第一光线,记录第一光线与场景物体的碰撞点位置为GatherPoint的具体步骤包括:光线追踪阶段,从视点发射第一光线,第一光线在场景物体表面进行一系列的反射、折射或漫反射,直到第一光线逃离场景物体或者达到最大反射次数E;第一光线每一次的反射、折射或漫反射发生时,发生的位置即为第一光线与场景物体的碰撞点;记录第一光线与场景物体的碰撞点位置为GatherPoint。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东师范大学,未经山东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910905563.8/1.html,转载请声明来源钻瓜专利网。