地形LOD动态加载分页调度实现思路
摘要:一. 非海量地形坐标数据 + 海量分块地形纹理数据 解决方案: 多线程加载,可以考虑一次性全部加载如内存或先加载部分数据到内存,然后启动一个实时加载线程和实时卸载线程,实现分页动态调度。 算法思路: 1. 在每帧渲染前调用一个判断函数dynamic_precalc() 【此函数主要实现: 根据当前相机位置确定地形渲染的LOD等级及此级下需要显示的地块编号,得到的LOD等级和地块编号分别存储在int...
阅读全文
posted @
2010-05-31 15:44
3D入魔
阅读(1150)
推荐(0) 编辑
PC平台下海量地形的分页调度和实时渲染(转)
摘要:近年来,海量三维地形在战场仿真、三维网络游戏、地理信息系统以及飞行驾驶模拟等领域中的应用越来越广泛。但是,海量地形的渲染数据量是非常惊人的,这就需要对庞大的地形数据进行合适的调度,改变以往一次性将全部地形数据资源加载到内存的方法。一次性加载大量数据会在程序初始化时极大地增加加载响应时间,并在程序运行中占用大部分内存资源。由于外总线传输速率与内总线速率相比非常缓慢,数据在内、外存之间拷贝的效率与外总...
阅读全文
posted @
2010-05-28 17:42
3D入魔
阅读(1120)
推荐(1) 编辑
渲染填充凹凸多边形 OpenGL(总结)
摘要:OpenGL中认为合法的多边形必须是凸多边形,凹多边形、自交多边形、带孔的多边形等非凸的多边形在OpenGL中绘制会出现出乎意料的结果。例如,在大多数系统中,只有多边形的凸包被填充,而在有些系统中,并非所有的凸包都被填充。OpenGL之所以对合法多边形类型做出限制,是为了更方便地提供能够对符合条件的多边形进行快速渲染的硬件。简单多边形可被快速地渲染,而复杂多边形难以快速检测出来。为了最大限度的提高性能,OpenGL假定多边形是简单的。 解决凹多边形渲染的方法有以下几种:第一种解决方案:多边形网格化法 - 已实现并测试对于非简单多边形、非凸多边形或有洞的多边形,OpenGL在GLU库中提供了一个
阅读全文
posted @
2010-05-18 17:49
3D入魔
阅读(15095)
推荐(3) 编辑
OpenGl函数库
摘要:OpenGl核心函数库 glAccum 操作累加缓冲区 glAddSwapHintRectWIN 定义一组被SwapBuffers拷贝的三角形 glAlphaFunc允许设置alpha检测功能 glAreTexturesResident 决定特定的纹理对象是否常驻在纹理内存中 glArrayElement 定义一个被用于顶点渲染的数组成分 glBegin,glEnd 定义一个或一组原始的顶点 gl...
阅读全文
posted @
2010-05-14 15:44
3D入魔
阅读(399)
推荐(1) 编辑
sscanf,scanf,fscanf与正则表达式(转帖)
摘要:表头文件 #include(stdio.h ) 定义函数 int sscanf (const char *str,const char * format,........);函数说明 sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。返回值 成功则返回参数数目,失败则返回-1,错误原因存于errno中...
阅读全文
posted @
2010-05-14 10:00
3D入魔
阅读(1271)
推荐(2) 编辑