[发明专利]一种基于层次的覆盖全空域的云表示与实时绘制方法在审
申请号: | 202110226262.X | 申请日: | 2021-03-01 |
公开(公告)号: | CN113327314A | 公开(公告)日: | 2021-08-31 |
发明(设计)人: | 易康睿;李胜;汪国平 | 申请(专利权)人: | 北京大学 |
主分类号: | G06T13/60 | 分类号: | G06T13/60;G06T15/00;G06T15/20;G06T1/20 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
地址: | 100871 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 层次 覆盖 空域 表示 实时 绘制 方法 | ||
1.一种基于层次的覆盖全空域的云表示与实时绘制方法,其特征在于,根据空中云层距离视点的不同远近分别设置一对应的层次细节表示和绘制方法,绘制云层并对绘制结果进行平滑过渡处理,组合渲染满天空的云层;其中,采用LoD0算法绘制第一级距离范围内的云层、采用LoD1算法绘制第二级距离范围内的云层、采用LoD2算法绘制第三级距离范围内的云层、采用LoD3算法绘制第四级距离范围内的云层;第一级距离范围的距离<第二级距离范围的距离<第三级距离范围的距离<第四级距离范围的距离;其中:
1)LoD0算法为传统的粒子云绘制方法;
2)LoD1算法为:
2-1)给定期望生成的粒子半径R和数量m,计算LoD0粒子集合的坐标轴对齐包围盒;
其中LoD0粒子集合为LoD0算法所得的粒子集合;
2-2)在包围盒中随机生成多个新的半径为R的粒子,其数量是m的数倍;
2-3)如果生成的新粒子与LoD0粒子集合中粒子的重合体积小于设定值h,或该新粒子与其他新粒子重合体积大于设定值H,则丢弃该新粒子;
2-4)调整设定值h、H,重复步骤2-3),最终留下m个新粒子;
3)LoD2算法为对粒子云实时渲染算法进行改进的算法,其中改进之处包括:a)不计算云粒子上的光照,将云粒子的累积光学厚度写入贴图;b)投影方式选用平行投影而非透视投影;
4)LoD3算法为带有噪声的雾化绘制方法。
2.如权利要求1所述的方法,其特征在于,对于LoD0算法、LoD1算法和LoD2算法,在GPU端进行绘制粒子前先对粒子排序,然后按照从远到近的顺序绘制;其中GPU端对粒子排序的方法为:
21)设定GPU并行计算单元大小为W,W为2的幂次;将构成云的粒子的数据构造为W×H大小的矩阵,其中H≤W;
22)若两粒子的序号之差不超过W,则采用双调排序算法进行比对排序;当两粒子的序号差大于W时,则先将矩阵转置后再采用双调排序算法进行比对排序。
3.如权利要求2所述的方法,其特征在于,对于LoD0算法、LoD1算法和LoD2算法,优先在GPU端进行绘制粒子前先对粒子排序,同时支持CPU快速排序算法;然后按照从远到近的顺序绘制;其中CPU快速排序算法为:在云模块中保存多帧收集到的粒子数组信息,当前帧使用上一帧的排序结果,并将当前帧的排序结果在下一帧再发送到图形硬件绘制;如果预期排序的时间消耗不超过一帧,则在当前帧将需要排序的粒子转交给排序线程,下一帧取回排好序的粒子并使用图形接口发送;若预期排序消耗超过一帧,则开启多个排序线程,绘制时取回多帧前排好序的粒子数据。
4.如权利要求1所述的方法,其特征在于,LoD0算法对应的第一级距离范围为72km以内,LoD1算法对应的第二级距离范围为72km至288km,LoD2算法对应的第三级距离范围为288km至512km,LoD3算法对应的第四级距离范围为512km以外。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110226262.X/1.html,转载请声明来源钻瓜专利网。