5

数日前にコンピュータ グラフィックスの試験を受けましたが、次のような追加のクレジット問題がありました。

ライトは、2 つの方法のいずれかで定義できます。これは、世界座標 (街灯など) で定義することも、ビューア (目の座標) (鉱山労働者が装着するヘッドランプなど) で定義することもできます。どちらの場合も、視点は自由に変更できます。これら 2 つのケースで、光がどのように変換されるかを説明してください。

春休みが明けないと結果が出ないので、こちらで質問させていただきます。

使用されている類推は誤解を招くようです。目の座標で定義できるのと同じように、ワールド座標で視聴者の目の位置にある光源を定義できませんか? 私は、OpenGL が光を処理する方法についていくつかの調査を行ってきましたが、常に目の座標を使用しているように見えます.ModelView マトリックスは、ワールド座標のすべての光に適用されます。

その場合、答えは、ワールド座標で定義されたライトを ModelView マトリックスなどを使用して目の座標に変換する必要があるだけで、目の座標で定義されたライトは投影マトリックスによって変換するだけでよいということです。

それからまた、私は完全に考えすぎている可能性があります(またはこれを考えすぎている可能性があります)。

私が考えていたもう 1 つの考えは、影をどのようにレンダリングするかを決定するということですが、それは光が表現される座標よりも、光の位置とそのタイプ (ポイント、方向、放出など) に関係しています。

何か案は?

4

2 に答える 2

5

ライトの位置は、ライトが定義された時点でアクティブだったモデル ビュー マトリックスによって変換されます。

その時点でモデル ビュー マトリックスが同一であった場合、目の座標で光が得られます。

モデルビュー マトリックスがカメラ マトリックスの逆である場合、ワールド空間でライトが得られます。

于 2010-03-11T19:19:55.423 に答える
3

街灯の場合、視点が移動してもワールド座標は一定のままです。

ヘッドランプの場合、視点が移動しても目の座標は一定のままです。

于 2010-03-11T19:21:39.297 に答える