gpt4 book ai didi

opengl - 从程序员的角度可以实现 EGL 吗?

转载 作者:行者123 更新时间:2023-12-05 01:14:43 32 4
gpt4 key购买 nike

EGL 看起来是有史以来记录最差的 Khronos 项目,我确实找不到关于这个项目的任何具体信息,但它看起来很有希望,最后有一个标准化的 GLUT/FreeGlut 替代方案。

我的观点是,假设我想要在 linux-desktop 或没有窗口(没有装饰)的窗口中为我的应用程序提供一个 EGL 上下文,作为程序员,我应该引用谁来获取该 EGL 上下文?例如,如果我使用 QT,那么 QT 是否应该实现 EGL? Xorg?我?

最佳答案

Mesa的 EGL 实现似乎有效。

我已经将它与 X11 和 Win32 上的 SDL 1.2(至少直到并包括 Mesa 10.4.7)一起使用来获得 OpenGL ES 1.1 和 2.0 上下文:

SDL_Surface* display = SDL_SetVideoMode( ..., SDL_SWSURFACE );

SDL_SysWMinfo sysInfo;
SDL_VERSION( &sysInfo.version );
SDL_GetWMInfo( &sysInfo );

// use natDisplay with eglGetDisplay();
// use natWindow with eglCreateWindowSurface();

// X11
sysInfo.info.x11.lock_func();
NativeDisplayType natDisplay = sysInfo.info.x11.display;
NativeWindowType natWindow = sysInfo.info.x11.window;
// do EGL context init here
sysInfo.info.x11.unlock_func();

// Win32
NativeDisplayType natDisplay = GetDC(sysInfo.window);
NativeWindowType natWindow = sysInfo.window;
// do EGL context init here

关于opengl - 从程序员的角度可以实现 EGL 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14219463/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com