[发明专利]一种基于空间预探索的真实过渡阴影实现方法有效
申请号: | 202010057152.0 | 申请日: | 2020-01-17 |
公开(公告)号: | CN111243077B | 公开(公告)日: | 2022-08-12 |
发明(设计)人: | 陈旋;周海;王立森 | 申请(专利权)人: | 江苏艾佳家居用品有限公司 |
主分类号: | G06T15/80 | 分类号: | G06T15/80 |
代理公司: | 南京新慧恒诚知识产权代理有限公司 32424 | 代理人: | 邓唯 |
地址: | 211100 江苏省南京市江宁区*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 空间 探索 真实 过渡 阴影 实现 方法 | ||
本发明公开了一种基于空间预探索的真实过渡阴影实现方法,属于室内实时光照渲染领域,包含网格物体的三角形存入kDopTree;网格物体的空间均匀分割成空间块;空间块内生成采样射线;空间块内射线探索和网格三角形的交点;空间块的最小距离存入3D纹理;建立网格物体和3D纹理内数据的对应;步进像素并读取3D纹理数据计算阴影。本发明大幅改善了传统阴影渲染算法的边缘真实过渡问题和深度偏移问题,通过基于射线的空间步进累加遮挡体积的数学模型从根本上改良了单纯基于阴影贴图的数学模型,计算得到的阴影更加物理正确,极大降低实时阶段的计算开销,在实时阶段只需要读取中间结果即可根据射线空间步进的数学模型快速得到阴影结果。
技术领域
本发明属于室内实时光照渲染领域,尤其涉及一种基于空间预探索的真实过渡阴影实现方法。
背景技术
实时光照渲染的阴影渲染方法:
以光源位置作为视点,基于深度缓冲算法,将每个像素点的深度值也就是距离光源最近的对象距离记录在深度缓冲,输出到帧缓冲关联的深度纹理中,生成深度贴图;
以正常摄像机作为视点,将每个像素到光源的距离和阴影贴图中保存的深度值进行比较,如果大于后者则说明被其他物体遮挡处于阴影之中;
该类方法的主要缺陷:
深度偏移问题,通常称为自阴影问题,原因是阴影贴图的精度是离散的,多个像素会对应到同一个纹素
走样问题,阴影边缘的锯齿状痕迹,边缘过渡不真实。
发明内容
本发明所要解决的技术问题是针对背景技术的不足提供一种基于空间预探索的真实过渡阴影算法,其提升了网格物体渲染过程中阴影边缘过渡的真实感,可作为室内渲染领域阴影渲染的可行优化方案。
本发明为解决上述技术问题采用以下技术方案:
一种基于空间预探索的真实过渡阴影实现方法,具体包括以下步骤:
步骤1,将网格物体的三角形存入kDopTree,其中,kDopTree是一种基于方差分割的树结构;
步骤2,将网格物体的空间均匀分割成空间块,进而对每个空间块进行空间的预探索获得场景物体的位置信息;
步骤3,在空间块内生成采样射线,对于步骤2得到的每一个空间块Box,其边界分别为块最小值Box.Min,块最大值Box.Max,空间块的中心位置Box.Center=(Box.Min+Box.Max)/2,从中心位置均匀发射出M条射线,射线的方向记为Ray.Dir,每条射线和步骤1中的kDopTree中的三角形求交点P,得到块中心到网格物体的最小长度;计算每个块到网格物体的最小长度;
其中,P=Intersect(Ray.Dir,Mesh.Triangles),P为交点,Ray.Dir为射线的方向,Mesh.Triangles是网格物体内的三角形;
步骤4,获取空间块内射线探索和网格三角形的交点,得到最小长度,逐级判断射线和树子节点范围的位置关系;
步骤5,将空间块的最小距离存入3D纹理;
步骤6,建立网格物体和3D纹理内数据的对应关系,根据步骤2中得到的空间块,创建3D纹理,且每一个纹理的像素对应一个空间块,像素值对应空间块到网格物体的最小距离;
步骤7,步进像素并读取3D纹理数据计算阴影。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏艾佳家居用品有限公司,未经江苏艾佳家居用品有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010057152.0/2.html,转载请声明来源钻瓜专利网。