「MonoGame/クラスライブラリ/DirectionalLightクラス」の版間の差分

imported>Administrator
編集の要約なし
imported>Administrator
編集の要約なし
1行目: 1行目:
DirectionalLightクラスは、[[MonoGame/クラスライブラリ/BasicEffectクラス|BasicEffectクラス]]で使われている[[ディレクショナル光源]]([[平行光源]])を表すクラスである。
DirectionalLightクラスは、[[MonoGame/クラスライブラリ/BasicEffectクラス|BasicEffectクラス]]で使われている[[平行光源]]を表すクラスである。
 
ディレクショナル光源はオブジェクトの位置に関係なく特定の角度から照らすライトである。
見た目は太陽光に照らされた様になる。
 
光の当たらない面が真っ黒になってしまうため[[アンビエント光源]]と一緒に使うことが多い。なお、[[MonoGame]]の[[MonoGame/クラスライブラリ/BasicEffectクラス|BasicEffectクラス]]には3個のディレクショナル光源が標準搭載されており、3方向から照らして真っ黒になる部分をなくすこともできる。
まあ、余程の事がない限り[[MonoGame/クラスライブラリ/BasicEffectクラス|BasicEffectクラス]]の[[MonoGame/クラスライブラリ/BasicEffectクラス/EnableDefaultLightingメソッド|EnableDefaultLightingメソッド]]で自動設定される値しか使わないであろう。


== 継承 ==
== 継承 ==
42行目: 36行目:
| public  
| public  
! style="white-space:nowrap;text-align:left" | Direction  
! style="white-space:nowrap;text-align:left" | Direction  
| 光源の方向。この方向と向き合う面に光が当たる。
| 光源の方向
|-
|-
| public  
| public  
52行目: 46行目:
| 光源の反射光の色。まともに反射光を計算すると非現実的なので簡易的に色を付けようという代物。
| 光源の反射光の色。まともに反射光を計算すると非現実的なので簡易的に色を付けようという代物。
|}
|}
== 使用例 ==
このクラスのDiffuseColorで指定された光源色と頂点やテクスチャの色が合成され、さらにポリゴンの面とライトとの角度に応じて強弱が付けられる感じになる。
* [[MonoGame/クラスライブラリ/VertexPositionColor構造体|VertexPositionColor構造体]]
* [[MonoGame/クラスライブラリ/VertexPositionColorTexture構造体|VertexPositionColorTexture構造体]]
<source lang="csharp">
            // ライトを有効にする
            _effect.LightingEnabled = true;
            // 平行光源0番
            _effect.DirectionalLight0.Enabled = true;
            _effect.DirectionalLight0.Direction = new Vector3(-1, -0.9f, -0.8f);
            _effect.DirectionalLight0.DiffuseColor  = new Vector3(1f, 0f, 0f);
</source>


== 関連項目 ==
== 関連項目 ==
* [[MonoGame/クラスライブラリ/BasicEffectクラス]]
* [[MonoGame/クラスライブラリ/BasicEffectクラス]]
* [[アンビエント光源]]
* [[アンビエントライティング]]
* [[ディレクショナル光源]] ([[平行光源]])
* [[ディフューズライティング]]
* [[ディフューズライト]]
* [[スペキュラライティング]]
* [[スペキュラライト]]
* [[エミッションライティング]]
* [[エミッションライト]]


[[category: MonoGame]]
[[category: MonoGame]]