A large-scale text rendering method based on OSG includes the following steps: step 1, merge the texture of all characters in the system into one or more merged textures; step 2, modify the texture coordinates of text vertices to point to the corresponding position in the newly generated large texture; step 3, merge text vertices and merge all text vertices into a single vertex memory And modify its index value; step 4, bind the vertex created in step 1 3, index, texture coordinate memory, bind the merged texture, render. Several thousand batches of rendering times were drastically reduced to several batches, which improved the rendering efficiency on the basis of ensuring the same display effect.
【技术实现步骤摘要】
一种基于OSG的大批量文字渲染方法
本专利技术属于地理信息系统
,特别涉及一种基于OSG的大批量文字渲染方法。
技术介绍
在地理信息系统(简称GIS)行业中,海量数据一直是地理数据的一个显著特征,无论是栅格矢量数据还是模型业务数据,都能轻松达到TB级,为了直观和便捷的查看这些庞大的数据,三维可视化技术发展迅速,而OpenSceneGraph(简称OSG)作为一款开源高效的三维引擎也受到了越来越广泛的应用。在三维场景中为了对所展示数据进行注释和说明,文字的使用已经成倍增加。例如我们经常加载的全国甚至全球的各级地名数据,从国家首都到各省省会,从各级地市再到村庄乡镇,文字的用量巨大,这给图形渲染带来了巨大的压力。以陕西省为例,其下大约有1768个乡镇,如果每个乡镇名都实时渲染的话,系统的渲染帧率会急速下降,导致卡顿甚至卡死。通常的硬件环境,按照常规的文字渲染方式,能够承受的文字渲染量大概在1000左右(具体由机器性能而定),而实际的需求远大于此。为了解决常规文字渲染效率低下与其巨大需求间的矛盾,通常的解决方案是利用LevelsofDetail(简称LOD)的思想, ...
【技术保护点】
1.一种基于OSG的大批量文字渲染方法,其特征在于,包括以下步骤:步骤1,将系统中所有文字的字符纹理合并到一张或者多张合并纹理上;步骤2,修改文字顶点的纹理坐标,使其指向新生成的大纹理中对应的位置;步骤3,合并文字顶点,将所有的文字顶点合并到一块顶点内存中,并修改其索引值;步骤4、绑定步骤1‑3中创建的顶点,索引,纹理坐标内存,绑定合并后的纹理,进行渲染。
【技术特征摘要】
1.一种基于OSG的大批量文字渲染方法,其特征在于,包括以下步骤:步骤1,将系统中所有文字的字符纹理合并到一张或者多张合并纹理上;步骤2,修改文字顶点的纹理坐标,使其指向新生成的大纹理中对应的位置;步骤3,合并文字顶点,将所有的文字顶点合并到一块顶点内存中,并修改其索引值;步骤4、绑定步骤1-3中创建的顶点,索引,纹理坐标内存,绑定合并后的纹理,进行渲染。2.根据权利要求1所述的一种基于OSG的大批量文字渲染方法,其特征在于,步骤1具体为:创建一张合并纹理,然后遍历每一个文本对象,取出其中的字符纹理,然后将字符纹理的像素值写入到合并纹理中,如果一张合并纹理不足以存储全部字符纹理,那么再创建一张新的合并纹理,并重复步骤1。3.根据权利要求2所述的一种基于OS...
【专利技术属性】
技术研发人员:何泉,李鹏飞,张尚,何振,王坤,刘洋,
申请(专利权)人:西安恒歌数码科技有限责任公司,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。