照明

シーンをリアルに見せるためには、照明効果を利用する。システムは、シーンの照明に対するオブジェクトの向きに基づいて、すべてのオブジェクトを彩色する。オブジェクトの色は、レンダリング中に各照明の影響を考慮して決定される。すべての照明は色と輝度を持っており、別々に変化させることができる。

アプリケーションはフレームに光をアタッチし、シーンに照明を与えることができる。フレームにアタッチされた光は、シーン上のビジュアルオブジェクトを明るくする。フレームは、光の位置と向きの両方を提供する。言い換えれば、光はアタッチされたフレームの原点から広がっていく。アプリケーションは、照明がアタッチされたフレームを動かしたり回転することによって、照明の移動や方向転換を簡単に実現することができる。

各ビューポートは、1つまたは複数の照明を所有する。照明が、複数のビューポートによって所有されることはない。

現状では、保持モードは、アンビエント(環境光)ディレクショナルパラレルポイントポイントスポットライトの5種類の照明を提供している。

IDirect3DRMLightインターフェイスのメソッドのリファレンスは、「IDirect3DRMLight」を参照すること。

このセクションでは、Direct3Dで利用することができる照明効果とその使い方について説明する。

アンビエント

アンビエント照明は、オブジェクトの向き、位置、サーフェスの特性などと関係なく、シーン上のすべてを照らす光である。シーンのすべての場所を同じ光度で照らすため、アタッチされたフレームの位置や向きは重要でない。1つのシーンには、複数のアンビエントライトが結合されている。

ディレクショナル

ディレクショナル(有向)照明は向きを持つが、位置は持っていない。フレームにアタッチされるとすべてのオブジェクトを同じ輝度で照らし、照明がオブジェクトからずっと離れた位置にあるような効果を与える。ディレクショナル照明は、太陽のような遠く離れた照明をシミュレートするために利用される。

パラレルポイント

パラレルポイント照明はパラレルライトでオブジェクトを照らすが、光の向きは光源の位置から決定される。つまり、パラレルポイント照明にはディレクショナル照明のように向きがあり、さらに位置も持っている。たとえば、パラレルポイント照明の両側にメッシュがある場合、照明に面しているほうのメッシュが明るくなる。パラレルポイント照明のレンダリングスピードは、ディレクショナル照明と同等である。

ポイント

ポイント照明は、光源から放射状に光を放つ。光が当たる面や法線のそれぞれについて、新しい光のベクトルを計算する必要があるため、パラレルポイント照明よりも計算時間がかかる。しかし、より正確な照明効果が実現できるので、リアルな表示が要求される場合に利用するべきである。

スポットライト

スポットライト照明は円錐状の光を生成する。光は、円錐の内部にあるオブジェクトにのみ当てられる。円錐は2つの輝度を生成する。中央の明るい部分(明部)はポイント照明と同じ働きをし、周囲の薄暗い部分(暗影部)は、その周辺の暗い影とマージされる。この2つの部分の角度は、IDirect3DRMLight::GetPenumbraIDirect3DRMLight::GetUmbraIDirect3DRMLight::SetPenumbra、およびIDirect3DRMLight::SetUmbraによって個々に指定することができる。

暗影部の角度、明部の角度、および明部の円錐


トップに戻る トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.