[发明专利]一种在实时渲染系统中模拟IES精确光照的方法有效
申请号: | 201610628474.X | 申请日: | 2016-08-03 |
公开(公告)号: | CN106327567B | 公开(公告)日: | 2020-09-25 |
发明(设计)人: | 陈健 | 申请(专利权)人: | 陈健;厦门汇鑫元软件有限公司 |
主分类号: | G06T15/50 | 分类号: | G06T15/50 |
代理公司: | 厦门创象知识产权代理有限公司 35232 | 代理人: | 尤怀成 |
地址: | 361000 福建省厦门市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实时 渲染 系统 模拟 ies 精确 光照 方法 | ||
本发明公开了一种在实时渲染系统中模拟IES精确光照的方法,摒弃了传统的贴图烘焙方法,通过对IES文件中角度及光照强度数据的提取与预处理,在模拟IES文件所反映出的光照曲线的情况下计算出实时光照参数,应用求解出的实时光照参数到实时渲染系统的固定管线光照或与固定管线相同的可编程着色器光照模型,形成实时照明。
技术领域
本发明涉及灯光仿真渲染方法,尤其涉及一种在实时渲染系统中模拟IES精确光照的方法。
背景技术
目前通用的精确IES光照一般使用烘焙贴图的方法,即根据IES文件保存的光照物理数据,计算出影响范围内的每个点得亮度,将这些亮度加成到三维模型的表面材质中作为光照贴图。此种方法渲染模拟出的效果较为准确,但烘焙时间过长,无法实现实时渲染,并且额外增加了纹理资源的负载。
发明内容
本发明的目的在于克服上述现有技术的不足,提供一种在实时渲染系统中模拟IES精确光照的方法。
为实现上述目的,本发明采用以下技术方案:
一种在实时渲染系统中模拟IES精确光照的方法,包括以下步骤:
S1、读取光源的IES文件中大于等于0的N+1个位置的光照角度A[i](i=0,…,N)及其对应的光照强度数据I[i](i=0,…,N),并将光照强度数据规范化为等光强的距离因子D[i](i=0,…,N);
S2、求解等光强的距离因子D[i]在极坐标中的X轴分量集dx[i]与Y轴分量集dy[i],并找出X轴分量集dx[i]中的最大值dx[m],则有,
dx[i]=D[i]*sin(A[i]),(i=0,…,N) 式1)
dy[i]=D[i]*cos(A[i]),(i=0,…,N) 式2)
dx[m]=max(dx[i]),(i=0,…,N;0mN) 式3);
S3、对所述X分量集dx[i]及Y轴分量集dy[i]作归一化处理,获得X轴分 量集的单位根集d′x[i]及Y轴分量集的单位根集d′y[i],则有,
S4、分别累加所述单位根集d′x[i]及d′y[i],获得点坐标(X,Y),则有,
S5、求解点坐标(X,Y)与坐标轴X=0的夹角θ的余弦值,则有,
S6、对光源进行分类:寻找光照角度A[i]中的最大角度值当时,将光源视为聚光灯模型;当但D[n]≠D[0]时,仍将光源仍视为聚光灯模型,将θ与分别作为聚光灯的内角与外角;当且D[n]=D[0]时则将光源视为点光源模型;
S7、根据光源的分类求解对应的光照参数:
对于点光源模型,其光照表达式为对于聚光灯模型,其光照表达式为式中,c为衰减常数,l为一次系数,q为二次系数,θ为内角,为外角,d为距离,a为主光轴夹角,
不失一般性,令
定义IES文件中光照强度数据最大时,其光强强度P=1,随着光照强度的递减,光强强度线性衰减,则P=1时,c+l*d+q*d2=K,根据步骤2中dx[m]的下标m,取对应位置的距离因子D[m]和光照角度A[m],及坐标原点的距离因子D[0]和光照角度A[0]代入方程联立方程组:
当为聚光灯模型时,代入步骤S6中的θ与值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陈健;厦门汇鑫元软件有限公司,未经陈健;厦门汇鑫元软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610628474.X/2.html,转载请声明来源钻瓜专利网。