Я следующий этого руководством для OpenGL/OpenCL Interop: Intel CL/GL interop tutorialSDL- получить контекст устройства HDC для OpenGL/OpenCL общего контекста
Он говорит, что я могу использовать функцию clGetGLContextInfoKHR, чтобы найти устройство в данный момент связан с моим Контекст OpenGL. Для функции требуется список параметров, содержащих платформу OpenCL, контекст OpenGL и контекст устройства (HDC), используемый для создания контекста OpenGL.
После прибегая к помощи, я нашел нить, что дает метод, чтобы получить HDC для СВД окна: thread Они предлагают использовать этот код:
#ifdef _WIN32
SDL_SysWMinfo info;
SDL_VERSION(&info.version);
if (SDL_GetWMInfo(&info) < 0)
fail();
hwnd = info.window;
#endif
Во-первых, это выглядит, как он работает только для Win32 , Будет ли он работать для 64-битной Windows? И есть ли способ сделать то же самое в Linux/OSX?
Во-вторых, когда я скомпилирую его с помощью MinGW-w64, я получаю сообщение об ошибке «неизвестное имя типа« SDL_SysWMinfo ». SDL_SysWMinfo можно найти в официальных документах, и у меня есть последняя версия SDL, поэтому она должна работать. Я предполагаю, что определение типа не в моем файле заголовка SDL.h - есть ли другой файл заголовка, в котором я нуждаюсь?
SDL [1.2] (https://hg.libsdl.org/SDL/file/d7de8d4232c4/include/SDL_syswm.h#l217) или [2.0] (https://hg.libsdl.org/SDL/file /default/include/SDL_syswm.h#l284)? – genpfault
Я использую SDL 2.0 – Norg74