FineKernelToolKit: FK::fk_DisplayLink クラス

FineKernelToolKit 4.3.0

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

ディスプレイリストを制御するクラス [詳解]

`#include <FK/DList.h>`

FK::fk_DisplayLink の継承関係図
[凡例]
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 によるものを利用することになります。

ディスプレイリストに登録する要素は、以下のようなものがあります。

- 通常モデル: 3次元空間に表示するためのモデルです。
- オーバーレイモデル: オーバーレイモデルとして登録したモデルは、 カメラからの前後に関係なく常に全体が表示されます。 オーバーレイモデルが複数登録されている場合は、 後に登録されたものほど前面に表示されます。
- カメラ: シーンのカメラに当たるモデルです。 同時に登録できるモデルは1つだけですが、 どの時点でもモデルを変更することができます。
- 投影設定: シーンを表示する際の投影設定です。 詳細は fk_Perspective, fk_Frustum, fk_Ortho の 各マニュアルを参照して下さい。

参照
  fk_Scene, fk_Fog, fk_Model, fk_Perspective, , fk_Frustum, fk_Ortho

## 構築子と解体子

## ◆ fk_DisplayLink()

FK::fk_DisplayLink::fk_DisplayLink | ( | void |  | ) |

コンストラクタ

## ◆ ~fk_DisplayLink()

virtual FK::fk_DisplayLink::~fk_DisplayLink | ( |  | ) |

virtual

デストラクタ

## 関数詳解

## ◆ clearDisplay()

void FK::fk_DisplayLink::clearDisplay | ( | void |  | ) |

初期化関数

ディスプレイリストに登録されていた全ての情報を解除します。 解除する対象は通常表示モデル、モデルオーバーレイモデル、 カメラ、投影設定です。

## ◆ entryModel()

void FK::fk_DisplayLink::entryModel | ( | fk_Model * | model | ) |

通常モデル登録関数

通常モデルをディスプレイリストに登録します。

引数

  [in] | model | 登録モデルのアドレス

## ◆ removeModel()

void FK::fk_DisplayLink::removeModel | ( | fk_Model * | model | ) |

通常モデル解除関数

ディスプレイリストに登録されている通常モデルに対し、 登録を解除します。

引数

  [in] | model | 解除モデルのアドレス

## ◆ clearModel()

void FK::fk_DisplayLink::clearModel | ( | void |  | ) |

通常モデル全解除関数

ディスプレイリストに登録されている全ての通常モデルに対し、 登録を解除します。

## ◆ entryOverlayModel()

void FK::fk_DisplayLink::entryOverlayModel | ( | fk_Model * | model | ) |

オーバーレイモデル登録関数

オーバーレイモデルをディスプレイリストに登録します。 オーバーレイモデルは、後に登録したものほど前面に表示されるようになります。 もし既に登録されているモデルを再度登録した場合は、 一度解除したのちに改めて登録しなおすことと同義となります。

引数

  [in] | model | 登録モデルのアドレス

## ◆ removeOverlayModel()

void FK::fk_DisplayLink::removeOverlayModel | ( | fk_Model * | model | ) |

オーバーレイモデル解除関数

ディスプレイリストに登録されているオーバーレイモデルに対し、 登録を解除します。

引数

  [in] | model | 解除モデルのアドレス

## ◆ clearOverlayModel()

void FK::fk_DisplayLink::clearOverlayModel | ( | void |  | ) |

オーバーレイモデル全解除関数

ディスプレイリストに登録されている全てのオーバーレイモデルに対し、 登録を解除します。

## ◆ entryCamera()

void FK::fk_DisplayLink::entryCamera | ( | fk_Model * | model | ) |

カメラモデル登録関数

カメラモデルをディスプレイリストに登録します。

引数

  [in] | model | カメラモデルのアドレス

## ◆ getCamera()

fk_Model * FK::fk_DisplayLink::getCamera | ( | void |  | ) | const

カメラモデル取得関数

ディスプレイリストに登録されているカメラモデルの アドレスを取得します。

戻り値
  カメラモデルのアドレス

## ◆ setProjection()

void FK::fk_DisplayLink::setProjection | ( | fk_ProjectBase * | proj | ) |

投影設定関数

シーンで表示する際の投影設定を設定します。

引数

  [in] | proj | 投影設定のアドレス

参照
  fk_Perspective, fk_Ortho

## ◆ getProjection()

fk_ProjectBase * FK::fk_DisplayLink::getProjection | ( | void |  | ) | const

