I’m having some problems rendering OpenGL and GDI to the same window under Vista. I don’t want to mix OpenGL/GDI rendering, I just want to be able to re-use the window for GDI rendering after I’ve done some OpenGL in it (and vice versa). A search of the web has thrown up some articles hinting that it can’t be done, but I’ve not found anything definite.
The behaviour I’m seeing is if I render to window with OpenGL, then when I do any GDI, it’s never displayed except if i increase the window size, then the GDI calls are rendered to the areas of the window that were not written to by OpenGL. (Strangely though, if I now shrink the window, render OpenGL, then expand the window, I can use GDI to update parts of the screen that I previously couldn’t. It’s only the last OpenGL render to which GDI won’t update).
This all works fine under 2000/XP, so I’m guessing the new WDDM stuff is getting in the way somehow. Does anyone know of a workaround, barring re-write the GDI part in OpenGL?