[发明专利]一种基于GPU的渲染地形的方法有效
申请号: | 201110325143.6 | 申请日: | 2011-10-24 |
公开(公告)号: | CN102890829A | 公开(公告)日: | 2013-01-23 |
发明(设计)人: | 齐成涛 | 申请(专利权)人: | 克拉玛依红有软件有限责任公司 |
主分类号: | G06T17/05 | 分类号: | G06T17/05;G06T15/04 |
代理公司: | 北京市盛峰律师事务所 11337 | 代理人: | 赵建刚 |
地址: | 834000 新疆维*** | 国省代码: | 新疆;65 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gpu 渲染 地形 方法 | ||
1.一种基于GPU的GeometryClipmap渲染地形的方法,其特征在于,包括:
对高程纹理数据进行组织,逐级排列的不同分辨率的高程纹理数据;
根据顶点位置从相应层获取高程纹理组织数据的高程值,获得高程纹理组织数据的高程值;
对过渡带进行顶点高程数据的混合,获得多过渡带的高程混合数据;
在像素着色器中计算法向量及细节纹理,获得法向量及细节纹理;
将图像渲染到屏幕上,获得在屏幕上显示的图像渲染效果;
检测视点是否更新,作出相应的操作。
2.如权利要求1所述的方法,其特征在于,所述对高程纹理数据进行组织,逐级排列的不同分辨率的高程纹理数据的步骤,包括:
获取当前视点范围内的高程纹理数据,得到当前视点范围内的高程纹理数据;
获取不同分辨率的高程纹理数据,得到不同分辨率的高程纹理数据;
将不同分辨率的高程纹理数据按照Clipmap的方式进行排列,获得逐级排列的不同分辨率的高程纹理数据。
3.如权利要求1所述的方法,其特征在于,所述对高程纹理数据进行组织的步骤,包括:
对高程纹理数据的高度数据进行组织,获得合成后的高程纹理数据的高度数据;
对高程纹理数据的水平数据进行组织,获得高程纹理数据的水平数据;
对高程纹理数据的地形数据进行合并,获得高程纹理数据的地形数据。
4.如权利要求3所述的方法,其特征在于,所述对高程纹理数据的高度数据进行组织,获得合成后的高程纹理数据的高度数据的步骤,包括:
将高度纹理数据的高度数据进行创建,获得32位float精度的纹理高度数据;
将两层纹理高度数据保存到一张纹理内并传输给GPU;
将当前层的纹理高度数据保存为32位float精度的纹理高度数据的整数部分;
将相邻的下一层纹理高度数据保存为32位float精度的纹理高度数据的小数部分;
对两层纹理高度数据进行合成;
采用公式I来对两层纹理高度数据进行计算,获得合成后的高程纹理数据的高度数据;
Vdest(u,v)=VLevelN(u,v)+VLevelN+1(u,v)*0.001(I)
其中,Vdest(u,v)是合成后的纹理高度数据,VLevelN(u,v)是相对精细层的纹理高度数据,VLevelN+1(u,v)是相对粗糙层的纹理高度数据。
5.如权利要求3所述的方法,其特征在于,所述对高程纹理数据的地形数据进行合并,获得高程纹理数据的地形数据的步骤,包括:
利用高度数据创建创建FMT_R32纹理,获得纹理数据;
将纹理数据传入Vertex Shader的常量表;
把高度Z数据传进GPU,获得GPU内的一维高度Z数据;
x、y二维数据通过顶点缓冲方式传输进GPU,获得GPU内的x、y二维数据;
将上述GPU内的一维高度Z数据及GPU内的x、y二维数据合成,获得高程纹理数据的地形数据。
6.如权利要求1所述的方法,其特征在于,所述检测视点是否更新,作出相应的操作的步骤,包括:
检测视点是否更新,获得视点是否更新的分析结果;
若分析结果是视点已经进行了更新,则执行视点更新的相应操作;
若分析结果是视点没有进行更新,则接收算法结束请求指令,完成对地形进行渲染的全过程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于克拉玛依红有软件有限责任公司,未经克拉玛依红有软件有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110325143.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种双灭火剂喷射枪及其方法
- 下一篇:高分辨率全组移动工业用摄像镜头