FineKernelToolKit 4.2.13
|
シェーダーパラメーター管理クラス [詳解]
#include <FK/ShaderParameter.h>
公開メンバ関数 | |
fk_ShaderParameter () | |
コンストラクタ | |
virtual | ~fk_ShaderParameter () |
デストラクタ | |
std::string | getLastError (void) |
エラーメッセージプロパティ | |
void | setRegister (std::string name, float value, std::string="") |
float 型 uniform 変数設定関数 | |
void | setRegister (std::string name, std::vector< float > *value, std::string="") |
float 配列型 uniform 変数設定関数 | |
void | setRegister (std::string name, int value, std::string="") |
int 型 uniform 変数設定関数 | |
void | setRegister (std::string name, std::vector< int > *value, std::string="") |
int 配列型 uniform 変数設定関数 | |
void | setRegister (std::string name, fk_Vector *value, std::string="") |
fk_Vector 型 uniform 変数設定関数 | |
void | setRegister (std::string name, fk_HVector *value, std::string="") |
fk_HVector 型 uniform 変数設定関数 | |
void | setRegister (std::string name, fk_Matrix *value, std::string="") |
fk_Matrix 型 uniform 変数設定関数 | |
bool | removeRegister (std::string name) |
uniform 変数解除関数 | |
void | reserveAttribute (std::string name) |
attribute 変数予約関数 | |
bool | attachTexture (int unit, fk_Texture *texture) |
参照テクスチャ設定関数 | |
bool | detachTexture (int unit) |
参照テクスチャ解除関数 | |
void | clearTexture (void) |
参照テクスチャ全解除関数 | |
シェーダーパラメーター管理クラス
このクラスは、シェーダープログラムに対してパラメーターを渡すための機能を提供します。 本クラスの機能は、 fk_ShaderBinder クラスの fk_ShaderBinder::getParameter() によってインスタンスを得ることで利用します。
FK::fk_ShaderParameter::fk_ShaderParameter | ( | ) |
コンストラクタ
|
virtual |
デストラクタ
std::string FK::fk_ShaderParameter::getLastError | ( | void | ) |
エラーメッセージプロパティ
シェーダーに関するエラーが生じた場合に、 エラーメッセージの文字列をこのプロパティから取得できます。
void FK::fk_ShaderParameter::setRegister | ( | std::string | name, |
float | value, | ||
std::string | = "" |
||
) |
float 型 uniform 変数設定関数
この関数は、シェーダーに対し float 型の uniform 変数を渡す設定を行います。
[in] | name | GLSL コード内での変数名 |
[in] | value | uniform 変数に渡す値 |
void FK::fk_ShaderParameter::setRegister | ( | std::string | name, |
std::vector< float > * | value, | ||
std::string | = "" |
||
) |
float 配列型 uniform 変数設定関数
このメソッドは、シェーダーに対し float 配列型の uniform 変数を渡す設定を行います。 配列のサイズは 1 から 4 までで、 GLSL 内での型は配列サイズが 1 から順に float, vec2, vec3, vec4 となります。
[in] | name | GLSL コード内での変数名 |
[in] | value | uniform 変数に渡す配列 |
void FK::fk_ShaderParameter::setRegister | ( | std::string | name, |
int | value, | ||
std::string | = "" |
||
) |
int 型 uniform 変数設定関数
このメソッドは、シェーダーに対し int 型の uniform 変数を渡す設定を行います。
[in] | name | GLSL コード内での変数名 |
[in] | value | uniform 変数に渡す値 |
void FK::fk_ShaderParameter::setRegister | ( | std::string | name, |
std::vector< int > * | value, | ||
std::string | = "" |
||
) |
int 配列型 uniform 変数設定関数
このメソッドは、シェーダーに対し int 配列型の uniform 変数を渡す設定を行います。 配列のサイズは 1 から 4 までで、 GLSL 内での型は配列サイズが 1 から順に int, ivec2, ivec3, ivec4 となります。
[in] | name | GLSL コード内での変数名 |
[in] | value | uniform 変数に渡す配列 |
void FK::fk_ShaderParameter::setRegister | ( | std::string | name, |
fk_Vector * | value, | ||
std::string | = "" |
||
) |
void FK::fk_ShaderParameter::setRegister | ( | std::string | name, |
fk_HVector * | value, | ||
std::string | = "" |
||
) |
fk_HVector 型 uniform 変数設定関数
このメソッドは、シェーダーに対し fk_HVector 型の uniform 変数を渡す設定を行います。 GLSL コード内での型は vec4 となります。
[in] | name | GLSL コード内での変数名 |
[in] | value | uniform 変数に渡す行列 |
void FK::fk_ShaderParameter::setRegister | ( | std::string | name, |
fk_Matrix * | value, | ||
std::string | = "" |
||
) |
bool FK::fk_ShaderParameter::removeRegister | ( | std::string | name | ) |
uniform 変数解除関数
各種 setRegister() 関数で設定した uniform 変数を解除します。
[in] | name | GLSL コード内での変数名 |
void FK::fk_ShaderParameter::reserveAttribute | ( | std::string | name | ) |
attribute 変数予約関数
attribute 変数用の名前を予約します。
[in] | name | GLSL コード内での変数名 |
bool FK::fk_ShaderParameter::attachTexture | ( | int | unit, |
fk_Texture * | texture | ||
) |
参照テクスチャ設定関数
GLSLコード内の参照テクスチャを設定します。 ここで設定したテクスチャは、 GLSL内では sampler2D 型 uniform 変数配列である fk_TexID[] として扱われます。
[in] | unit | シェーダー内でのテクスチャ ID を指定します。 1 から 7 までを指定することができます。 この数値が、GLSL内での fk_TexID[unit] に対応することになります。 既に使用している ID を用いた場合、 前にその ID を用いていたテクスチャの設定は破棄されます。 |
[in] | texture | テクスチャオブジェクト。詳細は fk_Texture を参照して下さい。 |
bool FK::fk_ShaderParameter::detachTexture | ( | int | unit | ) |
参照テクスチャ解除関数
attachTexture() メソッドにて設定した参照テクスチャを解除します。
[in] | unit | テクスチャ ID |
void FK::fk_ShaderParameter::clearTexture | ( | void | ) |
参照テクスチャ全解除関数
attachTexture() メソッドにて設定した参照テクスチャを全て解除します。