FineKernelToolKit
3.1.0
|
シェーダープログラム統括クラス [詳解]
公開メンバ関数 | |
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_ShaderProgram を、 fk_ShaderBinder.Parameter プロパティの扱い方については fk_ShaderParameter を参照して下さい。 また、入出力用テクスチャについては fk_TextureSampler を参照して下さい。
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 | ) |
void FK_ShaderPlugin::fk_ShaderBinder::InitializeFrameBufferObject | ( | int | width, |
int | height | ||
) |
フレームバッファーオブジェクト (FBO) 初期化メソッド1
シェーダー内でフレームバッファーオブジェクト (FBO) を利用する際の初期化を行います。 このメソッドを呼ぶことで、 FBO にアクセスするシェーダープログラムを利用することができます。
本メソッドを用いたあと、実際に画面に出力を行うには BindWindow() メソッドで連携を行う必要があります。
[in] | width | FBO の横幅 |
[in] | height | FBO の縦幅 |
void FK_ShaderPlugin::fk_ShaderBinder::InitializeFrameBufferObject | ( | fk_Dimension^ | dim | ) |
フレームバッファーオブジェクト (FBO) 初期化メソッド2
シェーダー内でフレームバッファーオブジェクト (FBO) を利用する際の初期化を行います。 このメソッドを呼ぶことで、 FBO にアクセスするシェーダープログラムを利用することができます。
[in] | dim | FBO の横幅と縦幅を表す fk_Dimension^ 型インスタンス |
void FK_ShaderPlugin::fk_ShaderBinder::FinalizeFrameBufferObject | ( | ) |
フレームバッファーオブジェクト (FBO) 利用終了メソッド
フレームバッファーオブジェクト (FBO) の利用を終了します。
void FK_ShaderPlugin::fk_ShaderBinder::BindWindow | ( | fk_IBindableDrawer^ | window | ) |
ウィンドウ連携設定メソッド
フレームバッファーオブジェクト (FBO) を処理するシェーダーの出力を、 ウィンドウに表示するよう連携する設定を行います。
[in] | window | FBO用シェーダーの出力を表示するウィンドウインスタンス |
void FK_ShaderPlugin::fk_ShaderBinder::UnbindWindow | ( | fk_IBindableDrawer^ | window | ) |
ウィンドウ連携解除メソッド
BindWindow() メソッドによって設定していた連携を解除します。
[in] | window | BindWindow() メソッドで連携設定を行っていたウィンドウインスタンス |
fk_ShaderProgram^ FK_ShaderPlugin::fk_ShaderBinder::Program |
シェーダープログラムプロパティ
シェーダープログラムを設定します。 詳細は fk_ShaderProgram のマニュアルを参照して下さい。
fk_ShaderParameter^ FK_ShaderPlugin::fk_ShaderBinder::Parameter |
シェーダーパラメータープロパティ
シェーダープログラムに渡すパラメーターを設定します。 詳細は fk_ShaderParameter のマニュアルを参照して下さい。