投影設定取得関数

シーンに登録されている投影設定のアドレスを取得します。

戻り値
  投影設定のアドレス

## ◆ entryStereoCamera()

void FK::fk_DisplayLink::entryStereoCamera | ( | fk_StereoChannel | channel,
|  | fk_Model * | model )

立体視用カメラモデル登録関数

立体視モードで使用するカメラモデルをディスプレイリストに登録します。 立体視モードは fk_Window::setOGLStereoMode()で設定します。

引数

  [in] | channel | 左右どちらの視点を登録するかを指定します。 設定値については fk_StereoChannel を参照してください。
  [in] | model | カメラモデルのアドレス

参照
  fk_StereoChannel, fk_Window::setOGLStereoMode()

## ◆ setStereoProjection()

void FK::fk_DisplayLink::setStereoProjection | ( | fk_StereoChannel | channel,
|  | fk_ProjectBase * | proj )

立体視用射影設定関数

立体視モードで使用する射影設定を設定します。 立体視モードは fk_Window::setOGLStereoMode()で設定します。

引数

  [in] | channel | 左右どちらの視点の設定を登録するかを指定します。 fk_StereoChannel を参照してください。
  [in] | proj | 射影設定のアドレス

参照
  fk_StereoChannel, fk_Window::setOGLStereoMode()

## ◆ getStereoCamera()

const fk_Model * FK::fk_DisplayLink::getStereoCamera | ( | fk_StereoChannel | channel | ) |

立体視用カメラモデル取得関数

立体視モードで使用するカメラモデルのアドレスを取得します。 立体視モードは fk_Window::setGLStereoMode()で設定します。

引数

  [in] | channel | 左右どちらの視点を取得するかを指定します。 fk_StereoChannel を参照してください。

戻り値
  カメラモデルのアドレス。 立体視用の設定が未設定の場合、通常のカメラモデルのアドレスを返します。

参照
  fk_StereoChannel, entryStereoCamera()

## ◆ getStereoProjection()

const fk_ProjectBase * FK::fk_DisplayLink::getStereoProjection | ( | fk_StereoChannel | channel | ) |

立体視用射影設定取得関数

立体視モードで使用する射影設定を取得します。

引数

  [in] | channel | 左右どちらの視点の設定を取得するかを指定します。 fk_StereoChannel を参照してください。

戻り値
  射影設定のアドレス。 立体視用の設定が未設定の場合、通常の射影設定のアドレスを返します。

参照
  fk_StereoChannel, getStereoProjection()

## ◆ clearStereo()

void FK::fk_DisplayLink::clearStereo | ( | void |  | ) |

立体視用設定情報初期化関数

立体視モードで使用する設定情報を初期化します。

参照
  entryStereoCamera(), setStereoProjection(), getStereoCamera(), getStereoProjection()

## ◆ setStereoOverlayMode()

void FK::fk_DisplayLink::setStereoOverlayMode | ( | bool | mode | ) |

立体視モード時のオーバーレイ描画モード設定関数

立体視モード時のオーバーレイ描画モデルに対する動作を設定します。 一般的なゲームアプリケーションでは、3DCG をレンダリングした画面上に 2D の画像や文字などを情報として表示(いわゆる HUD 表示)しますが、 立体視を有効にした場合はそれらの表示にも視差が適用されます。 この動作は状況によっては望ましくない場合もあります。 この関数によって、オーバーレイ描画を行うモデルに対して視差を適用するか、 しないかを選択することができます。 HUD 表示はオーバーレイ描画によって実現することが多いため、 多くの場合はこの関数による設定で十分制御が可能となるはずです。 デフォルトではオーバーレイ描画モデルにも視差を適用する設定(true)になっています。

引数

  [in] | mode | true だった場合、オーバーレイ描画モデルの視差を有効にします。 false だった場合、オーバーレイ描画モデルの視差を無効にします。

参照
  fk_Window::setOGLStereoMode(), getStereoOverlayMode()

## ◆ getStereoOverlayMode()

bool FK::fk_DisplayLink::getStereoOverlayMode | ( | void |  | ) |

立体視モード時のオーバーレイ描画モード取得関数

立体視モード時のオーバーレイ描画モデルに対する動作モードを取得します。

戻り値
  true だった場合、オーバーレイ描画モデルの視差が有効になっています。 false だった場合、オーバーレイ描画モデルの視差が無効になっています。

参照
  fk_DisplayLink, setOGLStereoOverlayMode()