光源2009年12月30日 | |
![]() ファイル使い方キーボードのキー "p" で "Perspective" と "Orthogonal" が切り替わります。キー "s" でスムースシェーディング (グローシェーディング) "Smooth" とフラットシェーディング "Flat" が切り替わります。 内容光源を使います。光源を使うために、以下の準備をします。 glLightfv(GL_LIGHT0, GL_AMBIENT, light0Ambient); glLightfv(GL_LIGHT0, GL_DIFFUSE, light0Diffuse); glLightfv(GL_LIGHT0, GL_SPECULAR, light0Specular); glEnable(GL_LIGHT0); 光源は GL_LIGHT0 〜 GL_LIGHT7 まで使えます。上では GL_LIGHT0 の設定をして、最後の行で光源 GL_LIGHT0 を有効にしています。GL_AMBIENT は環境光の色の設定、GL_DIFFUSE は拡散光の色の設定、GL_SPECULAR は鏡面光の色の設定です。 光源の位置は次のように設定します。 glLightfv(GL_LIGHT0, GL_POSITION, light0Position); 光源を使うと、直接の色指定は使えなくなり、変わりに材質を指定します。 glMaterialfv(GL_FRONT, GL_AMBIENT, materialAmbient); glMaterialfv(GL_FRONT, GL_DIFFUSE, materialDiffuse); glMaterialfv(GL_FRONT, GL_SPECULAR, materialSpecular); glMaterialfv(GL_FRONT, GL_SHININESS, materialShininess); 上 3 つは環境光、拡散光、鏡面光に対して反射する色の設定です。最後の GL_SHININESS は鏡面反射のハイライトの大きさで、他の設定の色指定と違い、指定するパラメタは 0 〜 128 の値です。 glShadeModel() で GL_SMOOTH, GL_FLAT を切り替えると、きれいに描画されたり、平坦に描画されたりします。 | |
| PENGUINITIS | |