ライティングを紹介するいくつかのチュートリアルでは、アンビエント、ディフューズ、スペキュラーの 3 種類のライトすべてで照らされた球体の例から始めます。次に、たとえば個々のライトをオフにすることで、周囲のライトがオブジェクトの均一な照明を担当し、拡散ライトが特定の方向から来て、鏡面反射光のおかげで表面の明るいスポットを観察できることを簡単に確認できます。 .
ユーザーが任意に回転できる立方体という、より単純な例で同じ手順を繰り返してみました。私が実際に期待していたのは、似たような写真でした: OpenGL は幾何光学の規則にある程度従う必要があり、光源とカメラの両方の位置が指定されている場合、どちらか一方に明るいスポットが 1 つだけあるはずです。立方体の面で、光源をカメラに直接反射する面です。
ただし、一様に照らされた顔しか得られず、明るいスポットは得られませんでした。それで、私の質問は、実際にそれを手に入れることは可能ですか?言い忘れていましたが、私は可能な限り単純な三角形分割を使用しました。面ごとに 2 つの三角形です。もう1つ、私はOpenGL ES 1.1を使用しているため、シェーダーはありません。