FineKernelToolKit: FK_CLI::fk_ShaderParameter クラス

FineKernelToolKit 4.3.0

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

シェーダーパラメーター管理クラス [詳解]

`#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_ShaderBinder, fk_ShaderParameter, fk_Texture

## 構築子と解体子

## ◆ fk_ShaderParameter()

FK_CLI::fk_ShaderParameter::fk_ShaderParameter | ( |  | ) |

コンストラクタ

## ◆ ~fk_ShaderParameter()

FK_CLI::fk_ShaderParameter::~fk_ShaderParameter | ( |  | ) |

デストラクタ

## ◆ !fk_ShaderParameter()

FK_CLI::fk_ShaderParameter::!fk_ShaderParameter | ( |  | ) |

ファイナライザ

## 関数詳解

## ◆ Register() [1/5]

void FK_CLI::fk_ShaderParameter::Register | ( | String^ | name,
|  | float | value )

float 型 uniform 変数設定メソッド

このメソッドは、バーテックスシェーダーやフラグメントシェーダーに対し、 float 型の uniform 変数を渡す設定を行います。

引数

  [in] | name | GLSL コード内での変数名
  [in] | value | uniform 変数に渡す値

## ◆ Register() [2/5]

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 変数に渡す配列

## ◆ Register() [3/5]

void FK_CLI::fk_ShaderParameter::Register | ( | String^ | name,
|  | int | value )

int 型 uniform 変数設定メソッド

このメソッドは、バーテックスシェーダーやフラグメントシェーダーに対し、 int 型の uniform 変数を渡す設定を行います。

引数

  [in] | name | GLSL コード内での変数名
  [in] | value | uniform 変数に渡す値

## ◆ Register() [4/5]

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 変数に渡す配列

## ◆ Register() [5/5]

void FK_CLI::fk_ShaderParameter::Register | ( | String^ | name,
|  | fk_Matrix^ | value )

行列型 uniform 変数設定メソッド

このメソッドは、バーテックスシェーダーやフラグメントシェーダーに対し、 行列型の uniform 変数を渡す設定を行います。 このメソッドの引数は fk_Matrix 型変数となり、 GLSL コード内での型は mat4 となります。

引数

  [in] | name | GLSL コード内での変数名
  [in] | value | uniform 変数に渡す行列

## ◆ Unregister()

bool FK_CLI::fk_ShaderParameter::Unregister | ( | String^ | name | ) |

uniform 変数解除メソッド

各種 Register() メソッドで設定した uniform 変数を解除します。

引数

  [in] | name | GLSL コード内での変数名

戻り値
  uniform 変数が存在していた場合は解除し true を返します。 変数が存在していなかった場合は false を返します。

## ◆ ReserveAttribute()

void FK_CLI::fk_ShaderParameter::ReserveAttribute | ( | String^ | name | ) |

Attribute 変数予約関数

Attribute 変数用の名前を予約します。

引数

  [in] | name | GLSL コード内での変数名

## ◆ AttachTexture()

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 を参照して下さい。

戻り値
  設定に成功すれば true を、失敗すれば false を返します。

## ◆ DetachTexture()

bool FK_CLI::fk_ShaderParameter::DetachTexture | ( | int | unit | ) |

参照テクスチャ解除メソッド

AttachTexture() メソッドにて設定した参照テクスチャを解除します。

引数

  [in] | unit | テクスチャ ID

戻り値
  解除に成功すれば true を、失敗すれば false を返します。

## ◆ ClearTexture()

void FK_CLI::fk_ShaderParameter::ClearTexture | ( | void |  | ) |

参照テクスチャ全解除関数

AttachTexture() メソッドにて設定した参照テクスチャを全て解除します。

## プロパティ詳解

## ◆ LastError

String^ FK_CLI::fk_ShaderParameter::LastError

get

エラーメッセージプロパティ

シェーダーに関するエラーが生じた場合に、 エラーメッセージの文字列をこのプロパティから取得できます。