FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | プロパティ | 全メンバ一覧
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]nameGLSL コード内での変数名
[in]valueuniform 変数に渡す値

◆ 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]nameGLSL コード内での変数名
[in]valueuniform 変数に渡す配列

◆ Register() [3/5]

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

int 型 uniform 変数設定メソッド

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

引数
[in]nameGLSL コード内での変数名
[in]valueuniform 変数に渡す値

◆ 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]nameGLSL コード内での変数名
[in]valueuniform 変数に渡す配列

◆ Register() [5/5]

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

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

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

引数
[in]nameGLSL コード内での変数名
[in]valueuniform 変数に渡す行列

◆ Unregister()

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

uniform 変数解除メソッド

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

引数
[in]nameGLSL コード内での変数名
戻り値
uniform 変数が存在していた場合は解除し true を返します。 変数が存在していなかった場合は false を返します。

◆ ReserveAttribute()

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

Attribute 変数予約関数

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

引数
[in]nameGLSL コード内での変数名

◆ 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

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

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