付録B:ソースコード一覧

GlView.zip
このコードはOpenGLとMFCの使用を示します。 OpenGLはCStaticな帳票管理に表現されます。 MFCによってOpenGLを使うことの詳細について、問題5.1505.1605.170および5.180を見てください
lookat.cpp
多くの新しいOpenGLプログラマーはまた、リニアの代数学のために新しく、処理行列は挑戦を示すかもしれません。 このコードは見えて、どのように、オブジェクトに、与えられた方向に示させる変化行列を作成しますか。
変化におけるセクション9はまた役立っているかもしれません
mirror.c
型板飛行機は、鏡をOpenGLに表現するために使用できるけれども、多くのローエンドグラフィックス機器がそれらを効率的にサポートしないので、型板飛行機を使うので実用的ではありません。 このコードは、どのように、鏡をするために、深さバッファを使用するかを実演します。 テクニックの概要は問題9.170に発見されるかもしれません
pgonoff.c
OpenGLは、ポリゴンの上の共面のプリミティブに与えることを許すポリゴンオフセットされた機能、および特に共面のラインまたはエッジを提供します。 OpenGL1.0ポリゴンは拡張インタフェースをオフセットしただけでなく、このコードは、OpenGL1.1ポリゴンオフセットされたインタフェースの正しい使用を示します。 ポリゴンのセクション13を見てください。 オフセットした
 およびセクション23 拡張 詳細については 。
twopass.cpp
GL_MODULATEテクスチャー環境モードが色価値を増加させるので、テクスチャーマッピングオブジェクトにおいて白いspecularハイライトを得るのには、特別なテクニックが必要です。 このコードはポータブルな2パス方法を示し、HPの使用に、それをサポートするプラットフォームの前specular拡張も見せます。
21.040に質問してください テクスチャーマッピングオブジェクトのspecularハイライトに関係する問題を議論する 。
viewcull.c
OpenGLは眺めボリュームに幾何学を切り取ります 単一の頂点 一度に 。 最適な性能のために、アプリケーションはしなければなりません 「大きさ選択」莫大の幾何学 。 このコードは、どのように眺めボリュームのためのオブジェクトスペース飛行機方程式を得て、どのようにそれらに対してテスト隣接ボックスを切り取るかを実演します。
刈ることにおけるセクション10はより多くの情報を含んでいます