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_ShaderBinder の fk_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

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

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