前两天突发奇想,想把OpenGL生成的场景保存为图片格式(代替QQ截屏),于是在网上找了找,发现关于这方面的代码还是挺多的,但想让程序跑起来不是很容易,我总结了一下:把OpenGL的场景保存为图像,大致有两种思路:一、混合法,先用OpenGL中glReadPixel函数读取窗口每个像素的RGB值,存放在动态数组中,然后调用OpenCV或libjpeg等其他专用库来生成图像;二、第一步是相同的,第二步自己写函数来保存图像。第二种方法常常选择格式的bmp图像。
话不多说,上pp和code:<
本文介绍如何将OpenGL渲染的场景保存为BMP格式的图像。主要使用glReadPixel和glReadBuffers函数获取像素数据,并详细解释了像素的RGB排列。通过对比不同的像素格式(GL_BGR_EXT和GL_RGB),展示了正确保存颜色的关键在于理解OpenGL中的颜色排列顺序。
前两天突发奇想,想把OpenGL生成的场景保存为图片格式(代替QQ截屏),于是在网上找了找,发现关于这方面的代码还是挺多的,但想让程序跑起来不是很容易,我总结了一下:把OpenGL的场景保存为图像,大致有两种思路:一、混合法,先用OpenGL中glReadPixel函数读取窗口每个像素的RGB值,存放在动态数组中,然后调用OpenCV或libjpeg等其他专用库来生成图像;二、第一步是相同的,第二步自己写函数来保存图像。第二种方法常常选择格式的bmp图像。
话不多说,上pp和code:<
1882

被折叠的 条评论
为什么被折叠?