FineKernelToolKit 4.2.13
|
シェーダープログラム格納クラス [詳解]
#include <CLI/FK_CLI/include/ShaderProgram_CLI.h>
公開メンバ関数 | |
fk_ShaderProgram () | |
コンストラクタ | |
~fk_ShaderProgram () | |
デストラクタ | |
!fk_ShaderProgram () | |
ファイナライザ | |
bool | LoadVertexShader (String^ fileName) |
バーテックスシェーダーコード入力メソッド | |
bool | LoadFragmentShader (String^ fileName) |
フラグメントシェーダーコード入力メソッド | |
bool | LoadGeometryShader (String^ fileName) |
ジオメトリシェーダーコード入力メソッド | |
bool | LoadTessCtrlShader (String^ fileName) |
テッセレーション制御シェーダーコード入力メソッド | |
bool | LoadTessEvalShader (String^ fileName) |
テッセレーション評価シェーダーコード入力メソッド | |
bool | Validate (void) |
シェーダープログラムコンパイルメソッド | |
bool | Link (void) |
シェーダープログラムリンクメソッド | |
プロパティ | |
String^ | VertexShaderSource [get, set] |
バーテックスシェーダーコードプロパティ | |
String^ | FragmentShaderSource [get, set] |
フラグメントシェーダーコードプロパティ | |
String^ | GeometryShaderSource [get, set] |
ジオメトリシェーダーコードプロパティ | |
String^ | TessCtrlShaderSource [get, set] |
テッセレーション制御コードプロパティ | |
String^ | TessEvalShaderSource [get, set] |
テッセレーション評価シェーダーコードプロパティ | |
UInt32 | ProgramID [get] |
IDプロパティ | |
String^ | LastError [get] |
エラーメッセージプロパティ | |
シェーダープログラム格納クラス
このクラスは、シェーダーのプログラムソースを格納するための機能を提供します。 インスタンス内部でバーテックス(頂点)シェーダーと フラグメント(ピクセル)シェーダーのソースコードを管理します。 本クラスは単独のインスタンスとしてはあまり利用用途はなく、 fk_ShaderBinder の fk_ShaderBinder.Program プロパティとして利用することがほとんどです。
FK_CLI::fk_ShaderProgram::fk_ShaderProgram | ( | ) |
コンストラクタ
FK_CLI::fk_ShaderProgram::~fk_ShaderProgram | ( | ) |
デストラクタ
FK_CLI::fk_ShaderProgram::!fk_ShaderProgram | ( | ) |
ファイナライザ
bool FK_CLI::fk_ShaderProgram::LoadVertexShader | ( | String^ | fileName | ) |
バーテックスシェーダーコード入力メソッド
バーテックス(頂点)シェーダーのコードが記述されているファイルから、 コードを読み込みます。 読み込みに成功した場合、 fk_ShaderProgram.VertexShaderSource プロパティにその内容が格納されます。 なお、コードに誤りがあった場合でも、この時点では false を返しません。 実際に利用するには、 Validate() メソッドを呼ぶ必要があります。
[in] | fileName | ファイル名 |
bool FK_CLI::fk_ShaderProgram::LoadFragmentShader | ( | String^ | fileName | ) |
フラグメントシェーダーコード入力メソッド
フラグメント(ピクセル)シェーダーのコードが記述されているファイルから、 コードを読み込みます。 読み込みに成功した場合、 fk_ShaderProgram.FragmentShaderSource プロパティにその内容が格納されます。 なお、コードに誤りがあった場合でも、この時点では false を返しません。 実際に利用するには、 Validate() メソッドを呼ぶ必要があります。
[in] | fileName | ファイル名 |
bool FK_CLI::fk_ShaderProgram::LoadGeometryShader | ( | String^ | fileName | ) |
ジオメトリシェーダーコード入力メソッド
ジオメトリシェーダーのコードが記述されているファイルから、 コードを読み込みます。 読み込みに成功した場合、 fk_ShaderProgram.GeometryShaderSource プロパティにその内容が格納されます。 なお、コードに誤りがあった場合でも、この時点では false を返しません。 実際に利用するには、 Validate() メソッドを呼ぶ必要があります。
[in] | fileName | ファイル名 |
bool FK_CLI::fk_ShaderProgram::LoadTessCtrlShader | ( | String^ | fileName | ) |
テッセレーション制御シェーダーコード入力メソッド
テッセレーション評価シェーダーのコードが記述されているファイルから、 コードを読み込みます。 読み込みに成功した場合、 fk_ShaderProgram.TessCtrlShaderSource プロパティにその内容が格納されます。 なお、コードに誤りがあった場合でも、この時点では false を返しません。 実際に利用するには、 Validate() 関数を呼ぶ必要があります。
[in] | fileName | ファイル名 |
bool FK_CLI::fk_ShaderProgram::LoadTessEvalShader | ( | String^ | fileName | ) |
テッセレーション評価シェーダーコード入力メソッド
テッセレーション評価シェーダーのコードが記述されているファイルから、 コードを読み込みます。 読み込みに成功した場合、 fk_ShaderProgram.TessEvalShaderSource プロパティにその内容が格納されます。 なお、コードに誤りがあった場合でも、この時点では false を返しません。 実際に利用するには、 Validate() 関数を呼ぶ必要があります。
[in] | fileName | ファイル名 |
bool FK_CLI::fk_ShaderProgram::Validate | ( | void | ) |
シェーダープログラムコンパイルメソッド
格納されているシェーダーコードのコンパイルを行います。
bool FK_CLI::fk_ShaderProgram::Link | ( | void | ) |
シェーダープログラムリンクメソッド
コンパイル後、プログラムのリンクを実行します。 Attribute 変数等の定義はこの前に行っておく必要があります。
|
getset |
バーテックスシェーダーコードプロパティ
バーテックス(頂点)シェーダーのコードの設定や取得を行います。 バーテックスシェーダーのコードを設定する際は、 本プロパティに直接コードを書き込むか、 LoadVertexShader() メソッドでコードが格納されているファイル名を指定して下さい。
|
getset |
フラグメントシェーダーコードプロパティ
フラグメント(ピクセル)シェーダーのコードの設定や取得を行います。 フラグメントシェーダーのコードを設定する際は、 本プロパティに直接コードを書き込むか、 LoadVertexShader() メソッドでコードが格納されているファイル名を指定して下さい。
|
getset |
ジオメトリシェーダーコードプロパティ
ジオメトリシェーダーのコードの設定や取得を行います。 ジオメトリシェーダーのコードを設定する際は、 本プロパティに直接コードを書き込むか、 LoadGeometryShader() メソッドでコードが格納されているファイル名を指定して下さい。
|
getset |
テッセレーション制御コードプロパティ
テッセレーション制御シェーダーのコードの設定や取得を行います。 テッセレーション制御シェーダーのコードを設定する際は、 本プロパティに直接コードを書き込むか、 LoadTessCtrlShader() 関数でコードが格納されているファイル名を指定して下さい。
|
getset |
テッセレーション評価シェーダーコードプロパティ
テッセレーション評価シェーダーのコードの設定や取得を行います。 テッセレーション評価シェーダーのコードを設定する際は、 本プロパティに直接コードを書き込むか、 LoadTessEvalShader() 関数でコードが格納されているファイル名を指定して下さい。
|
get |
IDプロパティ
GPU からシェーダープログラムに割り振られた ID を取得します。
|
get |
エラーメッセージプロパティ
シェーダーに関するエラーが生じた場合に、 エラーメッセージの文字列をこのプロパティから取得できます。