FineKernelToolKit 4.2.13
|
シーン中の霧効果を制御するクラス [詳解]
#include <FK/Fog.h>
公開メンバ関数 | |
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_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_BaseObject (fk_Type type=fk_Type::BASEOBJECT) | |
コンストラクタ | |
fk_Type | getObjectType (void) const |
タイプ取得関数 | |
シーン中の霧効果を制御するクラス
このクラスは、シーン内の霧効果を制御する機能を提供します。 実際の利用時には、インスタンスは本クラスのものではなく 派生クラスの fk_Scene によるものを利用することになります。
FK::fk_Fog::fk_Fog | ( | void | ) |
コンストラクタ
|
virtual |
デストラクタ
void FK::fk_Fog::setFogMode | ( | const fk_FogMode | mode | ) |
減衰関数設定関数
霧効果の減衰関数を設定します。設定できる関数の種類は以下のとおりです。 各数式中の \( z \) はカメラからの距離を意味します。
\[ \frac{E-z}{E-S} \]
式中の \( E, S \) は setFogLinearMap() で設定します。\[ e^{-dz} \]
式中の \( d \) は setFogDensity() で設定します。\[ e^{-\left(dz\right)^2} \]
式中の \( d \) は setFogDensity() で設定します。デフォルトでは fk_FogMode::OFF が設定されています。
[in] | mode | 減衰関数を表す値 |
void FK::fk_Fog::setFogDensity | ( | const double | d | ) |
void FK::fk_Fog::setFogLinearMap | ( | const double | S, |
const double | E | ||
) |
線形式係数設定関数
減衰関数として線形式を選択した場合の、 係数 S, E を設定します。 意味的には、霧効果が始まる最低距離が S、 霧によって完全に物体が見えなくなる距離を E とすることになります。 数式の詳細は setFogMode() を参照して下さい。
[in] | S | 霧効果開始距離 |
[in] | E | 霧効果完全距離 |
void FK::fk_Fog::setFogColor | ( | const fk_Color & | col | ) |
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(透過)要素値 |
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_FogMode FK::fk_Fog::getFogMode | ( | void | ) | const |
double FK::fk_Fog::getFogDensity | ( | void | ) | const |
double FK::fk_Fog::getFogLinearStart | ( | void | ) | const |
double FK::fk_Fog::getFogLinearEnd | ( | void | ) | const |
fk_Color FK::fk_Fog::getFogColor | ( | void | ) | const |
霧色取得関数
現在設定されている霧の色を参照します。