CN103559726B - 一种地图配色方法及着色器 - Google Patents
一种地图配色方法及着色器 Download PDFInfo
- Publication number
- CN103559726B CN103559726B CN201310596743.5A CN201310596743A CN103559726B CN 103559726 B CN103559726 B CN 103559726B CN 201310596743 A CN201310596743 A CN 201310596743A CN 103559726 B CN103559726 B CN 103559726B
- Authority
- CN
- China
- Prior art keywords
- texture mapping
- map
- tinter
- region
- color value
- 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
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明实施例公开了一种地图配色方法及着色器,本发明实施例方法包括:着色器接收用户输入的操作指令,所述着色器根据预先存储的地图切片数据生成多个对应的纹理贴图对象,对于各纹理贴图对象,所述着色器获取该纹理贴图对象的颜色值,所述着色器判断该纹理贴图对象是否位于所述地图配色区域内,若是,则所述着色器将该纹理贴图对象的颜色值设置为与地图配色区域的颜色值相等。本发明实施例实现了地图配色的目的,用户只需要修改对应的地图配色区域的颜色值就可以改变该地图配色区域显示地图要素的颜色,无需用户绘制其他图形,有效的提升了效率。
Description
技术领域
本发明涉及图像显示技术领域,尤其涉及的是一种地图配色方法及着色器。
背景技术
地图配色是指在地图制作的过程中,对某一类型的要素采用某种特定的颜色表示。比如河流一般用蓝色,公园用绿色,道路使用黄色等等。一般有一个标准规定如何配色。当完成了配色以后,往往把地图切片数据作为一种栅格数据保存在硬盘中成为地图缓存。当需要显示时,应用程序获取相应的区域地图进行显示。可见,地图制作完成以后,一般都不修改原始数据,而且修改数据要花费非常大的精力和时间。
应用中有时需要根据实际需求修改某种类型要素的颜色做突出显示。比如整个区域的河流受到污染时,要使用红色进行表示等等。为了解决这类问题,传统做法是在该区域之上显示一个红色的多边形,这样就可以做突出显示了。但是这种方法需要事先记录该区域的坐标,把该坐标构成为一个多边形;另外就是预处理完以后,在显示时还需要多绘制一些矢量图形。
因用户需要事先记录该区域的坐标,并需要进行相应的绘制,增加了用户的操作,而且效率不高。
发明内容
本发明实施例提供了一种地图配色方法及着色器,使得用户需要对地图进行配色时,只要更改颜色值即可,无须绘制额外的图形,提升了地图配色的效率。
一种地图配色方法,其中,包括:
着色器接收用户输入的操作指令,所述操作指令包括用户选定的地图配色区域和用户设定的所述地图配色区域的颜色值;
所述着色器根据预先存储的地图切片数据生成多个对应的纹理贴图对象;
对于各纹理贴图对象,所述着色器获取该纹理贴图对象的颜色值;
所述着色器判断该纹理贴图对象是否位于所述地图配色区域内;
若是,则所述着色器将该纹理贴图对象的颜色值设置为与所述地图配色区域的颜色值相等,以使该纹理贴图对象以用户设定的所述地图配色区域的所述颜色值进行显示。
所述的地图配色方法,其中,
若该纹理贴图对象没有位于所述地图配色区域内,则所述着色器将所述纹理贴图对象直接输出显示,以使该纹理贴图对象以所述着色器获取的该纹理贴图对象的颜色值进行显示。
所述的地图配色方法,其中,所述地图配色方法还包括:
所述着色器根据位于所述地图配色区域内的所述纹理贴图对象和没有位于所述地图配色区域内的所述纹理贴图对象绘制生成纹理贴图;
所述着色器将所述纹理贴图纹理映射到显示器上进行显示。
所述的地图配色方法,其中,所述着色器接收用户输入的操作指令之后还包括:
所述着色器调取预先存储在本地硬盘中的多个所述地图切片数据,并将多个所述地图切片数据加载到内存;
所述着色器根据所述地图切片数据生成多个对应的所述纹理贴图对象;
所述着色器对所有所述纹理贴图对象进行遍历,并分别对所有所述纹理贴图对象进行采样,获取每个所述纹理贴图对象的颜色值。
所述的地图配色方法,其中,所述着色器接收用户输入的操作指令具体包括:
所述着色器生成操作指令接收列表,所述操作指令接收列表用于接收用户输入的操作指令;其中,所述操作指令包括用户选定的地图配色区域和用户设定的所述地图配色区域的颜色值。
一种着色器,其中,包括:
操作指令接收单元,用于接收用户输入的操作指令,所述操作指令包括用户选定的地图配色区域和用户设定的所述地图配色区域的颜色值;
纹理贴图对象生成单元,用于根据预先存储的地图切片数据生成多个对应的纹理贴图对象;
颜色值获取单元,用于对于各纹理贴图对象,获取该纹理贴图对象的颜色值;
判断单元,用于判断该纹理贴图对象是否位于所述地图配色区域内;
颜色值重置单元,用于若所述判断单元判断出所述纹理贴图对象位于用户选定的所述地图配色区域内,则将该纹理贴图对象的颜色值设置为与所述地图配色区域的颜色值相等,以使该纹理贴图对象以用户设定的所述地图配色区域的所述颜色值进行显示。
所述的着色器,其中,所述着色器还包括:
颜色值显示单元,用于若该纹理贴图对象没有位于所述地图配色区域内,则将所述纹理贴图对象直接输出显示,以使该纹理贴图对象以所述颜色值获取单元获取的该纹理贴图对象的颜色值进行显示。
所述的着色器,其中,所述着色器还包括:
纹理贴图生成单元,用于根据位于所述地图配色区域内的所述纹理贴图对象和没有位于所述地图配色区域内的所述纹理贴图对象绘制生成纹理贴图;
纹理映射单元,用于将所述纹理贴图纹理映射到显示器上进行显示。
所述的着色器,其中,所述纹理贴图对象生成单元还用于,调取预先存储在本地硬盘中的多个所述地图切片数据,并将多个所述地图切片数据加载到内存,并根据所述地图切片数据生成多个对应的所述纹理贴图对象;
所述颜色值获取单元还用于,对所有所述纹理贴图对象进行遍历,并分别对所有所述纹理贴图对象进行采样,获取每个所述纹理贴图对象的颜色值。
所述的着色器,其中,所述操作指令接收单元还用于,生成操作指令接收列表,所述操作指令接收列表用于接收用户输入的操作指令;其中,所述操作指令包括用户选定的地图配色区域和用户设定的所述地图配色区域的颜色值。
本发明实施例提供了一种地图配色方法及着色器,该配色方法为通过着色器接收用户输入的操作指令,且该着色器根据地图切片数据对应生成纹理贴图对象,并判断纹理贴图对象是否位于用户选定的地图配色区域内,若是则着色器将纹理贴图对象的颜色值设置为与用户设定的地图配色区域的颜色值相等。因本发明实施例中用户可根据自身的需要设置地图配色区域和地图配色区域的颜色值,着色器将位于地图配色区域的纹理贴图对象的颜色值进行重新设置,使得其与用户设定的地图配色区域颜色值相等,从而实现了地图配色的目的;用户只需要修改对应的地图配色区域的颜色值就可以改变该地图配色区域显示地图要素的颜色,无需用户绘制其他图形,有效的提升了效率。
附图说明
图1为本发明实施例所提供的一种地图配色方法的一个实施例的步骤流程图;
图2为本发明实施例所提供的一种地图配色方法的另一个实施例的步骤流程图;
图3为本发明实施例所提供的一种地图配色方法的另一个实施例的步骤流程图;
图4为本发明实施例所提供的一种地图配色方法的另一个实施例的步骤流程图;
图5为本发明实施例所提供的一种着色器的一个实施例结构示意图;
图6为本发明实施例所提供的一种着色器的另一个实施例结构示意图;
图7为本发明实施例所提供的一种着色器的另一个实施例结构示意图;
图8为本发明实施例所提供的一种着色器的另一个实施例结构示意图。
具体实施方式
本发明实施例提供了一种地图配色方法及着色器,用于进行地图配色,且在进行地图配色的过程中不必用户绘制图形,提升了效率。
以下结合图1对本发明实施例所提供的一种地图配色方法做详细说明:
101、着色器接收用户输入的操作指令;
当用户需要对地图进行配色时,即可通过着色器输入操作指令。
其中,该着色器运行在显卡上,是用来执行特定转换或操作的独立的元件。
具体的,该操作指令可包括:用户选定的地图配色区域和用户设定的该地图配色区域的颜色值。
在实际应用中,用户可根据自身的需要在地图上选定地图配色区域,以及设定该地图配色区域的颜色值,使得该地图配色区域以用户选定的颜色值进行显示,达到了标记的目的。
例如当用户需要将已经被污染的河流区域进行标记显示时,用户即可选定该河流区域为地图配色区域,并可设定该河流区域的颜色值,即用户若希望河流区域为红色标记显示,则设定该河流区域的颜色值为与红色对应的颜色值。
102、该着色器根据预先存储的地图切片数据生成多个对应的纹理贴图对象;
其中,地图切片数据是计算机将其存储的地图进行渲染生成的,当用户进行地图显示时,计算机调取的是经过渲染的地图切片数据,而不是未经渲染的地图,从而不需要实时进行渲染,减少了处理的时间。
该着色器根据获取到的地图切片数据生成多个对应的纹理贴图对象。
其中,每一个纹理贴图对象对应一个纹理ID,并将生成的所有纹理贴图对象保存至纹理容器中,以使得着色器可以从该纹理容器中根据该纹理ID获取对应的纹理贴图对象。
本实施例中,该纹理贴图对象可以指地图上的要素,例如地图上显示的河流、公园、道路和山川等。
103、对于各纹理贴图对象,该着色器获取该纹理贴图对象的颜色值;
在地图制作过程中,可以将同一类型的纹理贴图对象用对应的特定颜色进行了表示,不同的纹理贴图对象具有不同的颜色值,例如河流用蓝色表示,山川用红色表示等。
104、该着色器判断该纹理贴图对象是否位于该地图配色区域内;
用户已经设置了需要进行标记的地图配色区域,着色器对各个纹理贴图对象进行逐一的判断,即判断各个纹理贴图对象是否位于地图配色区域内。
105、若是,则该着色器将该纹理贴图对象的颜色值设置为与该地图配色区域的颜色值相等,以使该纹理贴图对象以用户设定的该地图配色区域的颜色值进行显示。
着色器获取位于地图配色区域内的纹理贴图对象,并将该纹理贴图对象的颜色值进行重置。
具体的是,该着色器将纹理贴图对象的颜色值设置为与该地图配色区域的颜色值相等,从而使得该纹理贴图对象以用户设定的该地图配色区域的颜色值进行显示。
本实施例中,用户可根据自身的需要在地图上选定地图配色区域并设定该地图配色区域的颜色值,着色器获取位于该地图配色区域内的纹理贴图对象,并将该纹理贴图对象的颜色值进行重置,使得位于地图配色区域内的纹理贴图对象以用户设定的该地图配色区域的该颜色值进行显示,从而达到了改变纹理贴图对象颜色的目的,且在改变的过程中,无需用户绘制图形,提升了效率。而且因着色器是运行在显卡中,并且为大规模并行运行,使得着色器在对着色器中纹理贴图对象进行修改能具有较高的处理速度。
以上实施例说明了如何进行地图配色,以下结合图2所示说明如何对位于不同位置的纹理贴图对象进行处理:
201、着色器接收用户输入的操作指令;
202、该着色器根据预先存储的地图切片数据生成多个对应的纹理贴图对象;
203、对于各纹理贴图对象,该着色器获取该纹理贴图对象的颜色值;
本实施例中步骤201至步骤203与图1所示的步骤101至步骤103过程相同在此不再赘述。
204、该着色器判断该纹理贴图对象是否位于该地图配色区域内;若是,则进行步骤205;若否,则进行步骤206;
着色器对所有纹理贴图对象进行判断,进而将所有纹理贴图对象区分为两类:一类是位于地图配色区域内的纹理贴图对象,另一类是没有位于地图配色区域内的纹理贴图对象。
205、该着色器将该纹理贴图对象的颜色值设置为与该地图配色区域的颜色值相等,以使该纹理贴图对象以用户设定的该地图配色区域的颜色值进行显示;
即着色器获取位于地图配色区域内的纹理贴图对象,并使得该纹理贴图对象以用户设定的该地图配色区域的颜色值进行显示,达到了对特定纹理贴图对象进行标记显示的目的。
206、该着色器将该纹理贴图对象直接输出显示,以使该纹理贴图对象以该着色器获取的该纹理贴图对象的颜色值进行显示。
若纹理贴图对象没有位于地图配色区域内,则说明不需要对该纹理贴图对象进行标记显示。
则该纹理贴图对象直接输出显示即可,即纹理贴图对象以该着色器获取的该纹理贴图对象的颜色值进行显示。
本实施例中,着色器对纹理贴图对象进行判断,从而获取到位于地图配色区域内的纹理贴图对象和没有位于地图配色区域内的纹理贴图对象;并根据用户预先的设定将位于地图配色区域内的纹理贴图对象的颜色值进行重置,而将没有位于地图配色区域内的纹理贴图对象直接输出显示,从而使得用户能够改变地图上要素的显示颜色,且在操作过程中无需绘制图形,无需记录区域坐标,为用户带来方便的同时,提升了效率。
图2所示的实施例说明了如何对位于不同位置的纹理贴图对象进行处理,以下结合图3所示的实施例说明如何将不同位置的纹理贴图对象在显示器上显示出来:
301、着色器接收用户输入的操作指令;
302、该着色器根据预先存储的地图切片数据生成多个对应的纹理贴图对象;
303、对于各纹理贴图对象,该着色器获取该纹理贴图对象的颜色值;
304、该着色器判断该纹理贴图对象是否位于该地图配色区域内;若是,则进行步骤305;若否,则进行步骤306;
305、该着色器将该纹理贴图对象的颜色值设置为与该地图配色区域的颜色值相等,以使该纹理贴图对象以用户设定的该地图配色区域的颜色值进行显示;
306、该着色器将该纹理贴图对象直接输出显示,以使该纹理贴图对象以该着色器获取的该纹理贴图对象的颜色值进行显示;
本实施例中的步骤301至步骤306与图2所示的步骤201至步骤206过程相同,在此不再赘述。
307、该着色器根据位于该地图配色区域内的该纹理贴图对象和没有位于该地图配色区域内的该纹理贴图对象绘制生成纹理贴图;
即该着色器获取位于该地图配色区域内的该纹理贴图对象和没有位于该地图配色区域内的该纹理贴图对象,并根据其获取到所有纹理贴图对象绘制纹理贴图。
308、该着色器将该纹理贴图纹理映射到显示器上进行显示。
着色器将其绘制生成的纹理贴图纹理映射到显示器,从而使得该纹理贴图通过显示器进行显示。
且该纹理贴图是根据纹理贴图对象进行绘制的,所以显示器能够将位于地图配色区域内的纹理贴图对象进行标记显示,即以用户设定的颜色值进行显示,从而实现了更改地图要素所显示的颜色的目的。
本实施例中,着色器对纹理贴图对象进行判断,从而获取到位于地图配色区域内的纹理贴图对象和没有位于地图配色区域内的纹理贴图对象;该着色器根据所有纹理贴图对象绘制生成纹理贴图,该纹理贴图能够纹理映射到显示器上进行显示,从而使得用户通过设定地图配色区域和该地图配色区域的颜色值,达到更改地图上要素显示颜色的目的,且无需用户预先记录地图坐标,也无需绘制图形,提升了标记的效率。
图3所示的实施例说明如何将不同位置的纹理贴图对象在显示器上显示出来,以下结合图4所示的实施例说明当纹理切片数据有多个时,着色器如何进行地图配色:
401、着色器接收用户输入的操作指令;
较佳的,该着色器生成操作指令接收列表,该操作指令接收列表用于接收用户输入的操作指令。
即当用户将地图的某区域以特定的颜色进行显示时,则用户可通过该操作指令接收列表选定地图配色区域,以及设定该地图配色区域的颜色值。
402、该着色器调取预先存储在本地硬盘中的多个该地图切片数据,并将多个该地图切片数据加载到内存;
计算机将地图进行渲染,并将渲染后生成的地图切片数据存储在本地硬盘中。
当着色器接收到用户输入的操作指令后,该着色器根据该操作指令将存储在本地硬盘中的地图切片数据加载到内存。
403、该着色器根据该地图切片数据生成多个对应的该纹理贴图对象;
该着色器可获取到多个地图切片数据,并分别生成与每一个地图切片数据对应的多个纹理贴图对象。
404、该着色器对所有该纹理贴图对象进行遍历,并分别对所有该纹理贴图对象进行采样,获取每个该纹理贴图对象的颜色值;
该着色器获取到多个对应的该纹理贴图对象后,对所有纹理贴图对象进行遍历,并对遍历后的所有纹理贴图对象进行采样,根据采样结果获取到每个该纹理贴图对象的颜色值。
405、该着色器判断该纹理贴图对象是否位于该地图配色区域内;若是,则进行步骤406;若否,则进行步骤407;
406、则该着色器将该纹理贴图对象的颜色值设置为与该地图配色区域的颜色值相等,以使该纹理贴图对象以用户设定的该地图配色区域的颜色值进行显示;
407、该着色器将该纹理贴图对象直接输出显示,以使该纹理贴图对象以该着色器获取的该纹理贴图对象的颜色值进行显示;
408、该着色器根据位于该地图配色区域内的该纹理贴图对象和没有位于该地图配色区域内的该纹理贴图对象绘制生成纹理贴图;
409、该着色器将该纹理贴图纹理映射到显示器上进行显示。
本实施例中的步骤405至步骤409与图3所示的步骤304至步骤308所示的过程相同,在此不再赘述。
本实施例中,着色器可调取预先存储的多个地图切片数据,并生成与每个地图切片数据对应的纹理贴图对象,并获取纹理贴图图像的颜色值,进而使得所有位于地图配色区域内的纹理贴图对象的颜色值与用户设定的颜色值相等,从而使得用户通过设定地图配色区域和该地图配色区域的颜色值,达到更改地图上要素显示颜色的目的,且无需用户预先记录地图坐标,也无需绘制图形,提升了标记的效率。
为便于理解,以下举具体应用场景对本发明实施例所提供的地图配色方法做详细说明:
计算机的显示器端显示了配色完成的地图,该地图上同一要素用不同的颜色进行显示;
即河流用蓝色进行显示,公园用绿色进行显示,道路用黄色进行显示等;
因该地图所显示的区域内的河流发生了污染,用户希望对河流所表示的区域进行标记显示,即希望将河流用红色进行标记;
着色器生成操作指令接收列表,用户通过该操作指令接收列表选定地图上的河流区域为地图配色区域,并设定河流区域的颜色值,使得通过该颜色值显示的地图配色区域为红色;
着色器接收到用户输入的操作指令后,将存储在本地硬盘中的地图切片数据加载到内存中;
着色器根据该地图切片数据生成对应的多个纹理贴图对象,其中,每个纹理贴图对象与地图上的每个要素对应;
着色器对多个纹理贴图对象分别进行遍历,并分别对所有纹理贴图对象进行采样,并根据采样结果获取每个纹理贴图对象的颜色值;
预先创建一个顶点着色器和两个片元着色器F1和F2;
其中,片元着色器F1负责没有位于地图配色区域内的纹理贴图对象的显示;
片元着色器F2负责位于地图配色区域内的纹理贴图对象的显示;
该着色器分别对所有纹理贴图对象进行判断,即判断出每个纹理贴图对象是位于地图配色区域内,还是没有位于地图配色区域内;
若判断出的纹理贴图对象没有位于地图配色区域内,即该纹理贴图对象不是地图上所显示的河流区域内时,则该纹理贴图对象根据用户的操作指令为不需要进行标记显示的,则以其自身原本的颜色值进行显示即可;
即通过调用片元着色器F1使得没有位于地图配色区域内的纹理贴图对象能够直接输出显示;
若判断出的纹理贴图对象位于地图配色区域内,即该纹理贴图对象位于地图上所显示的河流区域内,则该纹理贴图对象根据用户的操作指令为需要进行标记显示的,则该纹理贴图对象的颜色值需要重新进行设定;
若纹理贴图对象位于用户设定的地图配色区域内,则着色器将该纹理贴图对象的颜色值设置为与用户设定的地图配色区域的颜色值相等,则在本应用场景中,片元着色器F2控制该纹理贴图对象以红色进行显示;
即通过调用片元着色器F2使得位于地图配色区域内的纹理贴图对象以用户设定的颜色值进行显示;
其中,片元着色器F1和片元着色器F2根据着色器的指令进行相应的调用;
该着色器根据位于该地图配色区域内的该纹理贴图对象和没有位于该地图配色区域内的该纹理贴图对象绘制生成纹理贴图;
该着色器将该纹理贴图纹理映射到显示器上进行显示;
即使得显示器上所显示的纹理贴图上的河流区域为红色标记显示。
以上实施例详细说明了地图配色方法,以下结合图5所示的实施例对着色器的具体结构做详细说明:
该着色器具体包括:
操作指令接收单元501,用于接收用户输入的操作指令,该操作指令包括用户选定的地图配色区域和用户设定的该地图配色区域的颜色值;
纹理贴图对象生成单元502,用于根据预先存储的地图切片数据生成多个对应的纹理贴图对象;
颜色值获取单元503,用于对于各纹理贴图对象,获取该纹理贴图对象的颜色值;
判断单元504,用于判断该纹理贴图对象是否位于该地图配色区域内;
颜色值重置单元505,用于若该判断单元判断出该纹理贴图对象位于用户选定的该地图配色区域内,则将该纹理贴图对象的颜色值设置为与该地图配色区域的颜色值相等,以使该纹理贴图对象以用户设定的该地图配色区域的该颜色值进行显示。
本实施例中,用户可根据自身的需要通过操作指令接收单元501在地图上选定地图配色区域并设定该地图配色区域的颜色值,纹理贴图对象生成单元502生成纹理贴图对象,且颜色值获取单元503获取各个纹理贴图对象的颜色值,而颜色值重置单元505将位于该地图配色区域内的纹理贴图对象的颜色值进行重置,使得位于地图配色区域内的纹理贴图对象以用户设定的该地图配色区域的该颜色值进行显示,从而达到了改变纹理贴图对象颜色的目的,且在改变的过程中,无需用户绘制图形,提升了效率。
以上实施例说明了着色器的具体结构,以下结合图6说明能够对没有位于地图配色区域内的纹理贴图对象进行处理的着色器的具体结构:
该着色器具体包括:
操作指令接收单元601,用于接收用户输入的操作指令,该操作指令包括用户选定的地图配色区域和用户设定的该地图配色区域的颜色值;
纹理贴图对象生成单元602,用于根据预先存储的地图切片数据生成多个对应的纹理贴图对象;
颜色值获取单元603,用于对于各纹理贴图对象,获取该纹理贴图对象的颜色值;
判断单元604,用于判断该纹理贴图对象是否位于该地图配色区域内;
颜色值重置单元605,用于若该判断单元判断出该纹理贴图对象位于用户选定的该地图配色区域内,则将该纹理贴图对象的颜色值设置为与该地图配色区域的颜色值相等,以使该纹理贴图对象以用户设定的该地图配色区域的该颜色值进行显示。
该着色器还包括:
颜色值显示单元606,用于若该纹理贴图对象没有位于该地图配色区域内,则将该纹理贴图对象直接输出显示,以使该纹理贴图对象以该颜色值获取单元603获取的该纹理贴图对象的颜色值进行显示。
本实施例中,判断单元604对纹理贴图对象进行判断,从而获取到位于地图配色区域内的纹理贴图对象和没有位于地图配色区域内的纹理贴图对象;颜色值重置单元605根据用户预先的设定将位于地图配色区域内的纹理贴图对象的颜色值进行重置,颜色值显示单元606将没有位于地图配色区域内的纹理贴图对象直接输出显示,从而使得用户能够改变地图上要素的显示颜色,且在操作过程中无需绘制图形,无需记录区域坐标,为用户带来方便的同时,提升了效率。
以上实施例对着色器的结构进行了说明,以下结合图7所示的实施例详细说明能够将生成的纹理贴图对象通过显示器进行显示的着色器的结构:
该着色器具体包括:
操作指令接收单元701,用于接收用户输入的操作指令,该操作指令包括用户选定的地图配色区域和用户设定的该地图配色区域的颜色值;
纹理贴图对象生成单元702,用于根据预先存储的地图切片数据生成多个对应的纹理贴图对象;
颜色值获取单元703,用于对于各纹理贴图对象,获取该纹理贴图对象的颜色值;
判断单元704,用于判断该纹理贴图对象是否位于该地图配色区域内;
颜色值重置单元705,用于若该判断单元判断出该纹理贴图对象位于用户选定的该地图配色区域内,则将该纹理贴图对象的颜色值设置为与该地图配色区域的颜色值相等,以使该纹理贴图对象以用户设定的该地图配色区域的该颜色值进行显示;
颜色值显示单元706,用于若该纹理贴图对象没有位于该地图配色区域内,则将该纹理贴图对象直接输出显示,以使该纹理贴图对象以该颜色值重置单元705获取的该纹理贴图对象的颜色值进行显示。
该着色器还包括:
纹理贴图生成单元707,用于根据位于该地图配色区域内的该纹理贴图对象和没有位于该地图配色区域内的该纹理贴图对象绘制生成纹理贴图;
纹理映射单元708,用于将该纹理贴图纹理映射到显示器上进行显示。
本实施例中,判断单元704对纹理贴图对象进行判断,从而获取到位于地图配色区域内的纹理贴图对象和没有位于地图配色区域内的纹理贴图对象;纹理贴图生成单元707根据所有纹理贴图对象绘制生成纹理贴图,纹理映射单元708将该纹理贴图能够纹理映射到显示器上进行显示,从而使得用户通过设定地图配色区域和该地图配色区域的颜色值,达到更改地图上要素显示颜色的目的,且无需用户预先记录地图坐标,也无需绘制图形,提升了标记的效率。
以上实施例对着色器的具体结构进行详细说明,以下结合图8所示的实施例说明能够接收并根据用户的操作指令进行对应设置的着色器的结构:
该着色器具体包括:
操作指令接收单元801,用于接收用户输入的操作指令,该操作指令包括用户选定的地图配色区域和用户设定的该地图配色区域的颜色值;
其还用于,生成操作指令接收列表,该操作指令接收列表用于接收用户输入的操作指令;其中,该操作指令包括用户选定的地图配色区域和用户设定的该地图配色区域的颜色值;
纹理贴图对象生成单元802,用于根据预先存储的地图切片数据生成多个对应的纹理贴图对象;
其还用于,调取预先存储在本地硬盘中的多个该地图切片数据,并将多个该地图切片数据加载到内存,并根据该地图切片数据生成多个对应的该纹理贴图对象;
颜色值获取单元803,用于对于各纹理贴图对象,获取该纹理贴图对象的颜色值;
其还用于,对所有该纹理贴图对象进行遍历,并分别对所有该纹理贴图对象进行采样,获取每个该纹理贴图对象的颜色值;
判断单元804,用于判断该纹理贴图对象是否位于该地图配色区域内;
颜色值重置单元805,用于若该判断单元判断出该纹理贴图对象位于用户选定的该地图配色区域内,则将该纹理贴图对象的颜色值设置为与该地图配色区域的颜色值相等,以使该纹理贴图对象以用户设定的该地图配色区域的该颜色值进行显示;
颜色值显示单元806,用于若该纹理贴图对象没有位于该地图配色区域内,则将该纹理贴图对象直接输出显示,以使该纹理贴图对象以颜色值获取单元803获取的该纹理贴图对象的颜色值进行显示。
该着色器还包括:
纹理贴图生成单元807,用于根据位于该地图配色区域内的该纹理贴图对象和没有位于该地图配色区域内的该纹理贴图对象绘制生成纹理贴图;
纹理映射单元808,用于将该纹理贴图纹理映射到显示器上进行显示。
本实施例中,纹理贴图对象生成单元802可调取预先存储的多个地图切片数据,并生成与每个地图切片数据对应的纹理贴图对象,颜色值获取单元803获取纹理贴图图像的颜色值,颜色值重置单元805使得所有位于地图配色区域内的纹理贴图对象的颜色值与用户设定的颜色值相等,从而使得用户通过设定地图配色区域和该地图配色区域的颜色值,达到更改地图上要素显示颜色的目的,且无需用户预先记录地图坐标,也无需绘制图形,提升了标记的效率。
为便于理解,以下举具体应用场景对本发明实施例所提供的着色器进行详细说明:
计算机的显示器端显示了配色完成的地图,该地图上同一要素用不同的颜色进行显示;
即河流用蓝色进行显示,公园用绿色进行显示,道路用黄色进行显示等;
因该地图所显示的区域内的河流发生了污染,用户希望对河流所表示的区域进行标记显示,即希望将河流用红色进行标记;
操作指令接收单元801生成操作指令接收列表,用户通过该操作指令接收列表选定地图上的河流区域为地图配色区域,并设定河流区域的颜色值,使得通过该颜色值显示的地图配色区域为红色;
操作指令接收单元801接收到用户输入的操作指令后,将存储在本地硬盘中的地图切片数据加载到内存中;
纹理贴图对象生成单元802根据该地图切片数据生成对应的多个纹理贴图对象,其中,每个纹理贴图对象与地图上的每个要素对应;
颜色值获取单元803对多个纹理贴图对象分别进行遍历,并分别对所有纹理贴图对象进行采样,并根据采样结果获取每个纹理贴图对象的颜色值;
判断单元804分别对所有纹理贴图对象进行判断,即判断出每个纹理贴图对象是位于地图配色区域内,还是没有位于地图配色区域内;
若判断单元804判断出的纹理贴图对象没有位于地图配色区域内,即该纹理贴图对象不是地图上所显示的河流区域内时,则该纹理贴图对象根据用户的操作指令为不需要进行标记显示的,则以其自身原本的颜色值进行显示即可;
即通过颜色值显示单元806使得没有位于地图配色区域内的纹理贴图对象能够直接输出显示;
若判断单元804判断出的纹理贴图对象位于地图配色区域内,即该纹理贴图对象位于地图上所显示的河流区域内,则该纹理贴图对象根据用户的操作指令为需要进行标记显示的,则该纹理贴图对象的颜色值需要重新进行设定;
若纹理贴图对象位于用户设定的地图配色区域内,则颜色值重置单元805将该纹理贴图对象的颜色值设置为与用户设定的地图配色区域的颜色值相等,则在本应用场景中,颜色值重置单元805控制该纹理贴图对象以红色进行显示;
即通过调用颜色值重置单元805使得位于地图配色区域内的纹理贴图对象以用户设定的颜色值进行显示;
纹理贴图生成单元807根据位于该地图配色区域内的该纹理贴图对象和没有位于该地图配色区域内的该纹理贴图对象绘制生成纹理贴图;
该纹理映射单元808将该纹理贴图纹理映射到显示器上进行显示;
即使得显示器上所显示的纹理贴图上的河流区域为红色标记显示。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例该方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种地图配色方法,其特征在于,包括:
着色器接收用户输入的操作指令,所述操作指令包括用户选定的地图配色区域和用户设定的所述地图配色区域的颜色值;
所述着色器根据预先存储的地图切片数据生成多个对应的纹理贴图对象;
对于各纹理贴图对象,所述着色器获取该纹理贴图对象的颜色值;
所述着色器判断该纹理贴图对象是否位于所述地图配色区域内;
若是,则所述着色器将该纹理贴图对象的颜色值设置为与所述地图配色区域的颜色值相等,以使该纹理贴图对象以用户设定的所述地图配色区域的所述颜色值进行显示;
若该纹理贴图对象没有位于所述地图配色区域内,则所述着色器将所述纹理贴图对象直接输出显示,以使该纹理贴图对象以所述着色器获取的该纹理贴图对象的颜色值进行显示。
2.根据权利要求1所述的地图配色方法,其特征在于,所述地图配色方法还包括:
所述着色器根据位于所述地图配色区域内的所述纹理贴图对象和没有位于所述地图配色区域内的所述纹理贴图对象绘制生成纹理贴图;
所述着色器将所述纹理贴图纹理映射到显示器上进行显示。
3.根据权利要求1所述的地图配色方法,其特征在于,所述着色器接收用户输入的操作指令之后还包括:
所述着色器调取预先存储在本地硬盘中的多个所述地图切片数据,并将多个所述地图切片数据加载到内存;
所述着色器根据所述地图切片数据生成多个对应的所述纹理贴图对象;
所述着色器对所有所述纹理贴图对象进行遍历,并分别对所有所述纹理贴图对象进行采样,获取每个所述纹理贴图对象的颜色值。
4.根据权利要求1所述的地图配色方法,其特征在于,所述着色器接收用户输入的操作指令具体包括:
所述着色器生成操作指令接收列表,所述操作指令接收列表用于接收用户输入的操作指令;其中,所述操作指令包括用户选定的地图配色区域和用户设定的所述地图配色区域的颜色值。
5.一种着色器,其特征在于,包括:
操作指令接收单元,用于接收用户输入的操作指令,所述操作指令包括用户选定的地图配色区域和用户设定的所述地图配色区域的颜色值;
纹理贴图对象生成单元,用于根据预先存储的地图切片数据生成多个对应的纹理贴图对象;
颜色值获取单元,用于对于各纹理贴图对象,获取该纹理贴图对象的颜色值;
判断单元,用于判断该纹理贴图对象是否位于所述地图配色区域内;
颜色值重置单元,用于若所述判断单元判断出所述纹理贴图对象位于用户选定的所述地图配色区域内,则将该纹理贴图对象的颜色值设置为与所述地图配色区域的颜色值相等,以使该纹理贴图对象以用户设定的所述地图配色区域的所述颜色值进行显示;
颜色值显示单元,用于若该纹理贴图对象没有位于所述地图配色区域内,则将所述纹理贴图对象直接输出显示,以使该纹理贴图对象以所述颜色值获取单元获取的该纹理贴图对象的颜色值进行显示。
6.根据权利要求5所述的着色器,其特征在于,所述着色器还包括:
纹理贴图生成单元,用于根据位于所述地图配色区域内的所述纹理贴图对象和没有位于所述地图配色区域内的所述纹理贴图对象绘制生成纹理贴图;
纹理映射单元,用于将所述纹理贴图纹理映射到显示器上进行显示。
7.根据权利要求5所述的着色器,其特征在于,所述纹理贴图对象生成单元还用于,调取预先存储在本地硬盘中的多个所述地图切片数据,并将多个所述地图切片数据加载到内存,并根据所述地图切片数据生成多个对应的所述纹理贴图对象;
所述颜色值获取单元还用于,对所有所述纹理贴图对象进行遍历,并分别对所有所述纹理贴图对象进行采样,获取每个所述纹理贴图对象的颜色值。
8.根据权利要求5所述的着色器,其特征在于,所述操作指令接收单元还用于,生成操作指令接收列表,所述操作指令接收列表用于接收用户输入的操作指令;其中,所述操作指令包括用户选定的地图配色区域和用户设定的所述地图配色区域的颜色值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310596743.5A CN103559726B (zh) | 2013-11-21 | 2013-11-21 | 一种地图配色方法及着色器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310596743.5A CN103559726B (zh) | 2013-11-21 | 2013-11-21 | 一种地图配色方法及着色器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103559726A CN103559726A (zh) | 2014-02-05 |
CN103559726B true CN103559726B (zh) | 2017-02-15 |
Family
ID=50013965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310596743.5A Active CN103559726B (zh) | 2013-11-21 | 2013-11-21 | 一种地图配色方法及着色器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103559726B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109976600B (zh) * | 2017-12-28 | 2022-04-15 | 上海擎感智能科技有限公司 | 地图配色方法及智能终端 |
CN109994037B (zh) * | 2017-12-29 | 2021-12-14 | 杭州海康威视***技术有限公司 | 生成电子地图的方法、装置、终端及存储介质 |
CN110716682A (zh) * | 2018-07-13 | 2020-01-21 | 上海擎感智能科技有限公司 | 一种地图自定义配色方法及***、存储介质及终端 |
CN109635049A (zh) * | 2018-10-31 | 2019-04-16 | 成都四方伟业软件股份有限公司 | 一种基于滤镜的切片地图样式编排方法及*** |
CN110728211A (zh) * | 2019-09-25 | 2020-01-24 | 恒大智慧科技有限公司 | 地铁安检排队指引方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1938739B (zh) * | 2004-03-31 | 2012-08-29 | 日本先锋公司 | 地图信息生成装置、地图信息生成方法 |
-
2013
- 2013-11-21 CN CN201310596743.5A patent/CN103559726B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103559726A (zh) | 2014-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103559726B (zh) | 一种地图配色方法及着色器 | |
EP2997546B1 (en) | Efficient composition and rendering of graphical elements | |
CN104335248B (zh) | 非静态3d地图视图 | |
CN110489499B (zh) | 一种在线智能专题地图编制方法 | |
US20210232634A1 (en) | Quantified euler analysis | |
CN104850388B (zh) | 网页绘制方法及装置 | |
CN102122502B (zh) | 一种三维字体显示方法以及相关装置 | |
CN106575228A (zh) | 图形处理中的渲染目标命令重新排序 | |
CN107368560A (zh) | 移动应用的页面实现方法和装置、计算机可读存储介质 | |
CN107103634A (zh) | 图形轨迹绘制方法、装置、设备及计算机存储介质 | |
CN111400024B (zh) | 渲染过程中的资源调用方法、装置和渲染引擎 | |
CN106462375A (zh) | 图形管线状态对象和模型 | |
CN113379882A (zh) | 一种网络车展配置方法、计算设备及存储介质 | |
CN105938626A (zh) | 三维物体建模方法和记载使用其方法的计算机程序的介质 | |
CN105468573A (zh) | 可配置式图表应用*** | |
CN107527322A (zh) | 渲染方法、装置、引擎及存储介质 | |
CN103902294B (zh) | 一种浏览器图像显示方法及终端 | |
CN105488840A (zh) | 一种信息处理方法及电子设备 | |
AU2012202492A1 (en) | System and method for fast manipulation of graphical objects | |
CN111599222B (zh) | 一种沙盘展示方法及装置 | |
CN106157353A (zh) | 一种文字渲染方法和文字渲染装置 | |
US20220206676A1 (en) | Modifying drawing characteristics of digital raster images utilizing stroke properties | |
CN106204408A (zh) | 绘图处理电路及其前置深度信息处理方法 | |
CN104699850B (zh) | 三维地理信息的处理方法及装置 | |
CN108563723A (zh) | 基于MapGIS的南海可燃冰地质模型三维可视化*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: Kezhu road high tech Industrial Development Zone, Guangzhou city of Guangdong Province, No. 233 510670 Patentee after: Wei Chong group Limited by Share Ltd Address before: 510663 Guangzhou province high tech Industrial Development Zone, Guangdong, Cai road, No. 6, No. Patentee before: Guangdong Weichuangshixun Science and Technology Co., Ltd. |
|
CP03 | Change of name, title or address |