如何给SDL原生窗口添加OpenGL支持

2025-04-19 08:28:49

1、想解决这个问题,必须修改源代码。使用VC2010打开SDL源代码中的工程文件,需要修改目录下src/video/sdl_video.c源文件。

如何给SDL原生窗口添加OpenGL支持

2、使用查找的方式找到SDL_CreateWindowFrom函数原型。修改为SDL_Window *SDL_CreateWindowFrom(const void *data, Uint32 flags)flags参数就是需要添加的,如果设置为SDL_WINDOW_OPENGL就启用OPenGL。

如何给SDL原生窗口添加OpenGL支持

3、并且在此函数的实现的末尾的前面一小段加入初始化OpenGL的代码,只有短短的几行。

如何给SDL原生窗口添加OpenGL支持

4、SDL_CreateWindowFrom函数的声明出(SDL_video.h) 也要改函数原型为SDL_Window *SDL_CreateWindowFrom(const void *data, Uint32 flags)。保存重新编译即可完成SDL的源码修改,添加了原生窗口对OpenGL的支持。

如何给SDL原生窗口添加OpenGL支持

5、重新回到你的工程,在调用SDL_CreateWindowFrom(hWnd)的地方,添加参数SDL_WINDOW_OPENGL,即SDL_CreateWindowFrom(hWnd,SDL_WINDOW_OPENGL)。编译后的exe程序要与修改后编译的SDL.dll放在一起运行。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