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

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
imported>Administrator
5行目: 5行目:
  
 
光の当たらない面が真っ黒になってしまうため[[アンビエント光源]]と一緒に使うことが多い。なお、[[MonoGame]]の[[MonoGame/クラスライブラリ/BasicEffectクラス|BasicEffectクラス]]には3個のディレクショナル光源が標準搭載されており、3方向から照らして真っ黒になる部分をなくすこともできる。
 
光の当たらない面が真っ黒になってしまうため[[アンビエント光源]]と一緒に使うことが多い。なお、[[MonoGame]]の[[MonoGame/クラスライブラリ/BasicEffectクラス|BasicEffectクラス]]には3個のディレクショナル光源が標準搭載されており、3方向から照らして真っ黒になる部分をなくすこともできる。
 
 
まあ、余程の事がない限り[[MonoGame/クラスライブラリ/BasicEffectクラス|BasicEffectクラス]]の[[MonoGame/クラスライブラリ/BasicEffectクラス/EnableDefaultLightingメソッド|EnableDefaultLightingメソッド]]で自動設定される値しか使わないであろう。
 
まあ、余程の事がない限り[[MonoGame/クラスライブラリ/BasicEffectクラス|BasicEffectクラス]]の[[MonoGame/クラスライブラリ/BasicEffectクラス/EnableDefaultLightingメソッド|EnableDefaultLightingメソッド]]で自動設定される値しか使わないであろう。
  
53行目: 52行目:
 
| 光源の反射光の色。まともに反射光を計算すると非現実的なので簡易的に色を付けようという代物。
 
| 光源の反射光の色。まともに反射光を計算すると非現実的なので簡易的に色を付けようという代物。
 
|}
 
|}
 +
 +
== 使用例 ==
 +
このクラスの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>
  
 
== 関連項目 ==
 
== 関連項目 ==

2017年11月7日 (火) 09:04時点における版

DirectionalLightクラスは、BasicEffectクラスで使われているディレクショナル光源平行光源)を表すクラスである。

ディレクショナル光源はオブジェクトの位置に関係なく特定の角度から照らすライトである。 見た目は太陽光に照らされた様になる。

光の当たらない面が真っ黒になってしまうためアンビエント光源と一緒に使うことが多い。なお、MonoGameBasicEffectクラスには3個のディレクショナル光源が標準搭載されており、3方向から照らして真っ黒になる部分をなくすこともできる。 まあ、余程の事がない限りBasicEffectクラスEnableDefaultLightingメソッドで自動設定される値しか使わないであろう。

継承

  • System.Object
    • Microsoft.Xna.Framework.Graphics.DirectionalLight

名前空間

構文

public sealed class DirectionalLight

コンストラクタ

名称 概要
public DirectionalLight

プロパティ

名称 概要
public Enabled 光源の有効化、無効化
public Direction 光源の方向。この方向と向き合う面に光が当たる。
public DiffuseColor 光源の色。ポリゴンに色が点いている場合は掛け合わせて出力される。
public SpecularColor 光源の反射光の色。まともに反射光を計算すると非現実的なので簡易的に色を付けようという代物。

使用例

このクラスのDiffuseColorで指定された光源色と頂点やテクスチャの色が合成され、さらにポリゴンの面とライトとの角度に応じて強弱が付けられる感じになる。

            // ライトを有効にする
            _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);

関連項目