差分

ナビゲーションに移動 検索に移動

MonoGame/クラスライブラリ/DirectionalLightクラス

1,798 バイト除去, 2017年11月7日 (火) 09:43
編集の要約なし
DirectionalLightクラスは、[[MonoGame/クラスライブラリ/BasicEffectクラス|BasicEffectクラス]]で使われている[[ディレクショナル光源]]([[平行光源]])を表すクラスである。 ディレクショナル光源はオブジェクトの位置に関係なく特定の角度から照らすライトである。見た目は太陽光に照らされた様になる。 光の当たらない面が真っ黒になってしまうため[[アンビエント光源]]と一緒に使うことが多い。なお、[[MonoGame]]の[[MonoGame/クラスライブラリ/BasicEffectクラス|BasicEffectクラス]]には3個のディレクショナル光源が標準搭載されており、3方向から照らして真っ黒になる部分をなくすこともできる。まあ、余程の事がない限り[[MonoGame/クラスライブラリ/BasicEffectクラス|BasicEffectクラス]]の[[MonoGame/クラスライブラリ/BasicEffectクラス/EnableDefaultLightingメソッド|EnableDefaultLightingメソッド]]で自動設定される値しか使わないであろう。を表すクラスである。
== 継承 ==
| public
! style="white-space:nowrap;text-align:left" | Direction
| 光源の方向。この方向と向き合う面に光が当たる。光源の方向
|-
| public
| 光源の反射光の色。まともに反射光を計算すると非現実的なので簡易的に色を付けようという代物。
|}
 
== 使用例 ==
このクラスの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クラス]]
* [[アンビエント光源アンビエントライティング]]* [[ディレクショナル光源]] ([[平行光源]])* [[ディフューズライトディフューズライティング]]* [[スペキュラライトスペキュラライティング]]* [[エミッションライトエミッションライティング]]
[[category: MonoGame]]
匿名利用者

案内メニュー