1

私は Linux に関してはまったくの初心者で、3 学期の OS の授業でいくつか触れましたが、それだけです。OS とのやり取りが WinAPI の使用に制限されています。コンテキスト作成、ファイル処理、HID、スレッド化など、ゲーム エンジン用の低レベル システムを作成中です。Linuxだけでなく Windows でも同じ機能を実現できるようにしたいと考えています。 .

Linux インターフェイス システムに関する情報を探しても、Qt などのライブラリに関する推奨事項しか見つかりません。これは素晴らしいライブラリです。私は Windows で使用しましたが、Linux での作業を学習している最中なので、抵抗が最も少ない方法を選択することにあまり関心がありません。Linux AFAIK 用の Windows.h のようなものはないので、気が遠くなるような気がします。

私を正しい方向に向けてみてください。Linux がウィンドウ システムに使用するネイティブ ライブラリ (存在する場合) (または、OpenGL コンテキストを作成する方法ですが、ウィンドウ フォーカス、相対マウス座標、ウィンドウの最小化などの Windows 機能を使用)、キーボード/マウスなどからの入力., ファイル I/O とスレッド化? 具体的である必要はありません。Google に何かを入力して、適切な結果を得ることができればよいのですが。

4

2 に答える 2

6

GNU/Linux システムでのグラフィック表示は通常、X Window System (略して X11) で行われます。ただし、Windows とは異なり、X11 にはボタンやラベルなどの "組み込み" の UI コントロールのセットがありません。これは、ウィンドウを開いてそこに何かを描画するだけの下位レベルの API です。

UI を構築するために、生の X11 を使用して自分ですべてを描画することもできますが、ほとんどのプログラムはツールキット、X11 の上に構築され、一般的なコントロール (ボタンなど) を実装するライブラリ、およびプログラミングに使用するイベント処理インフラストラクチャを使用します。彼らと。 最近ではGTKQtの 2 つが最も一般的なものですが、Motif (これは古くて見栄えもよくありません) などの他のものもあります。GNOMEデスクトップ環境は GTK を使用して構築され、KDE​​は Qt を使用して構築されていることに注意してください。

X11 で OpenGL を使用する場合は、GLXを使用して GL コンテキストを作成し、それをウィンドウに関連付けます。これは、Windows で GL コンテキストを設定するために使用されるWGLインターフェイスと設計が似ていますが、一方のために書かれたコードを他方に使用できないほど十分に異なっています。利便性と移植性のために、アプリケーションは多くの場合、GLFWSFMLなどの上位レベルのライブラリを使用してGL コンテキストの作成を処理します。

Waylandと呼ばれる新しいウィンドウ フレームワークの作業が行われており、(おそらく) 最終的には X11 に取って代わります。高レベルのライブラリ (GTK や Qt など) は、Wayland をバックエンドとして使用するように移植されます — Windows GDI や Apple Quartz をバックエンドとして使用できるように — そのため、これらの高レベルのツールキットを使用するアプリケーションは、切り替えによって大きな影響を受けません。ウェイランドへ。

于 2012-07-14T01:00:30.920 に答える
1

OpenGL Web サイトは優れたリソースです

http://www.opengl.org/wiki/Getting_Started#Linux

于 2012-07-13T22:39:56.153 に答える