【技术实现步骤摘要】
本专利技术涉及一种利用多线程快速渲染绘制图像的方法,具体地说是一种基于多线程的OpenGL快速绘制方法。
技术介绍
OpenGL为程序开发人员提供了一个图形硬件接口,是一个功能强大,调用方便的底层图形函数库。然而,当渲染绘制目标复杂,顶点数量较多时,直接利用OpenGL在桌面窗口渲染绘制,输出速度缓慢,一直是制约程序显示效果的重要因素。EXT_framebuffer_object是OpenGL的一个扩展,允许把一个离屏缓冲区作为程序渲染运算的目标。使用FBO(FrameBufferObject)这一技术,把图像先渲染到FBO帧缓冲区块,保存在显卡内存中,然后图像数据可以快速地在显示器上显示出来,从而实现资源的快速绘制显示。其中,将资源渲染到FBO的渲染上下文只能在单一线程中完成,多个线程无法同时MakeCurrent到同一个绘制上下文。现有技术中,从目标资源的计算到渲染绘制,全程使用单一线程,限制了资源绘制的效率。
技术实现思路
为了解决上述问题,本专利技术的目的是提供一种基于多线程的OpenGL快速绘制方法,该方法利用多核处理器的性能优势,将资源绘制过程中引入多线程技术,将资源先输出到一张内存中保存的位图,这一过程应用处理器的并行运算能力,充分利用系统资源,然后利用帧缓冲区,有效减少了窗口绘制时间,从而整体上提高资源渲染绘制速度。本专利技术的目的通过以下技术方案实现:一种基于多线程的OpenGL快速绘制方法,其特征在于该方法步骤如下:1)首先生成一张与输出目标尺寸相同的位图,将位图按照区域进行分块;2)然后启用多线程并发,每一线程负责对位图的一个分块进行逐 ...
【技术保护点】
一种基于多线程的OpenGL快速绘制方法,其特征在于该方法步骤如下:1)首先生成一张与输出目标尺寸相同的位图,将位图按照区域进行分块;2)然后启用多线程并发,每一线程负责对位图的一个分块进行逐像素点计算与绘制;待位图绘制完成后,将位图整体渲染到FBO;3)最后将FBO输出到屏幕。
【技术特征摘要】
1.一种基于多线程的OpenGL快速绘制方法,其特征在于该方法步骤如下:1)首先生成一张与输出目标尺寸相同的位图,将位图按照区域进行分块;2)然后启用多线程并发,每一线程负责对位图的一个分块进行逐像素点计算与绘制;待位图绘制完成后,将位图整体渲染到FBO;3)最后将FBO输出到屏幕。2.根据权利要求1所述的基于多线程的OpenGL快速绘制方法,其特征在于:步骤1)中,创建位图:...
【专利技术属性】
技术研发人员:胡军,曹震,许斌锋,
申请(专利权)人:江苏电力信息技术有限公司,国网江苏省电力公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。