如何在VC++6.0中将OpenGL绘制的图像输出到一个CBitmap对象中

我使用VC++并利用OpenGL在一个MFC单文档文件中绘制了多个球。现在需要做动画,而且要在屏幕上输出文字(还有很多别的图形输出,很浪费时间)。我目前的做法是先画出多个... 我使用VC++并利用OpenGL 在一个MFC单文档文件中绘制了多个球。现在需要做动画,而且要在屏幕上输出文字(还有很多别的图形输出,很浪费时间)。我目前的做法是先画出多个球,再用CView类的OnDraw在球旁边绘制说明文字。不过这样做的后果就是屏幕闪动太厉害。为解决这个问题,我想新建一个CBitmap,先将图像绘制在CBitmap中,然后再显示。不过遇到了一个问题就是无法让通过OpenGL绘制的球也绘制在CBitmap上。
所以向各位高手求助,如何让OpenGL把在缓存中绘制好的球输出到我指定的CBitmap上?
或者其他高手有什么能在MFC单文档文件中防止动画闪动的高招也可以。
万分感谢!!
感谢各位的帮忙,不过小弟不才,即使在网上查了一些资料也没弄清楚SetBitmapBits之类的函数怎么用。能否麻烦某位高手写一下代码示范一下?
假定几经用OpenGL绘好了图,如何将它输出到一个指定的CBitmap对象中?
感谢各位!
展开
 我来答
stone_dongdong
2007-12-03 · TA获得超过2853个赞
知道大有可为答主
回答量:1636
采纳率:0%
帮助的人:1019万
展开全部
gl命令绘制完成后,使用glReadPixels 读取图象数据(注意颜色格式和数据保存格式)——一般用RGBA。缓冲大小要匹配,否则出错的。
然后使用 SetBitmapBits 函数将读取的图象数据指派给图象句柄。在通过创建内存dc,指定此图象句柄,通过bitblt,等图象函数就可以显示在view的窗口上。
注意生成的图象句柄,格式要和gl的兼容噢
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式