又是一个用opengl在透明窗口上绘图的有关问题

又是一个用opengl在透明窗口上绘图的问题
先描述一下问题:

1.在FormView上有一个地图控件(ArcGis或者其它的电子地图),这个控件上面用来显示电子地图;
2.在这个电子地图的控件上加上一个CWnd的透明窗口,这一步很容易做到;
3.在这个窗口上面绘制各种图形,当然同时要不影响下面的地图显示、操作(也就是说不能影响地图的缩放、拖动这些)。问题就在这里了:使用GDI来绘制简单的线条啊、图片啊这些没问题,可以很好地完成;但是目标是要绘制3D的图形,就得用到OpenGL了,OpenGL的透明方法只能在它自己的绘图中用,它的背景会覆盖掉下面的内容。

说明一下:这种在地图控件上覆盖窗口的方式是项目规定的,因为要换用不同的地图引擎,就需要将尽量多的工作由c++来做,以减少电子地图的开发量。

总结一下我的问题:我有一个透明的CWnd窗口,我想用OpenGL在上面绘图形,要求图形的背景是透明的,可以显示这个CWnd窗口之下的内容,希望各位高手推荐一下有哪些方法,哪种方法的效率高?

------解决方案--------------------
OPENGL覆盖窗口下面的内容是因为OGL是画在窗口上的,
把OGL画在DIB上不知能否解决LZ的问题,
可以参考OGL离屏渲染(Off Screen Rendering),
http://msdn.microsoft.com/en-us/library/ms970768.aspx
,,,,,

------解决方案--------------------
引用:
引用:

引用:
可否考虑用双缓冲绘图,传给OPENGL的dc用一个内存DC,绘出后,贴出来!

此法应该可行


可行 已实现 搜索"opengl 离屏渲染"可以绘内存bitmap

+1