IRIS GL と OpenGL は、同様の方法で行列と変換を処理します。 ただし、IRIS GL からコードを移植する場合は、いくつかの違いに留意する必要があります。
OpenGL では、常にダブルマトリックス モードになります。単一マトリックス モードはありません。
角度は、度の 10 分の 1 ではなく、度単位で測定されます。
glFrustumや glOrthoなどのプロジェクション マトリックス呼び出しは、現在のマトリックスに読み込まれるのではなく、現在のマトリックスに乗算されるようになりました。
OpenGL 関数 glRotateは、を回転とは大きく異なります。 x 軸、y 軸、z 軸に限定するのではなく、任意の軸を中心に回転できます。 たとえば、次のように翻訳できます。
rotate(200*(i+1), 'z');
宛先:
glRotate(.1*(200*(i+1), 0.0, 0.0, 1.0);
回転 から glRotate に変換する場合は、10 分の 1 の角度から度に切り替え、'z' を z 軸のベクトルに置き換えます。
OpenGL には、polarview 関数に相当するものはありません。 変換と 3 回転で簡単に置き換えることができます。 たとえば、次のように翻訳できます。
polarview(distance, azimuth, incidence, twist);
宛先:
glTranslatef( 0.0, 0.0, -distance); glRotatef( -twist * 10.0, 0.0, 0.0, 1.0); glRotatef( -incidence * 10.0, 1.0, 0.0, 0.0); glRotatef( -azimuth * 10.0, 0.0, 0.0, 1.0);
次の表は、OpenGL マトリックス関数とその同等の IRIS GL 関数の一覧です。
IRIS GL 関数 | OpenGL 関数 | 意味 |
---|---|---|
mmode を する | glMatrixModeをする | 現在のマトリックス モードを設定します。 |
glLoadIdentityをする | 現在の行列を同一行列に置き換えます。 | |
loadmatrix | glLoadMatrixf、glLoadMatrixd |
現在の行列を指定した行列に置き換えます。 |
multmatrix を する |
glMultMatrixf、 glMultMatrixd |
現在の行列を指定した行列で後乗算します (multmatrix 事前乗算 注意してください)。 |
mapw、 mapw2 | gluUnProjectをする | ワールド空間座標をオブジェクト空間に投影します (gluProject参照)。 |
オルソ を する | glOrthoをする | 現在の行列に正投影行列を乗算します。 |
オルソ 2 | gluOrtho2D | 2 次元の正投影行列を定義します。 |
パースペクティブ | gluPerspectiveをする | 透視投影行列を定義します。 |
の選択 | gluPickMatrixをする | ピッキング領域を定義します。 |
popmatrix | glPopMatrixをする | 現在の行列スタックをポップし、現在の行列をその下の行列に置き換えます。 |
pushmatrix を する | glPushMatrixをする | 現在のマトリックス スタックを 1 つ下にプッシュし、現在のマトリックスを複製します。 |
回転、 |
glRotated、 glRotatef |
現在の座標系を、原点から指定された点までのベクトルに関する指定された角度だけ回転します。 、x 軸、y 軸、z 軸のみを軸として回転 回転します。 |
スケール | glScaled、glScalef をする |
現在の行列にスケーリング 行列を乗算します。 |
翻訳 | glTranslatef、glTranslated |
現在の行列に平行移動行列を乗算して、座標系の原点を指定したポイントに移動します。 |
ウィンドウの | glFrustumをする | クリッピング平面の座標を指定すると、現在の行列にパースペクティブ 行列が乗算されます。 |
OpenGL には、glMatrixModeで設定される 3 つのマトリックス モードがあります。 次の表に、glMatrixModeのパラメーターとして使用できるモードを示します。
IRIS GL マトリックス モード | OpenGL モード | 意味 | 最小スタック深度 |
---|---|---|---|
MTEXTURE の | GL_TEXTURE | テクスチャ マトリックス スタックを操作します。 | 2 |
MVIEWING の | GL_MODELVIEW | モデル ビュー マトリックス スタックを操作します。 | 32 |
MPROJECTION を する | GL_PROJECTION | プロジェクション マトリックス スタックを操作します。 | 2 |