差分

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

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

808 バイト追加, 2017年11月7日 (火) 09:04
編集の要約なし
光の当たらない面が真っ黒になってしまうため[[アンビエント光源]]と一緒に使うことが多い。なお、[[MonoGame]]の[[MonoGame/クラスライブラリ/BasicEffectクラス|BasicEffectクラス]]には3個のディレクショナル光源が標準搭載されており、3方向から照らして真っ黒になる部分をなくすこともできる。
 
まあ、余程の事がない限り[[MonoGame/クラスライブラリ/BasicEffectクラス|BasicEffectクラス]]の[[MonoGame/クラスライブラリ/BasicEffectクラス/EnableDefaultLightingメソッド|EnableDefaultLightingメソッド]]で自動設定される値しか使わないであろう。
| 光源の反射光の色。まともに反射光を計算すると非現実的なので簡易的に色を付けようという代物。
|}
 
== 使用例 ==
このクラスの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>
== 関連項目 ==
匿名利用者

案内メニュー