4

EGL は史上最悪の文書化された Khronos プロジェクトのように見えます。文字通り、このプロジェクトについて具体的なものは何も見つかりませんが、有望に見え、最終的に GLUT/FreeGlut の標準化された代替手段があります。

私の要点は、Linux デスクトップのウィンドウまたはウィンドウなし (装飾なし) でアプリケーションの EGL コンテキストが必要であると仮定すると、その EGL コンテキストを取得するために誰を参照する必要があるかということです。たとえば、QT を使用している場合、EGL を実装するのは QT ですか? Xorg? 自分自身?

4

1 に答える 1

2

MesaのEGL実装は機能しているようです。

X11およびWin32(少なくともMesa 10.4.7まで)のSDL 1.2で使用して、OpenGLES1.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
于 2013-01-08T17:13:29.220 に答える