2011-12-15 6 views
0

私はさまざまな種類の光の作成に関する質問があります。無指向性のライトと小さなカットオフの光との違いは何ですか?これらを実装するにはOpenGLで何を使用すべきですか?OpenGLのライトの相違

+0

詳細については、http://stackoverflow.com/search?q=%5Bopengl%5D+light&submit=search – Luca

+0

OpenGLで照明が新しいように見えるので、ライトは影を投げかけません:)。あなたはそれのための特殊なアルゴリズムを実装するでしょう。 – shekhar

答えて

2

無指向性ライトモデルと指向性ライトモデルの違いは、どのフラグメントがライトの影響を受けるかを選択するアルゴリズムです。

全方向性ライトはすべての方向に作用し、方向性ライトは方向とカットオフ角(光の円錐)を持ちます。光は、一般に、アプリケーションの範囲を制限するために使用される減衰係数を有する。

通常、ライトはカラーコンポーネントを追加することによってフラグメントカラーに寄与します。色成分は、アンビエントカラー、拡散色、鏡面カラーです。各コンポーネントは、視点からの距離を追加するか、または反射された光線の角度を視点(視点ベクトルと法線)。

固定パイプライン(または互換性プロファイル)を使用すると、照明を有効にするためのstateセットが定義されています。限られた数のライトを有効または無効にし、ライトモデルとモデルパラメータを設定できます。ライトは頂点のラスター化によって得られたフラグメントではなく、頂点の色に影響します。

プログラマブルパイプラインを使用すると、ライトはシェーダユニフォームによって定義されます。シェーダはプログラム可能なので、シェーダソースを使用して独自のライティングモデルを定義する必要があります。

質問は非常に広いです。