FineKernelToolKit: FK::fk_Fog クラス

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | 全メンバ一覧
FK::fk_Fog クラス

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

`#include <FK/Fog.h>`

FK::fk_Fog の継承関係図
[凡例]
FK::fk_Fog 連携図
[凡例]

## 公開メンバ関数

| fk_Fog (void)
| コンストラクタ
virtual | ~fk_Fog ()
| デストラクタ
void | setFogMode (const fk_FogMode mode)
| 減衰関数設定関数
void | setFogDensity (const double d)
| 指数式係数設定関数
void | setFogLinearMap (const double S, const double E)
| 線形式係数設定関数
void | setFogColor (const fk_Color &col)
| 霧色設定関数1
void | setFogColor (float r, float g, float b, float a)
| 霧色設定関数2
void | setFogColor (double r, double g, double b, double a)
| 霧色設定関数3
fk_FogMode | getFogMode (void) const
| 減衰関数取得関数
double | getFogDensity (void) const
| 指数式係数取得関数
double | getFogLinearStart (void) const
| 線形式係数取得関数1
double | getFogLinearEnd (void) const
| 線形式係数取得関数1
fk_Color | getFogColor (void) const
| 霧色取得関数
基底クラス FK::fk_DisplayLink に属する継承公開メンバ関数
| fk_DisplayLink (void)
| コンストラクタ
virtual | ~fk_DisplayLink ()
| デストラクタ
void | clearDisplay (void)
| 初期化関数
void | entryModel (fk_Model *model)
| 通常モデル登録関数
void | removeModel (fk_Model *model)
| 通常モデル解除関数
void | clearModel (void)
| 通常モデル全解除関数
void | entryOverlayModel (fk_Model *model)
| オーバーレイモデル登録関数
void | removeOverlayModel (fk_Model *model)
| オーバーレイモデル解除関数
void | clearOverlayModel (void)
| オーバーレイモデル全解除関数
void | entryCamera (fk_Model *model)
| カメラモデル登録関数
fk_Model * | getCamera (void) const
| カメラモデル取得関数
void | setProjection (fk_ProjectBase *proj)
| 投影設定関数
fk_ProjectBase * | getProjection (void) const
| 投影設定取得関数
void | entryStereoCamera (fk_StereoChannel channel, fk_Model *model)
| 立体視用カメラモデル登録関数
void | setStereoProjection (fk_StereoChannel channel, fk_ProjectBase *proj)
| 立体視用射影設定関数
const fk_Model * | getStereoCamera (fk_StereoChannel channel)
| 立体視用カメラモデル取得関数
const fk_ProjectBase * | getStereoProjection (fk_StereoChannel channel)
| 立体視用射影設定取得関数
void | clearStereo (void)
| 立体視用設定情報初期化関数
void | setStereoOverlayMode (bool mode)
| 立体視モード時のオーバーレイ描画モード設定関数
bool | getStereoOverlayMode (void)
| 立体視モード時のオーバーレイ描画モード取得関数
基底クラス FK::fk_BaseObject に属する継承公開メンバ関数
| fk_BaseObject (fk_Type type=fk_Type::BASEOBJECT)
| コンストラクタ
fk_Type | getObjectType (void) const
| タイプ取得関数

## 詳解

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

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

参照
  fk_Scene, fk_DisplayLink, fk_Color

## 構築子と解体子

## ◆ fk_Fog()

FK::fk_Fog::fk_Fog | ( | void |  | ) |

コンストラクタ

## ◆ ~fk_Fog()

virtual FK::fk_Fog::~fk_Fog | ( |  | ) |

virtual

デストラクタ

## 関数詳解

## ◆ setFogMode()

void FK::fk_Fog::setFogMode | ( | const fk_FogMode | mode | ) |

減衰関数設定関数

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

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

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

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

  \[ e^{-dz} \]

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

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

  式中の \( d \) は setFogDensity() で設定します。
- fk_FogMode::OFF
  この値を設定した場合、霧効果を無効にします。

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

引数

  [in] | mode | 減衰関数を表す値

## ◆ setFogDensity()

void FK::fk_Fog::setFogDensity | ( | const double | d | ) |

指数式係数設定関数

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

引数

  [in] | d | 指数部係数

## ◆ setFogLinearMap()

void FK::fk_Fog::setFogLinearMap | ( | const double | S,
|  | const double | E )

線形式係数設定関数

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

引数

  [in] | S | 霧効果開始距離
  [in] | E | 霧効果完全距離

## ◆ setFogColor() [1/3]

void FK::fk_Fog::setFogColor | ( | const fk_Color & | col | ) |

霧色設定関数1

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

引数

  [in] | col | 霧色

参照
  fk_Scene::setBGColor()

## ◆ setFogColor() [2/3]

void FK::fk_Fog::setFogColor | ( | float | r,
|  | float | g,
|  | float | b,
|  | float | a )

霧色設定関数2

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

引数

  [in] | r | 霧色のR(赤)要素値
  [in] | g | 霧色のG(緑)要素値
  [in] | b | 霧色のB(青)要素値
  [in] | a | 霧色のA(透過)要素値

参照
  fk_Scene::setBGColor()

## ◆ setFogColor() [3/3]

void FK::fk_Fog::setFogColor | ( | double | r,
|  | double | g,
|  | double | b,
|  | double | a )

霧色設定関数3

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

引数

  [in] | r | 霧色のR(赤)要素値
  [in] | g | 霧色のG(緑)要素値
  [in] | b | 霧色のB(青)要素値
  [in] | a | 霧色のA(透過)要素値

参照
  fk_Scene::setBGColor()

## ◆ getFogMode()

fk_FogMode FK::fk_Fog::getFogMode | ( | void |  | ) | const

減衰関数取得関数

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

戻り値
  減衰関数を表す値

## ◆ getFogDensity()

double FK::fk_Fog::getFogDensity | ( | void |  | ) | const

指数式係数取得関数

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

戻り値
  指数部係数

## ◆ getFogLinearStart()

double FK::fk_Fog::getFogLinearStart | ( | void |  | ) | const

線形式係数取得関数1

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

戻り値
  霧効果開始距離

## ◆ getFogLinearEnd()

double FK::fk_Fog::getFogLinearEnd | ( | void |  | ) | const

線形式係数取得関数1

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

戻り値
  霧効果完全距離

## ◆ getFogColor()

fk_Color FK::fk_Fog::getFogColor | ( | void |  | ) | const

霧色取得関数

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

戻り値
  霧色