[Wine] Re: OpenGL + DIB
wineforum-user at winehq.org
Mon Aug 22 22:52:10 CDT 2011
OpenGL in combination with dibsection may be broken. I never really looked at this combination in the last couple of years since it is not that commonly used. The reason is that when you render to a bitmap (provided that's really what the application is doing) then you don't get any hardware acceleration at all on Windows. You are limited to pure OpenGL 1.1 software rendering.
The DIB engine won't fix the issue. In short Windows has a software and a hardware OpenGL implementation (the later is provided by your display driver). On Wine we only have the hardware one, so if the application requests software we still use the hardware one and nicely render to an X pixmap (we use indirect rendering in this particular case). Perhaps some of the sync code is broken and if it is, it could in theory be fixed.
There are several ways to render to a 'canvas':
- provided the canvas is a win32 child window, nothing prevents you from binding OpenGL to that window
- use OpenGL framebuffer objects (FBOs) as offscreen framebuffers; requires drivers which support this and to get the data out you would need to use glReadPixels
- use WGL pbuffers instead of a bitmap and again use glReadPixels
More information about the wine-users