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