FineKernelToolKit  3.1.0
公開メンバ関数 | プロパティ | 全メンバ一覧
FK_ShaderPlugin::fk_ShaderProgram クラス

シェーダープログラム格納クラス [詳解]

公開メンバ関数

 fk_ShaderProgram ()
 コンストラクタ [詳解]
 
virtual ~fk_ShaderProgram ()
 デストラクタ [詳解]
 
bool LoadVertexShader (String^ fileName)
 バーテックスシェーダーコード入力メソッド [詳解]
 
bool LoadFragmentShader (String^ fileName)
 フラグメントシェーダーコード入力メソッド [詳解]
 
bool Validate (void)
 シェーダープログラムコンパイルメソッド [詳解]
 

プロパティ

String^  VertexShaderSource
 バーテックスシェーダーコードプロパティ [詳解]
 
String^  FragmentShaderSource
 フラグメントシェーダーコードプロパティ [詳解]
 
UInt32 ProgramId [get]
 IDプロパティ [詳解]
 
String^  LastError [get]
 エラーメッセージプロパティ [詳解]
 

詳解

シェーダープログラム格納クラス

このクラスは、シェーダーのプログラムソースを格納するための機能を提供します。 インスタンス内部でバーテックス(頂点)シェーダーと フラグメント(ピクセル)シェーダーのソースコードを管理します。 本クラスは単独のインスタンスとしてはあまり利用用途はなく、 fk_ShaderBinderfk_ShaderBinder.Program プロパティとして利用することがほとんどです。

参照
fk_ShaderBinder, fk_ShaderParameter, fk_TextureSampler

構築子と解体子

FK_ShaderPlugin::fk_ShaderProgram::fk_ShaderProgram ( )

コンストラクタ

virtual FK_ShaderPlugin::fk_ShaderProgram::~fk_ShaderProgram ( )
virtual

デストラクタ

関数詳解

bool FK_ShaderPlugin::fk_ShaderProgram::LoadVertexShader ( String^  fileName)

バーテックスシェーダーコード入力メソッド

バーテックス(頂点)シェーダーのコードが記述されているファイルから、 コードを読み込みます。 読み込みに成功した場合、 fk_ShaderProgram.VertexShaderSource プロパティにその内容が格納されます。 なお、コードに誤りがあった場合でも、この時点では false を返しません。 実際に利用するには、 Validate() メソッドを呼ぶ必要があります。

引数
[in]fileNameファイル名
戻り値
入力に成功すれば true を、失敗すれば false を返します。
bool FK_ShaderPlugin::fk_ShaderProgram::LoadFragmentShader ( String^  fileName)

フラグメントシェーダーコード入力メソッド

フラグメント(ピクセル)シェーダーのコードが記述されているファイルから、 コードを読み込みます。 読み込みに成功した場合、 fk_ShaderProgram.FragmentShaderSource プロパティにその内容が格納されます。 なお、コードに誤りがあった場合でも、この時点では false を返しません。 実際に利用するには、 Validate() メソッドを呼ぶ必要があります。

引数
[in]fileNameファイル名
戻り値
入力に成功すれば true を、失敗すれば false を返します。
bool FK_ShaderPlugin::fk_ShaderProgram::Validate ( void  )

シェーダープログラムコンパイルメソッド

fk_ShaderProgram.VertexShaderSource, fk_ShaderProgram.FragmentShaderSource に格納されているコードのコンパイルを行います。

戻り値
コンパイルに成功すれば true を、失敗すれば false を返します。 失敗した場合は、 fk_ShaderProgram.LastError プロパティでエラーメッセージを参照できます。

プロパティ詳解

String^ FK_ShaderPlugin::fk_ShaderProgram::VertexShaderSource

バーテックスシェーダーコードプロパティ

バーテックス(頂点)シェーダーのコードの設定や取得を行います。 バーテックスシェーダーのコードを設定する際は、 本プロパティに直接コードを書き込むか、 LoadVertexShader() メソッドでコードが格納されているファイル名を指定して下さい。

String^ FK_ShaderPlugin::fk_ShaderProgram::FragmentShaderSource

フラグメントシェーダーコードプロパティ

フラグメント(ピクセル)シェーダーのコードの設定や取得を行います。 フラグメントシェーダーのコードを設定する際は、 本プロパティに直接コードを書き込むか、 LoadVertexShader() メソッドでコードが格納されているファイル名を指定して下さい。

UInt32 FK_ShaderPlugin::fk_ShaderProgram::ProgramId
get

IDプロパティ

GPU からシェーダープログラムに割り振られた ID を取得します。

覚え書き
この ID は、具体的には OpenGL の関数である glCreateProgram() による返値のことです。
String^ FK_ShaderPlugin::fk_ShaderProgram::LastError
get

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

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