FineKernelToolKit  2.9.0
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義 ページ
Public メソッド | すべてのメンバ一覧
クラス fk_Fog

シーン中の霧効果を制御するクラス [詳細]

+ fk_Fogに対する継承グラフ

Public メソッド

 fk_Fog (void)
 コンストラクタ [詳細]
 
virtual ~fk_Fog ()
 デストラクタ [詳細]
 
void setFogMode (const fk_FogMode mode)
 減衰関数設定関数 [詳細]
 
void setFogOption (const fk_FogOption opt)
 霧効果処理オプション設定関数 [詳細]
 
void setFogDensity (const double d)
 指数式係数設定関数 [詳細]
 
void setFogLinearMap (const double S, const double E)
 線形式係数設定関数 [詳細]
 
void setFogColor (const fk_Color col)
 霧色設定関数1 [詳細]
 
void setFogColor (const float r, const float g, const float b, const float a)
 霧色設定関数2 [詳細]
 
void setFogColor (const double r, const double g, const double b, const double a)
 霧色設定関数3 [詳細]
 
fk_FogMode getFogMode (void) const
 減衰関数取得関数 [詳細]
 
fk_FogOption getFogOption (void) const
 霧効果処理オプション取得関数 [詳細]
 
double getFogDensity (void) const
 指数式係数取得関数 [詳細]
 
double getFogLinearStart (void) const
 線形式係数取得関数1 [詳細]
 
double getFogLinearEnd (void) const
 線形式係数取得関数1 [詳細]
 
fk_Color getFogColor (void) const
 霧色取得関数 [詳細]
 

説明

シーン中の霧効果を制御するクラス

このクラスは、シーン内の霧効果を制御する機能を提供します。 実際の利用時には、インスタンスは本クラスのものではなく 派生クラスの fk_Scene によるものを利用することになります。

参照
fk_Scene, fk_DisplayLink, fk_Color

コンストラクタとデストラクタ

fk_Fog::fk_Fog ( void  )

コンストラクタ

virtual fk_Fog::~fk_Fog ( )
virtual

デストラクタ

関数

void fk_Fog::setFogMode ( const fk_FogMode  mode)

減衰関数設定関数

霧効果の減衰関数を設定します。設定できる関数の種類は以下のとおりです。 各数式中の $ z $ はカメラからの距離を意味します。

  • FK_LINEAR_FOG
    減衰関数として線形式を設定します。具体的には以下の数式を用います。

    \[ \frac{E-z}{E-S} \]

    式中の $ E, S $setFogLinearMap() で設定します。
  • FK_EXP_FOG
    減衰関数として指数式を設定します。具体的には以下の数式を用います。

    \[ e^{-dz} \]

    式中の $ d $setFogDensity() で設定します。
  • FK_EXP2_FOG
    減衰関数として指数(2乗)式を設定します。具体的には以下の数式を用います。

    \[ e^{-\left(dz\right)^2} \]

    式中の $ d $setFogDensity() で設定します。
  • FK_NONE_FOG
    この値を設定した場合、霧効果を無効にします。

デフォルトでは FK_NONE_FOG が設定されています。

引数
[in]mode減衰関数を表す値
void fk_Fog::setFogOption ( const fk_FogOption  opt)

霧効果処理オプション設定関数

霧効果処理に対するオプションを設定します。 実際の効果の程度についてはハードウェアやOSに依存します。 設定できるオプションの種類は以下のとおりです。

  • FK_FASTEST_FOG
    処理の際に、実行速度を優先します。
  • FK_NICEST_FOG
    処理の際に、品質を優先します。
  • FK_NOOPTION_FOG
    特に優先度を設定しません。

デフォルトでは FK_NOOPTION_FOG が設定されています。

引数
[in]optオプションを表す値
void fk_Fog::setFogDensity ( const double  d)

指数式係数設定関数

減衰関数として指数式か指数(2乗)式を選択した場合の、 指数部の係数 d を設定します。 数式の詳細は setFogMode() を参照して下さい。

引数
[in]d指数部係数
void fk_Fog::setFogLinearMap ( const double  S,
const double  E 
)

線形式係数設定関数

減衰関数として線形式を選択した場合の、 係数 S, E を設定します。 意味的には、霧効果が始まる最低距離が S、 霧によって完全に物体が見えなくなる距離を E とすることになります。 数式の詳細は setFogMode() を参照して下さい。

引数
[in]S霧効果開始距離
[in]E霧効果完全距離
void fk_Fog::setFogColor ( const fk_Color  col)

霧色設定関数1

霧の色を設定します。通常はシーンの背景色と同色とします。

引数
[in]col霧色
参照
fk_Scene::setBGColor()
void fk_Fog::setFogColor ( const float  r,
const float  g,
const float  b,
const float  a 
)

霧色設定関数2

霧の色を設定します。通常はシーンの背景色と同色とします。 色設定に関しての詳細は fk_Color を参照して下さい。

引数
[in]r霧色のR(赤)要素値
[in]g霧色のG(緑)要素値
[in]b霧色のB(青)要素値
[in]a霧色のA(透過)要素値
参照
fk_Scene::setBGColor()
void fk_Fog::setFogColor ( const double  r,
const double  g,
const double  b,
const double  a 
)

霧色設定関数3

霧の色を設定します。通常はシーンの背景色と同色とします。 色設定に関しての詳細は fk_Color を参照して下さい。

引数
[in]r霧色のR(赤)要素値
[in]g霧色のG(緑)要素値
[in]b霧色のB(青)要素値
[in]a霧色のA(透過)要素値
参照
fk_Scene::setBGColor()
fk_FogMode fk_Fog::getFogMode ( void  ) const

減衰関数取得関数

霧効果の減衰関数として何が選択されているのかを取得します。 関数の種類および詳細は setFogMode() を参照して下さい。

戻り値
減衰関数を表す値
fk_FogOption fk_Fog::getFogOption ( void  ) const

霧効果処理オプション取得関数

霧効果処理に対して現在設定されているオプションを取得します。 オプションの種類および詳細は setFogOption() を参照して下さい。

戻り値
オプションを表す値
double fk_Fog::getFogDensity ( void  ) const

指数式係数取得関数

減衰関数として指数式か指数(2乗)式を選択した場合の、 指数部の係数 d を参照します。 数式の詳細は setFogMode() を参照して下さい。

戻り値
指数部係数
double fk_Fog::getFogLinearStart ( void  ) const

線形式係数取得関数1

減衰関数として線形式を選択した場合の、 係数 S を参照します。 数式の詳細は setFogMode() を参照して下さい。

戻り値
霧効果開始距離
double fk_Fog::getFogLinearEnd ( void  ) const

線形式係数取得関数1

減衰関数として線形式を選択した場合の、 係数 E を参照します。 数式の詳細は setFogMode() を参照して下さい。

戻り値
霧効果完全距離
fk_Color fk_Fog::getFogColor ( void  ) const

霧色取得関数

現在設定されている霧の色を参照します。

戻り値
霧色