FineKernelToolKit 3.1.0

- 総合概要
- 名前空間
- クラス
- ファイル

- クラス一覧
- クラス階層
- クラスメンバ

公開メンバ関数 | プロパティ | 全メンバ一覧
FK_ShaderPlugin::fk_ShaderBinder クラス

シェーダープログラム統括クラス [詳解]

## 公開メンバ関数
| fk_ShaderBinder ()
| コンストラクタ1 [詳解]
| fk_ShaderBinder (fk_ShaderProgram^ prog, fk_ShaderParameter^ param)
| コンストラクタ2 [詳解]
| ~fk_ShaderBinder ()
| デストラクタ [詳解]
void | BindModel (fk_Model^ model)
| シェーダーモデル連携設定メソッド [詳解]
void | UnbindModel (fk_Model^ model)
| シェーダーモデル連携解除メソッド [詳解]
void | InitializeFrameBufferObject (int width, int height)
| フレームバッファーオブジェクト (FBO) 初期化メソッド1 [詳解]
void | InitializeFrameBufferObject (fk_Dimension^ dim)
| フレームバッファーオブジェクト (FBO) 初期化メソッド2 [詳解]
void | FinalizeFrameBufferObject ()
| フレームバッファーオブジェクト (FBO) 利用終了メソッド [詳解]
void | BindWindow (fk_IBindableDrawer^ window)
| ウィンドウ連携設定メソッド [詳解]
void | UnbindWindow (fk_IBindableDrawer^ window)
| ウィンドウ連携解除メソッド [詳解]

## プロパティ
fk_ShaderProgram^ | Program
| シェーダープログラムプロパティ [詳解]
fk_ShaderParameter^ | Parameter
| シェーダーパラメータープロパティ [詳解]

## 詳解

シェーダープログラム統括クラス

このクラスは、FK におけるシェーダー全体を統括する機能を提供します。 FK でシェーダーを扱う場合は、 基本的にはこの fk_ShaderBinder クラスによるインスタンスを用いて制御を行います。

このクラスの役割は大きく以下の3種類となります。

- シェーダープログラム管理:
  fk_ShaderBinder.Program プロパティを用いて、 シェーダープログラムの設定を行います。
- シェーダーパラメーター管理:
  fk_ShaderBinder.Parameter プロパティを用いて、 C# 側からシェーダー側に渡すパラメーターを設定します。
- モデル管理:
  シェーダーを適用するモデルを BindModel() メソッド (FBO へ適用する場合は InitializeFrameBufferObject() メソッド) を用いて設定します。

fk_ShaderBinder.Program プロパティの扱い方については fk_ShaderProgram を、 fk_ShaderBinder.Parameter プロパティの扱い方については fk_ShaderParameter を参照して下さい。 また、入出力用テクスチャについては fk_TextureSampler を参照して下さい。

参照
  fk_ShaderProgram, fk_ShaderParameter, fk_TextureSampler, FK_CLI::fk_Model

## 構築子と解体子

FK_ShaderPlugin::fk_ShaderBinder::fk_ShaderBinder | ( |  | ) |

コンストラクタ1

インスタンスを生成します。 シェーダープログラムおよびシェーダーパラメーターは何も設定されません。

FK_ShaderPlugin::fk_ShaderBinder::fk_ShaderBinder | ( | fk_ShaderProgram^ | prog,
|  | fk_ShaderParameter^ | param
| ) |  |

コンストラクタ2

インスタンスを生成する際に、 プログラムとパラメーターを初期設定するコンストラクタです。

引数

  [in] | prog | シェーダープログラム
  [in] | param | シェーダーパラメーター

FK_ShaderPlugin::fk_ShaderBinder::~fk_ShaderBinder | ( |  | ) |

デストラクタ

## 関数詳解

void FK_ShaderPlugin::fk_ShaderBinder::BindModel | ( | fk_Model^ | model | ) |

シェーダーモデル連携設定メソッド

