1

みんな、これはどうだろう。しかし、以前のプロジェクトではそうではありませんでした。そして、私はこの効果をどのように試みているのかわかりません。本当のことを教えてください。

4

1 に答える 1

4

セクション 18.050、ライトを動かしたり動かしたりせず、ライトの位置を制御するにはどうすればよいですか? :

まず、OpenGL によってライトの位置がどのように変換されるかを理解する必要があります。

への呼び出しでライトの位置を指定すると、ライトの位置は ModelView マトリックス スタックの現在のトップの内容によって変換されますglLightfv( GL_LIGHTn, GL_POSITION, ... )。次のフレームのビューが変更されたときなど、後で ModelView マトリックスを変更した場合、ModelView マトリックスの新しいコンテンツによってライトの位置が自動的に再変換されることはありません。ライトの位置を更新する場合は、 を呼び出してライトの位置を再度指定する必要がありますglLightfv( GL_LIGHTn, GL_POSITION, ... )

...

  • 目の位置に対してライトの位置を固定するにはどうすればよいですか? ヘッドライトはどうやって作るの?

目の座標空間でライトを指定する必要があります。これを行うには、ModelView マトリックスを ID に設定してから、ライトの位置を指定します。ヘッドライト (目の近くに配置され、視線に沿って輝いているように見えるライト) を作成するには、ModelView を ID に設定し、ライトの位置を原点 (またはその近く) に設定し、方向を次のように設定します。負の Z 軸。

ライトの位置が目に対して固定されている場合、フレームごとにライトの位置を再指定する必要はありません。通常、プログラムの初期化時に 1 回指定します。

于 2011-04-06T19:18:44.623 に答える