基于基元重启的opengl和cuda图形渲染算法探索

基于基元重启的opengl和cuda图形渲染算法探索

ID:28057226

大小:18.00 KB

页数:5页

时间:2018-12-08

基于基元重启的opengl和cuda图形渲染算法探索_第1页
基于基元重启的opengl和cuda图形渲染算法探索_第2页
基于基元重启的opengl和cuda图形渲染算法探索_第3页
基于基元重启的opengl和cuda图形渲染算法探索_第4页
基于基元重启的opengl和cuda图形渲染算法探索_第5页
资源描述:

《基于基元重启的opengl和cuda图形渲染算法探索》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、为了确保“教学点数字教育资源全覆盖”项目设备正常使用,我校做到安装、教师培训同步进行。设备安装到位后,中心校组织各学点管理人员统一到县教师进修学校进行培训,熟悉系统的使用和维护。基于基元重启的OpenGL和CUDA图形渲染算法探索  摘要:针对OpenGL渲染图形要多次访问缓存区的问题,提出一种OpenGL和CUDA混合编程的图形渲染算法来加速PerlinKernel生成虚拟地形图。首先,通过OpenGL将缓存映射到CUDA内存空间,利用CUDA完成加速计算任务;然后,为几何图形设置开始和结束的位置标志,使用基元重启对图形进行组合;最后,对缓冲区对象进行渲染。实验

2、结果表明,改进后的基于基元重启的混合算法在GTX650GPU上的平均帧速率为960fps,帧速率提高6%,算法改进后渲染方法的执行效率提高了63倍。实验证实基元重启可以提高3D处理性能。  关键词:图形渲染;OpenGL;CUDA;基元重启;Perlin  中图分类号:TP393文献标识码:A  1引言为了充分发挥“教学点数字教育资源全覆盖”项目设备的作用,我们不仅把资源运用于课堂教学,还利用系统的特色栏目开展课外活动,对学生进行安全教育、健康教育、反邪教教育等丰富学生的课余文化生活。为了确保“教学点数字教育资源全覆盖”项目设备正常使用,我校做到安装、教师培训同步

3、进行。设备安装到位后,中心校组织各学点管理人员统一到县教师进修学校进行培训,熟悉系统的使用和维护。  图形渲染在核试验、DNA分子分布、天气预报等大规模科学计算任务中扮演着重要的角色[1,2]。在OpenGL中图形渲染是由CPU进行单独完成的,CPU从RAM中获得数据并且处理数据,然后写入RAM中[3]。这样做性能并不高,原因如下:①CPU的负载重而导致响应速度慢,影响渲染速度和质量;②图形渲染中使用了multiDraw方法,绘图开销过大。multiDraw用一条命令代替了多条glDraw*方法,但是使用这个方法,导致顶点数组扩大了1/2,大量的冗余数据传输到CP

4、U中,造成极大的开销[4-7]。  本文提出了一种CUDA和OpenGL混合图形渲染的方法。CUDA,是NVIDIA显卡厂商推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题[8-10]。在本文中,为了进一步提高数据传输效率,图形渲染中引入了基元重启,使用基元重启可以对几何图形进行组合,组合之后,需要处理的集合图形数据更少,系统运行速度更快。  传统的OpenGL图形渲染  OpenGL中的顶点,颜色,法线和其它顶点属性数据都是由GLTools库管理的。每次调用glDrawArrays、glDrawElements等一些需要顶点数据的函数时,信息是从一个

5、带有本地GPU的高性能系统中的应用程序内存中获取的,数据将从应用程序的内存中通过PCI-Express接口总线传递到GPU本地内存[11],将会耗费大量时间,降低应用程序的运行速度。  如果将对象的所有顶点数据打包到单个缓冲区中,程序中必定包含循环,会产生很多OpenGL调用,每次调用都会有一定的系统开销。如果场景中存在大量对象,每个对象都有相关的三角形,那么对glDrawArrays的调用中的开销将会积累,从而对应用程序性能产生负面影响。为了充分发挥“教学点数字教育资源全覆盖”项目设备的作用,我们不仅把资源运用于课堂教学,还利用系统的特色栏目开展课外活动,对学生

6、进行安全教育、健康教育、反邪教教育等丰富学生的课余文化生活。为了确保“教学点数字教育资源全覆盖”项目设备正常使用,我校做到安装、教师培训同步进行。设备安装到位后,中心校组织各学点管理人员统一到县教师进修学校进行培训,熟悉系统的使用和维护。  为了提高系统的处理效率,可以将大批非连接的三角形组合成三角形带,如图1所示。本来独立的三角型需要3个顶点才能进行表示,经过组合之后每个三角形所需的顶点数减少到1个。这样需要处理的集合数据更少了,系统运行速度会更快。  但是问题是,一个三角形可以通过单次调用glDrawArrays或者glDrawElements进行渲染,一组三

7、角形带的渲染就要单独对OpenGL进行多次调用,这意味着在一个使用条带化集合图形的程序中有更多的函数,这可能会抵消使用条带化所获得的性能提升。所以针对条带化处理应该有更好的方法来提高系统的性能,文中提出了基元重启算法。  基元重启为了充分发挥“教学点数字教育资源全覆盖”项目设备的作用,我们不仅把资源运用于课堂教学,还利用系统的特色栏目开展课外活动,对学生进行安全教育、健康教育、反邪教教育等丰富学生的课余文化生活。为了确保“教学点数字教育资源全覆盖”项目设备正常使用,我校做到安装、教师培训同步进行。设备安装到位后,中心校组织各学点管理人员统一到县教师进修学校进行培训

8、,熟悉系统

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。