FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | プロパティ | 全メンバ一覧
FK_CLI::fk_ShaderBinder クラス

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

#include <CLI/FK_CLI/include/ShaderBinder_CLI.h>

公開メンバ関数

 fk_ShaderBinder ()
 コンストラクタ
 
 ~fk_ShaderBinder ()
 デストラクタ
 
 !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 BindWindow (fk_AppWindow^ window)
 ウィンドウ連携設定メソッド
 
void UnbindWindow (fk_AppWindow^ window)
 ウィンドウ連携解除メソッド
 

プロパティ

fk_ShaderProgramProgram [get]
 シェーダープログラムプロパティ
 
fk_ShaderParameterParameter [get]
 シェーダーパラメータープロパティ
 

詳解

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

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

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

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

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

構築子と解体子

◆ fk_ShaderBinder()

FK_CLI::fk_ShaderBinder::fk_ShaderBinder ( )

コンストラクタ

インスタンスを生成します。

◆ ~fk_ShaderBinder()

FK_CLI::fk_ShaderBinder::~fk_ShaderBinder ( )

デストラクタ

◆ !fk_ShaderBinder()

FK_CLI::fk_ShaderBinder::!fk_ShaderBinder ( )

ファイナライザ

関数詳解

◆ BindModel()

void FK_CLI::fk_ShaderBinder::BindModel ( fk_Model model)

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

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

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

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

◆ UnbindModel()

void FK_CLI::fk_ShaderBinder::UnbindModel ( fk_Model model)

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

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

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

◆ InitializeFrameBufferObject() [1/2]

void FK_CLI::fk_ShaderBinder::InitializeFrameBufferObject ( int  width,
int  height 
)

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

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

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

引数
[in]widthFBO の横幅
[in]heightFBO の縦幅
参照
BindWindow(), FinalizeFrameBufferObject()

◆ InitializeFrameBufferObject() [2/2]

void FK_CLI::fk_ShaderBinder::InitializeFrameBufferObject ( fk_Dimension dim)

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

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

引数
[in]dimFBO の横幅と縦幅を表す fk_Dimension^ 型インスタンス
参照
BindWindow(), FinalizeFrameBufferObject()

◆ BindWindow()

void FK_CLI::fk_ShaderBinder::BindWindow ( fk_AppWindow window)

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

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

引数
[in]windowFBO用シェーダーの出力を表示するウィンドウインスタンス
参照
InitializeFrameBufferObject(int, int), InitializeFrameBufferObject(fk_Dimension^), UnbindWindow()

◆ UnbindWindow()

void FK_CLI::fk_ShaderBinder::UnbindWindow ( fk_AppWindow window)

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

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

引数
[in]windowBindWindow() メソッドで連携設定を行っていたウィンドウインスタンス
参照
BindWindow()

プロパティ詳解

◆ Program

fk_ShaderProgram^ FK_CLI::fk_ShaderBinder::Program
get

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

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

◆ Parameter

fk_ShaderParameter^ FK_CLI::fk_ShaderBinder::Parameter
get

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

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