7. ウィンドウ・システム、オペレーティングシステムと入力装置とのインタフェース

7.010 ウィンドウの幅と高さ、スクリーンの幅と高さの最大値を得るにはどうしたら良いですか?

Win32においてウィンドウサイズを得るためには、以下のコードを使ってください

RE CT re ct;
HWND hwnd;
GetClientRect(hwnd、&re ct);
/*re ct.topとre ct.leftは、いつもそれぞれ0と0です。
   幅と高さは、re ct.rightとre ct.bottomにあります。 */

Win32のピクセルのスクリーンサイズで

int幅=GetSystemMetrics(SM_CXSCREEN);
int高さ=GetSystemMetrics(SM_CYSCREEN);

GLUTを使ってスクリーンとウィンドウ幅と高さを得ることに

int screenWidth、screenHeight、windowWidth、windowHeight;

screenWidth = glutGet(GLUT_SCREEN_WIDTH);
screenHeight = glutGet(GLUT_SCREEN_HEIGHT);
windowWidth = glutGet(GLUT_WINDOW_WIDTH);
windowHeight = glutGet(GLUT_WINDOW_HEIGHT);

7.020 どんなユーザーインターフェイスシステムを使うべきですか?

ほとんどのユーザーインターフェイス(UI)システム〈主題などの〉は、OpenGLをサポートするオペレーティングシステムのサブセットに限定されます。 GLUTはさまざまなwindowingシステムで入手可能で、それは階層メニューをサポートします。 しかし、これは簡単な申込書だけのUI要件を満たします。

GLUIツールキットは、GLUTだけでなく層にされるボタン、チェックボックス、ラジオボタン、およびスピナーを実施します。 従って、このUIは独立なウィンドウシステムです。 http://www.cs.un c.edu/~rademach/glui/に詳細について行ってください。

7.030 複数モニタを使うにはどうしたら?

多くのOpenGLインプリメンテーションは複数のモニタコンフィギュレーションをサポートします。 これらはさまざまな種々の風味に入ります:

いくつかのMacintoshコンフィギュレーション〈ATI激怒128可動性などの〉がデュアルのディスプレイを許します。 しかし、もしOpenGLウィンドウが両方のディスプレイを測定するならば、ハードウェア加速は使用不可にされます。 もしウィンドウが一方のディスプレイまたは他に完全に横たわっているならば、完全なハードウェア加速が入手可能です。

マイクロソフトオペレーティングシステムは単一のシステムの2つのOpenGL機器を許すけれども、主要な機器だけが、加速されたハードウェアです。 この問題のまわりで働くために、多くのベンダが彼ら自身の複数のモニタ解決策を提供したので、ハードウェア加速は両方のディスプレイで入手可能です。

3Dlabsサポートは、GVX1、GVX210、およびGVX420に、マルチ向けます。 最近の2つのカードは、デュアルのモニタアウトプットを持つ単一のAGPカードです。 GVX1は1つの機器あたり1つのディスプレイをサポートし、signle-AGPスロットシステムをサポートするために、AGPとPCIバージョンに入ります。

HP視覚化センターと視覚化Workgroupは、HP-UXの下の2つ以上のディスプレイを測定しているウィンドウでの完全なハードウェア加速を許します。 壁サイズのスクリーンにおいてセンターブレンド複数映写機ディスプレイをシームレスに視覚化してください。 ステレオは、完全immersive環境を生み出すためにサポートされます。

Linuxとマイクロソフトオペレーティングシステムの下のMatroxは、G400、G450のためのDualHead、およびG200シリーズのための複数のモニタのために、外でDualHead、デジタルのフラットパネル、およびテレビをサポートします。 . 単一の論理的なディスプレイをサポートするだけでなく、それらのマイクロソフトWindowsデバイス・ドライバはデュアルデスクトップモードもサポートします。

NVIDIA Quadro2 MXRおよびGeForce2 GTS機器両方は単一のカードから2つのディスプレイをサポートします。 Miscrosoft Windowsオペレーティングシステムの下では、ディスプレイ特性ダイアログは、ユーザーがディスプレイを設定することを可能にするTwinViewタブを特徴とします。 垂直線スパンモードにおいて、単一の論理的なデスクトップは両方のモニタを測定します。 このコンフィギュレーションにおいて、ウィンドウを作成する申込書 スクリーンのサイズ は、両方のモニタを満たすウィンドウを自動的に作成します。 アプリケーションへの変化は全然必要ではなく、両方のディスプレイはハードウェアにおいて早められます。 NVIDIA Linux FAQによると、NVIDIA Linuxドライバーは現在ハードウェア加速与えをサポートしません。

ディスプレイは 提供されたSPARCサポート加速マルチ頭コンフィギュレーションのSolarisのためのSun OpenGLのすべてのバージョン OpenGLです 加速した 。 Solaris8とSun OpenGL1.2.1によって、もしディスプレイ機器が同じで、機器が、加速するOpenGLであるならば、加速されたOpenGLウィンドウは複数の頭を測定できます。 Sun OpenGLは以下から入手可能です: http://sun.com/software/graphics/opengl