~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  OpenGL 入門講座    「三次元グラフィックスの基礎とOpenGL関数の全体像を掴む」 第1-2回 「3D-CG基礎、ポリゴン表示、ワイヤー表示」用のプログラム ----- OpenGL のライブラリ ----- ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ 前回紹介しましたプログラムの説明を行う前に、少し OpenGL のライブラリに ついての説明を行いましょう。 (なお、今回のものは、筒口@NTTさんにいただいた資料が元になっていま す。) <<< OpenGL ライブラリ関連の資料 >>> ■ OpenGL のライブラリ:  SGI マシンに標準でインストールされている OpenGL 関連ライブラリには、  以下のものがあります。(Mesa にも含まれています。) ・GL ライブラリ.....関数名が、"gl" で始まる基本的な描画コマンド。 射影変換、形状設定やライティングの設定等を行う。 ・GLU ライブラリ....関数名が、"glu" で始まるユーティリティ関数をまと           めたライブラリ。GL ライブラリ・関数を組み合わせ           て作られた, 有用なライブラリ。 ・GLX ライブラリ....関数名が、"glx" で始まる. ウィンドウ操作やイベン           ト操作に関する, X Window System に依存するライブ           ラリ。利用するには、X の知識がある程度必要。この           ライブラリは、Windows NT/95 では利用できない。  なお、簡単なウィンドウ操作やイベント操作を扱うために OpenGL では、補  助ライブラリが用意されています。標準ではインストールされていませんが、  IDO の CD-ROM に含まれています。(Mesa にも含まれています。)  赤本 では、このライブラリで OpenGL の解説を行っています。 ・AUX ライブラリ...関数名が、"aux" で始まるもの。GLX を使わなくても           イベント処理を行うことができる。Windows NT/95 で           も利用可能であるため、このライブラリを使用すれば、           ほぼ同じプログラムを UNIX と Windows で動かすこ           とができる。ただし、複数の Window を開くことがで           きない等の欠点がある。 ・TK ライブラリ....関数名が、"tk" で始まるもの。AUX ライブラリより低           レベルのライブラリであり、AUX ライブラリは、この           TK ライブラリで作られている。  さらに有用なライブラリには、次のものがあります。 ・GLUT ライブラリ.."glut" で始まる。aux よりは便利なライブラリ。しか し、複雑なイベント操作などには使えない。このライ ブラリも Windows NT/95 で利用することはできない。 ※ OpenGL を用いてイベント操作やウィンドウ操作など、複雑な処理を行うに   は、結局 Xlib や Motif を使わなければなりません。 UNIX/X Window System で利用できる |<------------------------------------------------------->| : : Windows NT/95 で利用できる : |<------------------------------->| : : : : : : : Windows 3.1/95/NT で Mesa を使用した場合 : : |<-------------->| : : : : : : : : : : : : : : +----------+----------------+----------------+-----------------+ : : | WGL 関数 | AUX ライブラリ | GLX ライブラリ | GLUT ライブラリ | : : +--+----------+----------------+----------------+-----------------+--+ : : | GLU ライブラリ | : +--+--------------------------------------------------------------------+--+ | GL ライブラリ | +--------------------------------------------------------------------------+ ■ プログラミング環境: □ SGI マシン  ・デフォルトでシステムにインストールされているインクルードファイル及  びライブラリ。 /usr/include/GL/gl.h /usr/lib/libGL.so /usr/include/GL/glu.h /usr/lib/libGLU.so /usr/include/GL/glx.h ・自分でインストールしなければならないインクルードファイル及びライ ブラリ。 aux.h libaux.a glut.h libglut.a □ Mesa ・自分でインストールしなければならないインクルードファイル及びライ ブラリ。 gl.h libMesaGL.a glu.h libMesaGLU.a glx.h glaux.h libMesaaux.a glut.h libglut.a ※ aux ライブラリのヘッダーライブラリ名は、Windows NT/95 と同様に glaux.h となっています。 ■ コンパイル: 典型的な例: □ GLX を利用した場合 [SGI]   % cc sample.c -o sample -lGLU -lGL -lX11 [Mesa]   % cc sample.c -o sample -IMesaヘッダ -LMesaライブラリ   -lMesaGLU -lMesaGL -lX11   注意)   Mesa のヘッダー、ライブラリのある場所を指定しなければなりません。 □ AUX を利用した場合 [SGI]   % cc sample.c -o sample -IAUXヘッダ -LAUXライブラリ   -laux -lGLU -lGL -lX11   注意)   AUX ライブラリのヘッダー、ライブラリのある場所を指定しなければな   りません。 [Mesa]   % cc sample.c -o sample -IMesaヘッダ -IAUXヘッダ -LMesaライブラリ   -LAUXライブラリ -lMesaaux -lMesaGLU -lMesaGL -lX11   注意)   AUX ライブラリのヘッダー、ライブラリのある場所を指定しなければな   りません。   Mesa のヘッダー、ライブラリのある場所を指定しなければなりません。 ■ 用語解説: ○ IDO SGIマシンの開発者用オプション。コンパイラ等が含まれる。 ○ 赤本 「OpenGL Prgramming Guide」の俗称。 ■ 次回予告:  第1-3回では、今度こそ、プログラムの説明を行う予定です。  カラーについてと、ポリゴン表示について説明します。 ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ -- 寺西 忠勝