[发明专利]一种批量三维态势目标尾迹实时绘制方法和系统有效
申请号: | 201811092295.4 | 申请日: | 2018-09-19 |
公开(公告)号: | CN109237999B | 公开(公告)日: | 2020-09-08 |
发明(设计)人: | 李坪泽;谈心;占伟伟;蒉露超 | 申请(专利权)人: | 中国电子科技集团公司第二十八研究所 |
主分类号: | F41A33/00 | 分类号: | F41A33/00 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 孟红梅 |
地址: | 210046 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 批量 三维 态势 目标 实时 绘制 方法 系统 | ||
1.一种批量三维态势目标尾迹实时绘制方法,其特征在于,包括如下步骤:
(1)在CPU主线程中裁剪掉不需要显示的尾迹对象,将过滤得到的需要绘制的尾迹对象依次填满容量固定的单批次渲染列表,并向辅助线程发出处理请求;
(2)辅助线程收到请求后依次将每一个单批次渲染列表中所有对象的尾迹点合并形成可以被GPU处理的顶点缓存、索引缓存和均衡缓存,并交还给主线程;其中,顶点缓存中写入了各尾迹点的世界坐标和扩展方向向量,索引缓存中写入了各尾迹点在三角面中的位置关系,均衡缓存中写入了各尾迹点的样式;辅助线程处理的步骤包括:
(2.1)维护一个工作队列,从主线程发出的请求中获取单批次渲染列表;
(2.2)每一个列表将按目标顺序取出点并合并成一个大对象,构建其VBO,其中每个顶点写入世界坐标和扩展方向向量,每个点坐标写两遍,扩展方向相反;
(2.3)根据顶点在三角面中的序列,构建IBO;
(2.4)根据设定的样式将每一条尾迹所独有的颜色、渐变距离、宽度属性信息写入UBO;
(2.5)将构建好的VBO、IBO和UBO绑定放进工作队列,待主线程获取;
(3)主线程将顶点缓存、索引缓存和均衡缓存数据和投影矩阵传递给GPU,GPU再将尾迹点数据扩展成三角面,并根据指定的样式对三角面进行视觉效果调整,最后与投影矩阵相乘得到可以叠加渲染到屏幕上的纹理缓存;GPU处理的步骤包括:
(3.1)从CPU获取每个单批次渲染列表内对象合并后的VBO、IBO、UBO;
(3.2)针对VBO中的每一个顶点,将其世界坐标矩阵与扩展方向向量、宽度形成的矩阵相乘得到扩展后的三角面顶点;
(3.3)根据IBO将扩展后的顶点形成三角面;
(3.4)根据UBO中的渐变距离与颜色值为三角面着色,控制透明度以形成头尾虚化效果;
(3.5)为每个顶点乘以投影矩阵,得到最终渲染的屏幕坐标。
2.根据权利要求1所述的批量三维态势目标尾迹实时绘制方法,其特征在于,步骤(1)中主线程处理的步骤包括:
(1.1)遍历场景内所有尾迹对象,根据其目标的飞行姿态计算扩展方向向量;其中扩展方向与飞行方向横向垂直;
(1.2)将对象当前帧所在位置坐标与扩展方向向量推送给尾迹对象存储;
(1.3)根据需求设置尾迹样式,包括显示长度、颜色和渐变距离;
(1.4)根据相机参数进行视椎体裁剪,得到当前帧需要被渲染的尾迹对象集合;
(1.5)将需要被渲染的尾迹对象依次填满一定容量的单批次渲染列表,通知辅助线程进行处理。
3.根据权利要求1所述的批量三维态势目标尾迹实时绘制方法,其特征在于,CPU主线程在与辅助线程进行数据调度时,只在缓存交换时加线程锁。
4.根据权利要求1所述的批量三维态势目标尾迹实时绘制方法,其特征在于,CPU主线程与辅助线程之间采用双缓存交替渲染机制,一份缓存在主线程渲染时,另一份在辅助线程里重构,交替往复。
5.一种批量三维态势目标尾迹实时绘制系统,其特征在于,包括数据调度模块、渲染批次合并模块和GPU协作模块;其中,
数据调度模块,由CPU主线程执行,用于裁剪掉不需要显示的尾迹对象,将过滤得到的需要绘制的尾迹对象依次填满容量固定的单批次渲染列表,并向辅助线程发出处理请求;以及在辅助线程处理完成后,将缓存数据和投影矩阵传递给GPU;
渲染批次合并模块,由辅助线程执行,用于在收到主线程的处理请求后依次将每一个单批次渲染列表中所有对象的尾迹点合并形成可以被GPU处理的顶点缓存、索引缓存和均衡缓存,并交还给主线程;其中,顶点缓存中写入了各尾迹点的世界坐标和扩展方向向量,索引缓存中写入了各尾迹点在三角面中的位置关系,均衡缓存中写入了各尾迹点的样式;辅助线程处理的步骤包括:维护一个工作队列,从主线程发出的请求中获取单批次渲染列表;每一个列表将按目标顺序取出点并合并成一个大对象,构建其VBO,其中每个顶点写入世界坐标和扩展方向向量,每个点坐标写两遍,扩展方向相反;根据顶点在三角面中的序列,构建IBO;根据设定的样式将每一条尾迹所独有的颜色、渐变距离、宽度属性信息写入UBO;将构建好的VBO、IBO和UBO绑定放进工作队列,待主线程获取;
GPU协作模块,由GPU执行,用于根据从CPU主线程获取的顶点缓存、索引缓存和均衡缓存数据和投影矩阵,将尾迹点数据扩展成三角面,并根据指定的样式对三角面进行视觉效果调整,最后与投影矩阵相乘得到可以叠加渲染到屏幕上的纹理缓存;GPU处理的步骤包括:从CPU获取每个单批次渲染列表内对象合并后的VBO、IBO、UBO;针对VBO中的每一个顶点,将其世界坐标矩阵与扩展方向向量、宽度形成的矩阵相乘得到扩展后的三角面顶点;根据IBO将扩展后的顶点形成三角面;根据UBO中的渐变距离与颜色值为三角面着色,控制透明度以形成头尾虚化效果;为每个顶点乘以投影矩阵,得到最终渲染的屏幕坐标。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第二十八研究所,未经中国电子科技集团公司第二十八研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811092295.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种操作简便的心脏按压装置
- 下一篇:一种流体激发固态颗粒运动的对称阻尼器