CN113568996B - 一种基于osgEarth的多图层掉帧优化方法及系统 - Google Patents
一种基于osgEarth的多图层掉帧优化方法及系统 Download PDFInfo
- Publication number
- CN113568996B CN113568996B CN202110865516.2A CN202110865516A CN113568996B CN 113568996 B CN113568996 B CN 113568996B CN 202110865516 A CN202110865516 A CN 202110865516A CN 113568996 B CN113568996 B CN 113568996B
- Authority
- CN
- China
- Prior art keywords
- texture
- layer
- image
- rgbdata
- transparency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000005457 optimization Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000009877 rendering Methods 0.000 claims abstract description 10
- 239000003086 colorant Substances 0.000 claims description 5
- 230000009191 jumping Effects 0.000 claims description 4
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims description 2
- 239000013598 vector Substances 0.000 description 3
- 238000012876 topography Methods 0.000 description 2
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Generation (AREA)
Abstract
一种基于osgEarth的多图层掉帧优化方法及系统。1)合并瓦片的纹理影像:2)利用合并后的纹理图片创建瓦片;3)创建好的瓦片与原来相同的流程进行挂在和渲染。本优化方案中的纹理影像合并在CPU中进行,并且和帧渲染不在同一个线程,这样有效的减缓了操作中GPU的压力,从而提升多图层操作的流畅度,使得帧率稳定,通过瓦片上纹理图片合并,使得之前多图层拖动,明显的卡顿的现象消失,帧率变得稳定。
Description
技术领域
本发明属于计算机图形技术领域,特别涉及一种基于osgEarth的多图层掉帧优化方法及系统。
背景技术
OsgEarth是一款开源的三维数字地球引擎,由于它本身兼具地理和三维特性,因此在GIS(地理信息系统)行业有着广泛的应用。其中最典型的应用就是高程、影像、矢量、海图等数据的加载与显示。当前OsgEarth都是以瓦片的形式加载地形和影像等,每个瓦片都是根据地形数据生成瓦片顶点,当瓦片范围内有多张影像图层时,那么该瓦片就对应多张纹理图片,在渲染的过程中就需要将所有张纹理图片都进行数据绑定和渲染。在单个的影像图层加载中,随便操作地球,都可以稳定在60帧(满帧),随着矢量栅格化与海图栅格化的盛行(栅格化后和影像图层的方式加载相同),多图层的加载运用的场景也越来越多,当图层多较多,拖动地球会明显的感觉到掉帧(卡顿)。
发明内容
本发明的目的是提供一种基于osgEarth的多图层掉帧优化方法及系统,以解决上述问题。
为实现上述目的,本发明采用以下技术方案:
一种基于osgEarth的多图层掉帧优化方法,包括以下步骤:
a.请求获取瓦片上的所有影像图层的纹理图片;
b.创建用于存储目标纹理的透明度,以及目标纹理的RGB的空间
c.将创建的空间内容初始化为0;
d.遍历影像图层,根据图层ID获取该图层在瓦片上的纹理图片image,遍历完成跳到步骤h;
e.如果image的大小不为256*256个像素大小,则将采用双线性插值算法将图片缩放为256*256
f将image作为前景利用AlphaData和RGBData进行叠加,叠加结果的RGB存放在RGBData中,透明度存放在AlphaData中;
g.若叠加后的AlphaData的值都为不透明则进行下一步,否则调到步骤d;
h.将RGBData和AlphaData作为前景和背景色进行叠加,叠加的结果放在RGBData和AlphaData中;
i.根据RGBData和AlphaData创建一个四通道的图片finalImage;
j.根据finalImage图片创建瓦片节点。
进一步的,创建一个空间AlphaData用于存储目标纹理的透明度;创建一个空间RGBData用于存储目标纹理的RGB。
进一步的,空间AlphaData的大小为256*256个字节,空间RGBData的大小为256*256*3个字节;AlphaData和RGBData称作画板。
进一步的,将纹理图片绘制到画板上具体包括:
1)合并瓦片的纹理影像;
2)利用合并后的纹理图片创建瓦片;
3)创建好的瓦片与优化前的流程相同的流程进行挂载和渲染。
进一步的,合并瓦片的纹理影像:
A.创建一个256*256的AlphaData数组和一个256*256*3的RGBData数组,类型为uchar;
B.将数组填充为背景颜色;
C.按原有的渲染顺序遍历瓦片上的纹理图片;
D.如果纹理影像图片为jpg则按照透明度为1在乘以该图层的透明度和A数组中的数据进行合并,并保存在A数组中;如果图片为png则直接用透明度乘以该图层的透明和A数组中的数据进行合并,并保存在A数组中;
E.如果遍历完成则进入下一步,否则取下一张纹理图片进入D步骤;
F.利用合并后A数组中数据创建一个纹理图片。
进一步的,如果image的大小不为256*256个像素大小,则将采用双线性插值算法将图片缩放为256*256。
进一步的,如果image三通道RGB图片则令其所有像素的透明度为不透明然后乘以该图层的透明度因子,如果image为四通道RGBA图片则透明度乘以该图层的透明度因子。
进一步的,一种基于osgEarth的多图层掉帧优化系统,包括:
图层获取模块,用于请求获取瓦片上的所有影像图层的纹理图片;
空间创建模块,用于创建用于存储目标纹理的透明度,以及目标纹理的RGB的空间;
遍历模块,用于遍历影像图层,根据图层ID获取该图层在瓦片上的纹理图片image,遍历完成跳到步骤g;
叠加模块,用于将image作为前景利用AlphaData和RGBData进行叠加,叠加结果的RGB存放在RGBData中,透明度存放在AlphaData中;
若叠加后的AlphaData的值都为不透明则进行下一步,否则调到步骤d;
将RGBData和AlphaData作为前景和背景色进行叠加,叠加的结果放在RGBData和AlphaData中;
根据RGBData和AlphaData创建一个四通道的图片finalImage;
瓦片节点创建模块,用于根据finalImage图片创建瓦片节点。
与现有技术相比,本发明有以下技术效果:
本优化方案中的纹理影像合并在CPU中进行,并且和帧渲染不在同一个线程,这样有效的减缓了操作中GPU的压力,从而提升多图层操作的流畅度,使得帧率稳定,通过瓦片上纹理图片合并,使得之前多图层拖动,明显的卡顿的现象消失,帧率变得稳定。
附图说明
图1是本发明单个瓦片纹理合并流程图;
具体实施方式
以下结合附图对本发明进一步说明:
请参阅图1:
1)合并瓦片的纹理影像:
A.创建一个256*256的AlphaData数组和一个256*256*3的RGBData数组,类型为uchar;
B.将数组填充为背景颜色;
C.根据图层ID获取该图层在瓦片上的纹理图片;
D.如果纹理影像图片为jpg则按照透明度为1(不透明)在乘以该图层的透明度和A数组中的数据进行合并,并保存在A数组中;如果图片为png则直接用透明度乘以该图层的透明和A数组中的数据进行合并,并保存在A数组中;
E.如果遍历完成则进入下一步,否则取下一张纹理图片进入D步骤;
F.利用合并后A数组中数据创建一个纹理图片。
2)利用合并后的纹理图片创建瓦片;
3)创建好的瓦片与原来相同的流程进行挂在和渲染。
具体方案:
a.请求获取瓦片上的所有影像图层的纹理图片;
b.创建一个大小为256*256个字节的空间AlphaData用于存储目标纹理的透明度;
c.创建一个大小为256*256*3个字节的空间RGBData用于存储目标纹理的RGB;
d.将AlphaData和RGBData空间内容初始化为0(AlphaData和RGBData后边也称作画板);
e.遍历影像图层,根据图层ID获取该图层在瓦片上的纹理图片(a中请求到的数据)image,遍历完成跳到步骤j;
f.如果image的大小不为256*256个像素(图片的长宽分别为256和256)大小,则将采用双线性插值算法将图片缩放为256*256;
g.如果image三通道RGB图片则令其所有像素的透明度为不透明然后乘以该图层的透明度因子,如果image为四通道RGBA图片则透明度乘以该图层的透明度因子;
h.将image作为前景利用AlphaData和RGBData进行叠加,叠加结果的RGB存放在RGBData中,透明度存放在AlphaData中;
i.若叠加后的AlphaData的值都为不透明则进行下一步,否则调到步骤e;
j.将RGBData和AlphaData作为前景和背景色进行叠加,叠加的结果放在RGBData和AlphaData中;
k.根据RGBData和AlphaData创建一个四通道的图片finalImage;
l.根据finalImage图片创建瓦片节点
实施例:
以矢量栅格化的方式加载陕西省高速、陕西省铁路、陕西省省道、陕西省建筑、陕西省国道、陕西省县道、陕西省省界为例,瓦片图层合并后的操作明显比之前的流畅。之前的掉帧主要是操作地球的过程中需要加载和卸载大量的瓦片,每个瓦片上又存在多个纹理影像,大量的纹理绑定和绘制使得GPU压力太大,导致卡顿掉帧;本优化方案中的纹理影像合并在CPU中进行,并且和帧渲染不在同一个线程,这样有效的减缓了操作中GPU的压力,从而提升多图层操作的流畅度,使得帧率稳定。
使用西安恒歌数码科技有限责任公司FreeXStudio平台进行如下实验:
在同一台机器上(CPU:Intel i7-9700F显卡:NVIDIA GeForce 650 Ti),对第二部分中加载的数据就行拉远拉近操作,最低帧率如下:
渲染方案 | 最低帧率 |
原有技术 | 20 |
优化后 | 55 |
西安恒歌数码科技有限责任公司的产品FreeXStudio是基于OpenSceneGraph、OsgEarth开发的多行业可自由扩展的二次开发GIS平台,该平台中图层合并版本对OsgEarth现有的瓦片加载技术进行了优化改造,使得多图层操作时的帧率稳定,操作流畅。
Claims (8)
1.一种基于osgEarth的多图层掉帧优化方法,其特征在于,包括以下步骤:
a.请求获取瓦片上的所有影像图层的纹理图片;
b.创建用于存储目标纹理的透明度,以及目标纹理的RGB的空间
c.将创建的空间内容初始化为0;
d.遍历影像图层,根据图层ID获取该图层在瓦片上的纹理图片image;
e.将image作为前景利用AlphaData和RGBData进行叠加,叠加结果的RGB存放在RGBData中,透明度存放在AlphaData中;
f.若叠加后的AlphaData的值都为不透明则进行下一步,否则调到步骤d;
g.将RGBData和AlphaData作为前景和背景色进行叠加,叠加的结果放在RGBData和AlphaData中;
h.根据RGBData和AlphaData创建一个四通道的图片finalImage;
i.根据finalImage图片创建瓦片节点。
2.根据权利要求1所述的一种基于osgEarth的多图层掉帧优化方法,其特征在于,创建一个空间AlphaData用于存储目标纹理的透明度;创建一个空间RGBData用于存储目标纹理的RGB。
3.根据权利要求2所述的一种基于osgEarth的多图层掉帧优化方法,其特征在于,空间AlphaData的大小为256*256个字节,空间RGBData的大小为256*256*3个字节;AlphaData和RGBData称作画板。
4.根据权利要求3所述的一种基于osgEarth的多图层掉帧优化方法,其特征在于,将纹理图片绘制到画板上具体包括:
1)合并瓦片的纹理影像;
2)利用合并后的纹理图片创建瓦片;
3)创建好的瓦片与优化前的流程相同的流程进行挂载和渲染。
5.根据权利要求4所述的一种基于osgEarth的多图层掉帧优化方法,其特征在于,合并瓦片的纹理影像:
A.创建一个256*256的AlphaData数组和一个256*256*3的RGBData数组,类型为uchar;
B.将数组填充为背景颜色;
C.按原有的渲染顺序遍历瓦片上的纹理图片;
D.如果纹理影像图片为jpg则按照透明度为1在乘以该图层的透明度和A数组中的数据进行合并,并保存在A数组中;如果图片为png则直接用透明度乘以该图层的透明和A数组中的数据进行合并,并保存在A数组中;
E.如果遍历完成则进入下一步,否则取下一张纹理图片进入D步骤;
F.利用合并后A数组中数据创建一个纹理图片。
6.根据权利要求1所述的一种基于osgEarth的多图层掉帧优化方法,其特征在于,如果image的大小不为256*256个像素大小,则将采用双线性插值算法将图片缩放为256*256。
7.根据权利要求1所述的一种基于osgEarth的多图层掉帧优化方法,其特征在于,如果image三通道RGB图片则令其所有像素的透明度为不透明然后乘以该图层的透明度因子,如果image为四通道RGBA图片则透明度乘以该图层的透明度因子。
8.一种基于osgEarth的多图层掉帧优化系统,其特征在于,基于权利要求1至7任意一项所述的一种基于osgEarth的多图层掉帧优化方法,包括:
图层获取模块,用于请求获取瓦片上的所有影像图层的纹理图片;
空间创建模块,用于创建用于存储目标纹理的透明度,以及目标纹理的RGB的空间;
遍历模块,用于遍历影像图层,根据图层ID获取该图层在瓦片上的纹理图片image,遍历完成跳到步骤g;
叠加模块,用于将image作为前景利用AlphaData和RGBData进行叠加,叠加结果的RGB存放在RGBData中,透明度存放在AlphaData中;
若叠加后的AlphaData的值都为不透明则进行下一步,否则调到步骤d;
将RGBData和AlphaData作为前景和背景色进行叠加,叠加的结果放在RGBData和AlphaData中;
根据RGBData和AlphaData创建一个四通道的图片finalImage;
瓦片节点创建模块,用于根据finalImage图片创建瓦片节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110865516.2A CN113568996B (zh) | 2021-07-29 | 2021-07-29 | 一种基于osgEarth的多图层掉帧优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110865516.2A CN113568996B (zh) | 2021-07-29 | 2021-07-29 | 一种基于osgEarth的多图层掉帧优化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113568996A CN113568996A (zh) | 2021-10-29 |
CN113568996B true CN113568996B (zh) | 2023-05-16 |
Family
ID=78169067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110865516.2A Active CN113568996B (zh) | 2021-07-29 | 2021-07-29 | 一种基于osgEarth的多图层掉帧优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113568996B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1351297A (zh) * | 2000-10-26 | 2002-05-29 | 上海奇码数字信息有限公司 | 具有网络拓扑结构的自适应信息处理系统 |
WO2006052390A2 (en) * | 2004-10-15 | 2006-05-18 | Seadragon Software, Inc. | System and method for managing communication and/or storage of image data |
CN107369200A (zh) * | 2017-07-04 | 2017-11-21 | 福建星网视易信息系统有限公司 | 一种3d场景特效处理方法及存储设备 |
CN110619675A (zh) * | 2019-09-11 | 2019-12-27 | 西安恒歌数码科技有限责任公司 | 基于OsgEarth的面矢量数据的加载方法 |
CN110634171A (zh) * | 2019-02-01 | 2019-12-31 | 天津完美引力科技有限公司 | 一种绘制地图的装置和方法 |
CN110738718A (zh) * | 2019-09-04 | 2020-01-31 | 中国国土勘测规划院 | 一种国土数据的三维可视化方法 |
CN111666363A (zh) * | 2020-04-22 | 2020-09-15 | 国家信息中心 | 一种海量高分辨率影像数据切片及质量控制的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2955409B1 (fr) * | 2010-01-18 | 2015-07-03 | Fittingbox | Procede d'integration d'un objet virtuel dans des photographies ou video en temps reel |
EP3077986B1 (en) * | 2013-12-04 | 2020-05-06 | Urthecast Corp. | Systems and methods for earth observation |
US10303925B2 (en) * | 2016-06-24 | 2019-05-28 | Google Llc | Optimization processes for compressing media content |
-
2021
- 2021-07-29 CN CN202110865516.2A patent/CN113568996B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1351297A (zh) * | 2000-10-26 | 2002-05-29 | 上海奇码数字信息有限公司 | 具有网络拓扑结构的自适应信息处理系统 |
WO2006052390A2 (en) * | 2004-10-15 | 2006-05-18 | Seadragon Software, Inc. | System and method for managing communication and/or storage of image data |
CN107369200A (zh) * | 2017-07-04 | 2017-11-21 | 福建星网视易信息系统有限公司 | 一种3d场景特效处理方法及存储设备 |
CN110634171A (zh) * | 2019-02-01 | 2019-12-31 | 天津完美引力科技有限公司 | 一种绘制地图的装置和方法 |
CN110738718A (zh) * | 2019-09-04 | 2020-01-31 | 中国国土勘测规划院 | 一种国土数据的三维可视化方法 |
CN110619675A (zh) * | 2019-09-11 | 2019-12-27 | 西安恒歌数码科技有限责任公司 | 基于OsgEarth的面矢量数据的加载方法 |
CN111666363A (zh) * | 2020-04-22 | 2020-09-15 | 国家信息中心 | 一种海量高分辨率影像数据切片及质量控制的方法及装置 |
Non-Patent Citations (1)
Title |
---|
周友华等."Multigen Creator几何建模中的纹理优化".《电脑编程技巧与维护》.2021,145-146. * |
Also Published As
Publication number | Publication date |
---|---|
CN113568996A (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kopf et al. | One shot 3d photography | |
US20230053462A1 (en) | Image rendering method and apparatus, device, medium, and computer program product | |
US20220164919A1 (en) | Tile based computer graphics | |
US9424673B2 (en) | Efficient composition and rendering of graphical elements | |
US7598952B1 (en) | Three-dimensional image compositing on a GPU utilizing multiple transformations | |
US7280121B2 (en) | Image processing apparatus and method of same | |
EP0875860B1 (en) | Precise gradient calculation system and method for a texture mapping system of a computer graphics system | |
US8462159B2 (en) | Subdividing geometry images in graphics hardware | |
CN1659595B (zh) | 用于编码纹理信息的方法和设备 | |
Strugar | Continuous distance-dependent level of detail for rendering heightmaps | |
US9495767B2 (en) | Indexed uniform styles for stroke rendering | |
US11270507B1 (en) | Rendering textures utilizing sharp displacement mapping | |
US8195882B2 (en) | Shader complex with distributed level one cache system and centralized level two cache | |
US9811940B2 (en) | Bandwidth reduction using vertex shader | |
EP3580726B1 (en) | Buffer index format and compression | |
WO2016133730A1 (en) | Systems and methods for reducing memory bandwidth using low quality tiles | |
KR102569371B1 (ko) | 델타 색상 압축의 비디오 적용 | |
US11842443B2 (en) | Rendering three-dimensional objects utilizing sharp tessellation | |
JP2005100176A (ja) | 画像処理装置およびその方法 | |
US20160307294A1 (en) | Systems and Methods for Displaying Patterns of Recurring Graphics on Digital Maps | |
CN113568996B (zh) | 一种基于osgEarth的多图层掉帧优化方法及系统 | |
Thöny et al. | Large‐scale pixel‐precise deferred vector maps | |
US11948338B1 (en) | 3D volumetric content encoding using 2D videos and simplified 3D meshes | |
JP2000182069A (ja) | 画像処理装置およびその方法 | |
CN115880127A (zh) | 一种渲染格式选择方法及其相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |