CN105046733A - 一种基于三维多纹理贴图方法 - Google Patents

一种基于三维多纹理贴图方法 Download PDF

Info

Publication number
CN105046733A
CN105046733A CN201510529133.2A CN201510529133A CN105046733A CN 105046733 A CN105046733 A CN 105046733A CN 201510529133 A CN201510529133 A CN 201510529133A CN 105046733 A CN105046733 A CN 105046733A
Authority
CN
China
Prior art keywords
texture
engine
vertex data
vertex
picture
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.)
Pending
Application number
CN201510529133.2A
Other languages
English (en)
Inventor
李生龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KARAMAY HONGYOU SOFTWARE CO Ltd
Original Assignee
KARAMAY HONGYOU SOFTWARE CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by KARAMAY HONGYOU SOFTWARE CO Ltd filed Critical KARAMAY HONGYOU SOFTWARE CO Ltd
Priority to CN201510529133.2A priority Critical patent/CN105046733A/zh
Publication of CN105046733A publication Critical patent/CN105046733A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

本发明公开了一种基于三维多纹理贴图方法,涉及三维模型纹理贴图技术领域。该方法:自定义一种顶点数据结构;在顶点数据结构的基础上,构造地形网格的顶点数据;将作为纹理对象的图片导入到三维引擎中并存储内存中;分析三维引擎传给GPU的地形网格的顶点数据的结构,在内存中选择与所述纹理图片索引相对应的纹理对象;计算相应的像素颜色,输出像素颜色;将地形网格顶点数据、纹理对象和输出像素颜色传送到GPU进行渲染。本发明解决了如何用shader技术解决同一组顶点数据使用不同纹理图片的问题,代码简单、工作效率高。

Description

一种基于三维多纹理贴图方法
技术领域
本发明涉及三维模型纹理贴图技术领域,尤其涉及一种基于三维多纹理贴图方法。
背景技术
通常所说的多重纹理混合(TextureBlending)指的是将多张纹理图使用相应的混合算法来渲染一个像素,具体是将不同纹理图片混合叠加生成新的纹理的过程。
本申请中的多纹理贴图指的是一组三角形顶点在不同区域贴不同图片、不同像素使用不同图片、而非纹理叠加的贴图。例如一张地质构造图,有的地方是白云质灰岩,有的地方是长石石英砂岩。而这种地形数据是一组三角形顶点,在渲染时,根据地质属性,动态的选择不同的地质图例图片来进行贴图。现有常用shader技术进行多纹理贴图,但是存在代码繁琐且效率低的问题。
发明内容
本发明的目的在于提供一种基于三维多纹理贴图方法,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明所述基于三维多纹理贴图方法,该方法包括:
S1,在三维引擎中自定义一种顶点数据结构,所述顶点数据结构包括每个顶点对应的纹理图片索引和纹理坐标;
S2,在所述顶点数据结构的基础上,构造地形网格的顶点数据;
S3,将作为纹理对象的图片导入到三维引擎中并存储内存中;
S4,分析三维引擎传给GPU的地形网格的顶点数据的结构,然后根据地形网格顶点数据结构中的纹理图片索引,在内存中选择与所述纹理图片索引相对应的纹理对象;再根据所述地形网格顶点数据结构中的纹理坐标计算相应的像素颜色,输出像素颜色;
S5,地形网格顶点数据、纹理对象和输出像素颜色传送到GPU进行渲染。
优选地,所述顶点数据结构还包括:顶点位置、顶点法线、顶点颜色。
优选地,步骤S3,具体方法:将图片导入到三维引擎中,然后三维引擎将接收到图片转换成三维引擎可读的内存数据存储到内存中。
优选地,在步骤S4中,三维引擎内置计算函数,对纹理坐标计算输出所述纹理坐标出的像素颜色。
优选地,在步骤S5中,三维引擎提供调用GPU的内置函数,将地形网格顶点数据、纹理对象和输出像素颜色进行渲染。
优选地,所述基于三维多纹理贴图方法基于C#+DIRECTX9.0+HLSL实现。
优选地,所述三维引擎包括OPENGL引擎和DIRECTX三维引擎。
本发明的有益效果是:
本发明解决了如何用shader技术解决同一组顶点数据使用不同纹理图片的问题,本发明所用代码简单、工作效率高。
附图说明
图1是本发明所述基于三维多纹理贴图方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
本申请所述基于三维多纹理贴图方法,该方法包括:
S1,在三维引擎中自定义一种顶点数据结构,所述顶点数据结构包括每个顶点对应的纹理图片索引和纹理坐标;所述顶点数据结构还包括:顶点位置、顶点法线、顶点颜色。
S2,在所述顶点数据结构的基础上,构造地形网格的顶点数据;
S3,将作为纹理对象的图片导入到三维引擎中并存储内存中;
S4,分析三维引擎传给GPU的地形网格的顶点数据的结构,然后根据地形网格顶点数据结构中的纹理图片索引,在内存中选择与所述纹理图片索引相对应的纹理对象;再根据所述地形网格顶点数据结构中的纹理坐标计算相应的像素颜色,输出像素颜色;
S5,地形网格顶点数据、纹理对象和输出像素颜色传送到GPU进行渲染。
步骤S3,具体方法:将图片导入到三维引擎中,然后三维引擎将接收到图片转换成三维引擎可读的内存数据存储到内存中。
步骤S4中,三维引擎内置计算函数,对纹理坐标计算输出所述纹理坐标出的像素颜色。
步骤S5中,三维引擎提供调用GPU的内置函数,将地形网格顶点数据、纹理对象和输出像素颜色进行渲染。
本申请所述基于三维多纹理贴图方法基于C#+DIRECTX9.0+HLSL实现。所述三维引擎包括OPENGL引擎和DIRECTX三维引擎。
本技术所指的多纹理贴图指的是一组三角形顶点在不同区域贴不同图片,不同像素使用不同图片,而非纹理叠加。例如显示的一张地质构造图,有的地方是白云质灰岩,有的地方是长石石英砂岩。而这种地形数据是一组三角形顶点,在渲染时,根据地质属性动态的选择不同的地质图例图片来进行贴图。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明解决了如何用shader技术解决同一组顶点数据使用不同纹理图片的问题,代码简单、高效。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

Claims (7)

1.一种基于三维多纹理贴图方法,其特征在于,该方法包括:
S1,在三维引擎中自定义一种顶点数据结构,所述顶点数据结构包括每个顶点对应的纹理图片索引和纹理坐标;
S2,在所述顶点数据结构的基础上,构造地形网格的顶点数据;
S3,将作为纹理对象的图片导入到三维引擎中并存储内存中;
S4,分析三维引擎传给GPU的地形网格的顶点数据的结构,然后根据地形网格顶点数据结构中的纹理图片索引,在内存中选择与所述纹理图片索引相对应的纹理对象;再根据所述地形网格顶点数据结构中的纹理坐标计算相应的像素颜色,输出像素颜色;
S5,地形网格顶点数据、纹理对象和输出像素颜色传送到GPU进行渲染。
2.根据权利要求1所述方法,其特征在于,所述顶点数据结构还包括:顶点位置、顶点法线、顶点颜色。
3.根据权利要求1所述方法,其特征在于,步骤S3,具体方法:将图片导入到三维引擎中,然后三维引擎将接收到图片转换成三维引擎可读的内存数据存储到内存中。
4.根据权利要求1所述方法,其特征在于,在步骤S4中,三维引擎内置计算函数,对纹理坐标计算输出所述纹理坐标出的像素颜色。
5.根据权利要求1所述方法,其特征在于,在步骤S5中,三维引擎提供调用GPU的内置函数,将地形网格顶点数据、纹理对象和输出像素颜色进行渲染。
6.根据权利要求1所述方法,其特征在于,所述基于三维多纹理贴图方法基于C#+DIRECTX9.0+HLSL实现。
7.根据权利要求1所述方法,其特征在于,所述三维引擎包括OPENGL引擎和DIRECTX三维引擎。
CN201510529133.2A 2015-08-25 2015-08-25 一种基于三维多纹理贴图方法 Pending CN105046733A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510529133.2A CN105046733A (zh) 2015-08-25 2015-08-25 一种基于三维多纹理贴图方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510529133.2A CN105046733A (zh) 2015-08-25 2015-08-25 一种基于三维多纹理贴图方法

Publications (1)

Publication Number Publication Date
CN105046733A true CN105046733A (zh) 2015-11-11

Family

ID=54453250

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510529133.2A Pending CN105046733A (zh) 2015-08-25 2015-08-25 一种基于三维多纹理贴图方法

Country Status (1)

