FineKernelToolKit 2.9.0

- メインページ
- ネームスペース
- クラス
- ファイル

- 構成
- クラス階層
- 構成メンバ

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

シーンを制御するクラス [詳細]

fk_Sceneに対する継承グラフ
[凡例]
fk_Sceneのコラボレーション図
[凡例]

## Public メソッド
| fk_Scene (void)
| コンストラクタ [詳細]
virtual | ~fk_Scene ()
| デストラクタ [詳細]
背景色制御関数
void | setBGColor (fk_Color col)
| 背景色設定関数1 [詳細]
void | setBGColor (float r, float g, float b)
| 背景色設定関数2 [詳細]
fk_Color | getBGColor (void)
| 背景色参照関数 [詳細]
透過処理制御関数
void | setBlendStatus (bool mode)
| 透過処理設定関数 [詳細]
bool | getBlendStatus (void)
| 透過処理参照関数 [詳細]
Public メソッド inherited from 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)
| カメラモデル登録関数 [詳細]
const fk_Model * | getCamera (void) const
| カメラモデル取得関数 [詳細]
void | setProjection (fk_ProjectBase *proj)
| 投影設定関数 [詳細]
const 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)
| 立体視モード時のオーバーレイ描画モード取得関数 [詳細]
Public メソッド inherited from fk_BaseObject
| fk_BaseObject (fk_ObjectType type=FK_BASEOBJECT)
| コンストラクタ [詳細]
fk_ObjectType | getObjectType (void) const
| タイプ取得関数 [詳細]
Public メソッド inherited from fk_Fog
| 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_Window クラスによるウィンドウに設定することによって、 そのシーンに登録されたモデル群が実際に描画される仕組みになっています。

シーンは、別々のインスタンスとして複数存在することが可能です。 異なるシーンを同時に生成しておき、 実際にウィンドウに描画するシーンを動的に切り替えることができます。 任意のモデルは、複数のシーンに同時に登録することができます。

シーンにモデルを登録するための機能は、 実質的には fk_DisplayLink クラスに集約されています。 fk_Scene クラスは fk_DisplayLink クラスの派生クラスとなっており、 fk_DisplayLink クラスのメンバ関数を利用することが可能です。 モデル登録についての機能は、 fk_DisplayLink クラスの説明を参照して下さい。

シーンは、通常のモデルとは別に霧に関する設定も可能です。 霧に関する機能は、 fk_Fog クラスに集約されており、 fk_Scene クラスは fk_Fog クラスの派生クラスとなっています。 霧についての機能は、 fk_Fog クラスの説明を参照して下さい。

本クラス固有のメンバ関数は、背景色設定に関する機能と、 透過処理に関するものとなっています

参照
  fk_DisplayLink, fk_Fog, fk_Window

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

fk_Scene::fk_Scene | ( | void |  | ) |

コンストラクタ

virtual fk_Scene::~fk_Scene | ( |  | ) |
| virtual

デストラクタ

## 関数

void fk_Scene::setBGColor | ( | fk_Color | col | ) |

背景色設定関数1

シーンの背景色を設定します。

引数

  [in] | col | 背景色

参照
  setBGColor(float, float, float), fk_Color, getBGColor()

void fk_Scene::setBGColor | ( | float | r,
|  | float | g,
|  | float | b
| ) |  |

背景色設定関数2

シーンの背景色を設定します。 各色要素は 0 から 1 までの値を取ります。 それ以外の値が与えられた場合、0 以下なら 0 に、1 以上なら 1 に丸められます。

引数

  [in] | r | 背景色の赤要素
  [in] | g | 背景色の緑要素
  [in] | b | 背景色の青要素

参照
  setBGColor(fk_Color), getBGColor()

fk_Color fk_Scene::getBGColor | ( | void |  | ) |

背景色参照関数

シーンの背景色を取得します。

戻り値
  背景色

参照
  fk_Color, setBGColor(fk_Color), setBGColor(float, float, float)

void fk_Scene::setBlendStatus | ( | bool | mode | ) |

透過処理設定関数

シーンに対し、透過処理を有効とするかどうかを設定します。 有効にした場合、シーン全体で透過処理がなされますが、 無効な場合と比較して描画速度が遅くなります。 これは、実際に透過する物体があるかどうかに関わらず、 速度が遅くなるということに注意して下さい。 デフォルトでは透過処理設定は無効となっています。

覚え書き
  実行するハードウェアによっては、 シーンに登録した順番によって適切な透過処理がなされないことがあります。 カメラからみて手前側にある形状が透明(あるいは半透明)であり、 奥側にある形状が透けて見える状況を想定したとします。 このとき、手前側のモデルの方がシーンの登録順が先であった場合、 透けて見えるはずの奥側の形状が表示されないという現象が起こることがあります。 この場合、シーンの登録順を変更すれば奥側の形状が透けて見えるようになりますが、 カメラとの位置関係を常に監視し、 登録順を変動させなければならないという問題が生じます。

引数

  [in] | mode | true であれば有効、false であれば無効とします。

参照
  fk_Material::setAlpha()

bool fk_Scene::getBlendStatus | ( | void |  | ) |

透過処理参照関数

現在の透過処理状態を取得します。

戻り値
  有効であれば true を、無効であれば false を返します。

参照
  setBlendStatus()