グラフィカル ユーザー インターフェイスは、そのカーテンの下に謎のメカニズムを隠しています。2D と 3D のコンテキストが 1 つの画面に混在し、これら 2 つのまったく異なる世界をシームレスに構成できます。しかし、実際にはどのような方法で、どのレベルでインターリーブされているのでしょうか?
実際には、OpenGL コンテキストを 2D ウィジェット ライブラリに埋め込むことができるため、2D インターフェイス全体を OpenGL でサポートできることが示されています。また、ハードウェア アクセラレーションを調査するアプリケーションもあれば、そうでないアプリケーションもあります (同じ画面にレンダリングされている間)。グラフィック カードは画面上の 2D および 3D 領域を「認識」しており、ウィンドウ マネージャはフロントエンドがまとまっているという錯覚を作り出していますか? ...たとえば、Web ページをスクロールしたり、ビデオ プレーヤーを画面上で動かしたりすると、加速されたウィンドウ (3D、ビデオ) が 2D インターフェイスに収まるように「ホッピング」することに気付くことがあります。
質問は些細なことのように思えますが、包括的な答えを教えてくれる人に会ったことがありません。OpenGL コンテキストを GTK+ アプリケーションに埋め込み、それがどのように機能しているかを理解できるようにする答え。GtkGlExt と GLUT を試しましたが、トピックを深く理解し、アカデミック プロジェクトの一環として独自のソリューションを作成したいと考えています。X、GLX、GTK、OpenGL、およびウィンドウ マネージャの関係と、このライブラリのネットワークを調べて意識的にプログラミングする方法を知りたいです。
誰かがここに論文を書くとは思っていませんが、そのトピックに関する指摘、提案、または記事へのリンクがあれば感謝します。