Country Link
CN (1) CN105046733A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106228591A (zh) * 2016-07-12 2016-12-14 江苏奥格视特信息科技有限公司 虚拟现实超高速实时渲染方法
CN107452046A (zh) * 2017-06-30 2017-12-08 百度在线网络技术(北京)有限公司 三维城市模型的纹理处理方法及装置、设备及可读介质
CN108579082A (zh) * 2018-04-27 2018-09-28 网易(杭州)网络有限公司 游戏中显示光影的方法、装置和终端
CN108648261A (zh) * 2018-03-25 2018-10-12 成都明镜视觉科技有限公司 一种三维模型定义方法
CN108965975A (zh) * 2017-05-24 2018-12-07 阿里巴巴集团控股有限公司 一种绘制方法及装置
CN109215103A (zh) * 2018-08-30 2019-01-15 西安恒歌数码科技有限责任公司 一种基于osg的大批量文字渲染方法
CN110120088A (zh) * 2019-03-29 2019-08-13 武汉方拓数字科技有限公司 一种带纹理结构三维模型的合成方法
CN107464131B (zh) * 2017-06-30 2021-11-23 百度在线网络技术(北京)有限公司 三维城市模型的广告展示方法及装置、设备及可读介质
CN114596400A (zh) * 2022-05-09 2022-06-07 山东捷瑞数字科技股份有限公司 一种基于三维引擎批量生成法线贴图的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426691A (zh) * 2011-10-24 2012-04-25 克拉玛依红有软件有限责任公司 一种基于gpu的实时火焰效果的模拟方法
CN104268922A (zh) * 2014-09-03 2015-01-07 广州博冠信息科技有限公司 一种图像渲染方法及图像渲染装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426691A (zh) * 2011-10-24 2012-04-25 克拉玛依红有软件有限责任公司 一种基于gpu的实时火焰效果的模拟方法
CN104268922A (zh) * 2014-09-03 2015-01-07 广州博冠信息科技有限公司 一种图像渲染方法及图像渲染装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
初苗 等: "基于OpenGL的三维物体纹理贴图研究", 《计算机与网络》 *
李顶峰 等: "一种基于OpenGL的三维地景真实感绘制技术", 《交通与计算机》 *
苏航: "三维游戏中野外交战场景的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106228591A (zh) * 2016-07-12 2016-12-14 江苏奥格视特信息科技有限公司 虚拟现实超高速实时渲染方法
CN106228591B (zh) * 2016-07-12 2020-06-26 江苏奥格视特信息科技有限公司 虚拟现实超高速实时渲染方法
CN108965975A (zh) * 2017-05-24 2018-12-07 阿里巴巴集团控股有限公司 一种绘制方法及装置
CN108965975B (zh) * 2017-05-24 2021-03-23 阿里巴巴集团控股有限公司 一种绘制方法及装置
CN107452046A (zh) * 2017-06-30 2017-12-08 百度在线网络技术(北京)有限公司 三维城市模型的纹理处理方法及装置、设备及可读介质
CN107452046B (zh) * 2017-06-30 2021-01-22 百度在线网络技术(北京)有限公司 三维城市模型的纹理处理方法及装置、设备及可读介质
CN107464131B (zh) * 2017-06-30 2021-11-23 百度在线网络技术(北京)有限公司 三维城市模型的广告展示方法及装置、设备及可读介质
CN108648261A (zh) * 2018-03-25 2018-10-12 成都明镜视觉科技有限公司 一种三维模型定义方法
CN108579082A (zh) * 2018-04-27 2018-09-28 网易(杭州)网络有限公司 游戏中显示光影的方法、装置和终端
CN109215103A (zh) * 2018-08-30 2019-01-15 西安恒歌数码科技有限责任公司 一种基于osg的大批量文字渲染方法
CN110120088A (zh) * 2019-03-29 2019-08-13 武汉方拓数字科技有限公司 一种带纹理结构三维模型的合成方法
CN114596400A (zh) * 2022-05-09 2022-06-07 山东捷瑞数字科技股份有限公司 一种基于三维引擎批量生成法线贴图的方法

Similar Documents

Publication Publication Date Title
CN105046733A (zh) 一种基于三维多纹理贴图方法
CN107358649B (zh) 地形文件的处理方法和装置
CN107369205B (zh) 一种移动终端城市二三维联动显示方法
CN104881839B (zh) 一种基于并行加速的热点图生成方法
CN103093499B (zh) 一种适用于网络传输的城市三维模型数据组织方法
EP2973423B1 (en) System and method for display of a repeating texture stored in a texture atlas
CN103606184B (zh) 一种基于二维和三维一体化矢量渲染引擎的装置
CN101881830B (zh) 重建雷达扫描数据生成三维可视地形的方法
EP2826024A1 (en) Visibility-based state updates in graphical processing units
CN103021020A (zh) 一种基于多光源的3d渲染方法
CN103413343B (zh) 一种3d图像动画引擎
CN104299257B (zh) 一种基于室外太阳光实现实时动态阴影的方法
EP2315180A2 (en) Tile-based rendering apparatus and method
CN104318605B (zh) 矢量实线与三维地形的并行贴合渲染方法
McGuire et al. Steep parallax mapping
CN109887093A (zh) 一种游戏细节层次处理方法及***
CN109448137A (zh) 交互方法、交互装置、电子设备及存储介质
CN102930593A (zh) 一种双目***中基于gpu的实时绘制方法
Noguera et al. Volume rendering strategies on mobile devices
CN109584366A (zh) 一种地形渲染方法、装置、设备及可读存储介质
CN102819855A (zh) 二维图像的生成方法及装置
Bao et al. Realistic real-time rendering for large-scale forest scenes
CN108230430A (zh) 云层遮罩图的处理方法及装置
CN104751509A (zh) 一种实时体积雾化效果算法
CN101540056B (zh) 面向ERDAS Virtual GIS的植入式真三维立体渲染方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20151111