FineKernelToolKit
3.1.0
|
シェーダーパラメーター管理クラス [詳解]
公開メンバ関数 | |
fk_ShaderParameter () | |
コンストラクタ [詳解] | |
virtual | ~fk_ShaderParameter () |
デストラクタ [詳解] | |
void | Register (String^ name, float value) |
float 型 uniform 変数設定メソッド [詳解] | |
void | Register (String^ name, array< float >^value) |
float 配列型 uniform 変数設定メソッド [詳解] | |
void | Register (String^ name, int value) |
int 型 uniform 変数設定メソッド [詳解] | |
void | Register (String^ name, array< int >^value) |
int 配列型 uniform 変数設定メソッド [詳解] | |
void | Register (String^ name, fk_Matrix^ value) |
行列型 uniform 変数設定メソッド [詳解] | |
bool | Unregister (String^ name) |
uniform 変数解除メソッド [詳解] | |
void | AddAttribute (String^ name, int dim, array< float >^value) |
float 配列型 attribute 変数設定メソッド [詳解] | |
void | AddAttribute (String^ name, int dim, array< int >^value) |
int 配列型 attribute 変数設定メソッド [詳解] | |
bool | RemoveAttribute (String^ name) |
attribute 変数解除メソッド [詳解] | |
bool | AttachTexture (int unit, fk_TextureSampler^ texture) |
参照テクスチャ設定メソッド [詳解] | |
bool | DetachTexture (int unit) |
参照テクスチャ解除メソッド [詳解] | |
プロパティ | |
String^ | LastError [get] |
エラーメッセージプロパティ [詳解] | |
シェーダーパラメーター管理クラス
このクラスは、シェーダープログラムに対してパラメーターを渡すための機能を提供します。 本クラスは単独のインスタンスとしてはあまり利用用途はなく、 fk_ShaderBinder クラスの fk_ShaderBinder.Parameter プロパティとして利用することがほとんどです。
FK_ShaderPlugin::fk_ShaderParameter::fk_ShaderParameter | ( | ) |
コンストラクタ
|
virtual |
デストラクタ
void FK_ShaderPlugin::fk_ShaderParameter::Register | ( | String^ | name, |
float | value | ||
) |
float 型 uniform 変数設定メソッド
このメソッドは、バーテックスシェーダーやフラグメントシェーダーに対し、 float 型の uniform 変数を渡す設定を行います。
[in] | name | GLSL コード内での変数名 |
[in] | value | uniform 変数に渡す値 |
void FK_ShaderPlugin::fk_ShaderParameter::Register | ( | String^ | name, |
array< float >^ | value | ||
) |
float 配列型 uniform 変数設定メソッド
このメソッドは、バーテックスシェーダーやフラグメントシェーダーに対し、 float 配列型の uniform 変数を渡す設定を行います。 配列のサイズは 1 から 4 までで、 GLSL 内での型は配列サイズが 1 から順に float, vec2, vec3, vec4 となります。
[in] | name | GLSL コード内での変数名 |
[in] | value | uniform 変数に渡す配列 |
void FK_ShaderPlugin::fk_ShaderParameter::Register | ( | String^ | name, |
int | value | ||
) |
int 型 uniform 変数設定メソッド
このメソッドは、バーテックスシェーダーやフラグメントシェーダーに対し、 int 型の uniform 変数を渡す設定を行います。
[in] | name | GLSL コード内での変数名 |
[in] | value | uniform 変数に渡す値 |
void FK_ShaderPlugin::fk_ShaderParameter::Register | ( | String^ | name, |
array< int >^ | value | ||
) |
int 配列型 uniform 変数設定メソッド
このメソッドは、バーテックスシェーダーやフラグメントシェーダーに対し、 int 配列型の uniform 変数を渡す設定を行います。 配列のサイズは 1 から 4 までで、 GLSL 内での型は配列サイズが 1 から順に int, ivec2, ivec3, ivec4 となります。
[in] | name | GLSL コード内での変数名 |
[in] | value | uniform 変数に渡す配列 |
void FK_ShaderPlugin::fk_ShaderParameter::Register | ( | String^ | name, |
fk_Matrix^ | value | ||
) |
行列型 uniform 変数設定メソッド
このメソッドは、バーテックスシェーダーやフラグメントシェーダーに対し、 行列型の uniform 変数を渡す設定を行います。 このメソッドの引数は fk_Matrix 型変数となり、 GLSL コード内での型は mat4 となります。
[in] | name | GLSL コード内での変数名 |
[in] | value | uniform 変数に渡す行列 |
bool FK_ShaderPlugin::fk_ShaderParameter::Unregister | ( | String^ | name | ) |
uniform 変数解除メソッド
各種 Register() メソッドで設定した uniform 変数を解除します。
[in] | name | GLSL コード内での変数名 |
void FK_ShaderPlugin::fk_ShaderParameter::AddAttribute | ( | String^ | name, |
int | dim, | ||
array< float >^ | value | ||
) |
float 配列型 attribute 変数設定メソッド
このメソッドは、 バーテックスシェーダーに対し float 配列型の attribute 変数を渡す設定を行います。 1つの頂点に対して渡せる要素数は 1 から 4 までで、第2引数で指定します。 value に渡す配列のサイズは dim * 頂点数である必要があります。 GLSL 内での型は、要素数が 1 から順に float, vec2, vec3, vec4 となります。
[in] | name | GLSL コード内での変数名 |
[in] | dim | attribute 変数の要素数 |
[in] | value | attribute 変数に渡す値の配列 |
void FK_ShaderPlugin::fk_ShaderParameter::AddAttribute | ( | String^ | name, |
int | dim, | ||
array< int >^ | value | ||
) |
int 配列型 attribute 変数設定メソッド
このメソッドは、 バーテックスシェーダーに対し int 配列型の attribute 変数を渡す設定を行います。 1つの頂点に対して渡せる要素数は 1 から 4 までで、第2引数で指定します。 value に渡す配列のサイズは dim * 頂点数である必要があります。 GLSL 内での型は、要素数が 1 から順に int, ivec2, ivec3, ivec4 となります。
[in] | name | GLSL コード内での変数名 |
[in] | dim | attribute 変数の要素数 |
[in] | value | attribute 変数に渡す値の配列 |
bool FK_ShaderPlugin::fk_ShaderParameter::RemoveAttribute | ( | String^ | name | ) |
attribute 変数解除メソッド
各種 AddAttribute() メソッドで設定した attribute 変数を解除します。
[in] | name | GLSL コード内での変数名 |
bool FK_ShaderPlugin::fk_ShaderParameter::AttachTexture | ( | int | unit, |
fk_TextureSampler^ | texture | ||
) |
参照テクスチャ設定メソッド
GLSLコード内の参照テクスチャを設定します。 ここで設定したテクスチャは、 GLSL内では sampler2D 型 uniform 変数として扱われます。 複数のテクスチャを設定した場合、 GLSLコード内で変数を宣言した順番に割り振られます。
[in] | unit | シェーダー内でのテクスチャ ID を指定します。 0 から 31 までを指定することができます。 既に使用している ID を用いた場合、 前にその ID を用いていたテクスチャの設定は破棄されます。 GLSLコード内では、複数の sampler2D 変数に対し ID の若い順に割り振られます。 |
[in] | texture | テクスチャオブジェクト。詳細は fk_TextureSampler を参照して下さい。 |
bool FK_ShaderPlugin::fk_ShaderParameter::DetachTexture | ( | int | unit | ) |
参照テクスチャ解除メソッド
AttachTexture() メソッドにて設定した参照テクスチャを解除します。
[in] | unit | テクスチャ ID |
|
get |
エラーメッセージプロパティ
シェーダーに関するエラーが生じた場合に、 エラーメッセージの文字列をこのプロパティから取得できます。