http://bugs.winehq.org/show_bug.cgi?id=2398
------- Additional Comments From thunderbird2k@gmx.net 2007-09-04 16:21 ------- Created an attachment (id=5708) --> (http://bugs.winehq.org/attachment.cgi?id=5708&action=view) OpenGL child window patch (attempt 3)
This is an updated version of the patch. Below is a list of tested programs and their results. Most of the tested programs work correctly. I broke the NWN app as the hack isn't correct, it never worked correctly on old wine versions with child windows. I'd like to know of more apps which work or don't. I fear that some CAD/3d modeling apps don't work correctly as they tend to draw their own GUI in which they mix opengl with gdi rendering. The problems I expect are opengl windows covering parts of the gui.
Q3Radiant -> works Google Earth -> works Google SketchUp -> works VLC opengl plugin -> works Weatherscope -> works MilkShape3D -> works Terragen -> works Terragen2 -> works
IKEA kitchen planner This program uses a child window for a 3D preview screen and for a 2D drawing grid. The 3D preview works fine but the 2D room editor doesn't work properly but that isn't due to child windows. Further for proper operation this program REQUIRES multiple pixelformats.
TrueScape The opengl child window obscures win32 toolbars. This could possibly be fixed by shaping the child window using the SHAPE extension for X.
NWN Toolset The program never worked correctly on Wine even in the time that we had child windows. The app is rendering to the main window instead of the child window. The program only seems to call SetPixelFormat on a single HDC but not on all the other HDCs on which it calls wglMakeCurrent. For some reason the HDCs inherit the pixelformat of the main HDC. I have tried to reproduce this using a testcase on Windows but wasn't able to reproduce it. Though I have verified my suspicions by running the NWN tools on windows using an opengl wrapper and indeed they inherit the pixelformat while SetPixelFormat has been called only once.