买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:四川汉科计算机信息技术有限公司
摘要:本发明涉及一种用于航电显控的三维数字地球构建方法,包括读取地形文件:读取加载地形文件,解析为地形数据后生成原始地形数据到内存中;计算顶点数据:计算生成顶点属性数据;传输顶点数据:计算空间大小并进行数据传输交互;创建着色器:生成顶点着色器和片段着色器的源代码,创建对应的可执行逻辑单元;渲染准备及渲染:在渲染前将相应的参数传递给着色器,并将解析的VBO数据传递给顶点着色器,调用绘图指令glDrawElements进行渲染,执行顶点着色器和片段着色器,并将渲染结果输出到窗口中以显示三维数字地球。本发明通过采用数据切分和复用的方式,即保证了顶点数据全部写入VBO,也可以避免分配大块显存而失败的情况。
主权项:1.一种用于航电显控的三维数字地球构建方法,其特征在于:所述构建方法包括:读取地形文件:采用GDAL库来读取加载地形文件,解析为地形数据后生成原始地形数据到内存中;计算顶点数据:计算包括三维世界坐标、法线和纹理坐标的顶点属性并生成顶点属性数据;传输顶点数据:计算空间大小并进行数据传输交互;创建着色器:使用GLSL语言生成顶点着色器和片段着色器的源代码,并在GPU中创建对应的可执行逻辑单元;渲染准备:在渲染前将相应的参数传递给着色器,并将解析的VBO数据传递给顶点着色器;渲染:调用绘图指令glDrawElements进行渲染,采用现代OpenGL渲染方法分别执行创建的顶点着色器和片段着色器,并将渲染结果输出到窗口中以显示三维数字地球;所述传输顶点数据具体包括:计算空间大小,使用glGenBuffers创建一个VBO对象,设置VBO的类型为GL_ARRAY_BUFFER,VBO里面存放的是顶点数据,提供给顶点着色器使用,glBufferData函数将为当前绑定的VBO分配一块数据存储空间,将内存中的顶点数据写入到该空间中,glBufferData中的最后一个参数是GL_STATIC_DRAW,表示数据存储内容只被初始化一次,以利于GPU的空间分配;如果VBO分配存储空间失败,则采用数据切分和复用的方式,将一大块数据切分呈多个容量相同的小块数据,然后将小块数据传输到显存中,最后进行渲染;所述数据切分和复用的步骤包括:设置单个数据块的容量为6MB,并根据数据块的容量计算出能够容纳的顶点行数;根据顶点的总数计算出需要的数据块数量,并创建相同数量的VBO;按照数据块容量分配内存空间,遍历顶点数组;依次读取容纳行数的顶点、计算顶点和传输顶点。
全文数据:
权利要求:
百度查询: 四川汉科计算机信息技术有限公司 一种用于航电显控的三维数字地球构建方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。