Program プロパティに設定されているシェーダープログラムを適用するモデルを設定します。 1つの fk_ShaderBinder インスタンスによるプログラムを、 複数のモデルに対して適用することが可能です。 モデルへのシェーダー適用を外すには、 UnbindModel() メソッドを利用して下さい。

また、1つのモデルに対し、複数のシェーダーを適用することも可能です。 その場合は、 BindModel() によって適用した順番に処理がなされます。

引数

  [in] | model | シェーダー適用モデルインスタンス

void FK_ShaderPlugin::fk_ShaderBinder::UnbindModel | ( | fk_Model^ | model | ) |

シェーダーモデル連携解除メソッド

BindModel() メソッドによってシェーダーを適用したモデルに対し、 適用を外します。

引数

  [in] | model | シェーダー適用済モデルインスタンス

void FK_ShaderPlugin::fk_ShaderBinder::InitializeFrameBufferObject | ( | int | width,
|  | int | height
| ) |  |

フレームバッファーオブジェクト (FBO) 初期化メソッド1

シェーダー内でフレームバッファーオブジェクト (FBO) を利用する際の初期化を行います。 このメソッドを呼ぶことで、 FBO にアクセスするシェーダープログラムを利用することができます。

本メソッドを用いたあと、実際に画面に出力を行うには BindWindow() メソッドで連携を行う必要があります。

引数

  [in] | width | FBO の横幅
  [in] | height | FBO の縦幅

参照
  BindWindow(), FinalizeFrameBufferObject()

void FK_ShaderPlugin::fk_ShaderBinder::InitializeFrameBufferObject | ( | fk_Dimension^ | dim | ) |

フレームバッファーオブジェクト (FBO) 初期化メソッド2

シェーダー内でフレームバッファーオブジェクト (FBO) を利用する際の初期化を行います。 このメソッドを呼ぶことで、 FBO にアクセスするシェーダープログラムを利用することができます。

引数

  [in] | dim | FBO の横幅と縦幅を表す fk_Dimension^ 型インスタンス

参照
  BindWindow(), FinalizeFrameBufferObject()

void FK_ShaderPlugin::fk_ShaderBinder::FinalizeFrameBufferObject | ( |  | ) |

フレームバッファーオブジェクト (FBO) 利用終了メソッド

フレームバッファーオブジェクト (FBO) の利用を終了します。

参照
  InitializeFrameBufferObject(int, int), InitializeFrameBufferObject(fk_Dimension^)

void FK_ShaderPlugin::fk_ShaderBinder::BindWindow | ( | fk_IBindableDrawer^ | window | ) |

ウィンドウ連携設定メソッド

フレームバッファーオブジェクト (FBO) を処理するシェーダーの出力を、 ウィンドウに表示するよう連携する設定を行います。

引数

  [in] | window | FBO用シェーダーの出力を表示するウィンドウインスタンス

参照
  InitializeFrameBufferObject(int, int), InitializeFrameBufferObject(fk_Dimension^), UnbindWindow()

void FK_ShaderPlugin::fk_ShaderBinder::UnbindWindow | ( | fk_IBindableDrawer^ | window | ) |

ウィンドウ連携解除メソッド

BindWindow() メソッドによって設定していた連携を解除します。

引数

  [in] | window | BindWindow() メソッドで連携設定を行っていたウィンドウインスタンス

参照
  BindWindow()

## プロパティ詳解

fk_ShaderProgram^ FK_ShaderPlugin::fk_ShaderBinder::Program

シェーダープログラムプロパティ

シェーダープログラムを設定します。 詳細は fk_ShaderProgram のマニュアルを参照して下さい。

fk_ShaderParameter^ FK_ShaderPlugin::fk_ShaderBinder::Parameter

シェーダーパラメータープロパティ

シェーダープログラムに渡すパラメーターを設定します。 詳細は fk_ShaderParameter のマニュアルを参照して下さい。