シェーダープログラムを表すクラス [詳細]
Public メソッド | |
ShaderProgram (string fileName) | |
シェーダープログラムを作成する (ファイルから) | |
ShaderProgram (string vpFileName, string fpFileName) | |
シェーダープログラムを作成する (ファイルから) | |
ShaderProgram (string fileName, ShaderProgramOption option) | |
シェーダープログラムを作成する (ファイルから、オプションあり) | |
ShaderProgram (string vpFileName, string fpFileName, ShaderProgramOption option) | |
シェーダープログラムを作成する (ファイルから、オプションあり) | |
ShaderProgram (byte[] fileImage) | |
シェーダープログラムを作成する (ファイルイメージから) | |
ShaderProgram (byte[] vpFileImage, byte[] fpFileImage) | |
シェーダープログラムを作成する (ファイルイメージから) | |
ShaderProgram (byte[] fileImage, ShaderProgramOption option) | |
シェーダープログラムを作成する (ファイルイメージから、オプションあり) | |
ShaderProgram (byte[] vpFileImage, byte[] fpFileImage, ShaderProgramOption option) | |
シェーダープログラムを作成する (ファイルイメージから、オプションあり) | |
virtual Object | ShallowClone () |
シェーダープログラムを複製する | |
void | Dispose () |
シェーダープログラムのアンマネージドリソースを解放する | |
int | FindUniform (string name) |
ユニフォーム変数を名前で検索する | |
int | FindAttribute (string name) |
アトリビュート変数を名前で検索する | |
string | GetUniformBinding (int index) |
ユニフォーム変数のバインディングを取得する | |
void | SetUniformBinding (int index, string name) |
ユニフォーム変数のバインディングを設定する | |
string | GetAttributeBinding (int index) |
アトリビュート変数のバインディングを取得する | |
void | SetAttributeBinding (int index, string name) |
アトリビュート変数のバインディングを設定する | |
ShaderUniformType | GetUniformType (int index) |
ユニフォーム変数のタイプを取得する | |
ShaderAttributeType | GetAttributeType (int index) |
アトリビュート変数のタイプを取得する | |
string | GetUniformName (int index) |
ユニフォーム変数の名前を取得する | |
string | GetAttributeName (int index) |
アトリビュート変数の名前を取得する | |
int | GetUniformSize (int index) |
ユニフォーム変数の配列サイズを取得する | |
int | GetAttributeSize (int index) |
アトリビュート変数の配列サイズを取得する | |
void | SetUniformValue (int index, ref Matrix4 value) |
ユニフォーム変数の値をセットする | |
void | SetUniformValue (int index, ref Vector4 value) |
ユニフォーム変数の値をセットする | |
void | SetUniformValue (int index, ref Vector3 value) |
ユニフォーム変数の値をセットする | |
void | SetUniformValue (int index, ref Vector2 value) |
ユニフォーム変数の値をセットする | |
void | SetUniformValue (int index, float value) |
ユニフォーム変数の値をセットする | |
void | SetUniformValue (int index, int value) |
ユニフォーム変数の値をセットする | |
void | SetUniformValue (int index, float[] value) |
ユニフォーム変数の値をセットする | |
void | SetUniformValue (int index, int[] value) |
ユニフォーム変数の値をセットする | |
void | SetUniformValue (int index, int offset, ref Matrix4 value) |
ユニフォーム変数の値をセットする (オフセットあり) | |
void | SetUniformValue (int index, int offset, ref Vector4 value) |
ユニフォーム変数の値をセットする (オフセットあり) | |
void | SetUniformValue (int index, int offset, ref Vector3 value) |
ユニフォーム変数の値をセットする (オフセットあり) | |
void | SetUniformValue (int index, int offset, ref Vector2 value) |
ユニフォーム変数の値をセットする (オフセットあり) | |
void | SetUniformValue (int index, int offset, float value) |
ユニフォーム変数の値をセットする (オフセットあり) | |
void | SetUniformValue (int index, int offset, int value) |
ユニフォーム変数の値をセットする (オフセットあり) | |
void | SetUniformValue (int index, int offset, float[] value) |
ユニフォーム変数の値をセットする (オフセットあり) | |
void | SetUniformValue (int index, int offset, int[] value) |
ユニフォーム変数の値をセットする (オフセットあり) | |
void | SetUniformValue (int index, Matrix4[] value, int to, int from, int count) |
ユニフォーム変数の値をセットする (配列データ用) | |
void | SetUniformValue (int index, Vector4[] value, int to, int from, int count) |
ユニフォーム変数の値をセットする (配列データ用) | |
void | SetUniformValue (int index, Vector3[] value, int to, int from, int count) |
ユニフォーム変数の値をセットする (配列データ用) | |
void | SetUniformValue (int index, Vector2[] value, int to, int from, int count) |
ユニフォーム変数の値をセットする (配列データ用) | |
void | SetUniformValue (int index, float[] value, int to, int from, int count) |
ユニフォーム変数の値をセットする (配列データ用) | |
void | SetUniformValue (int index, int[] value, int to, int from, int count) |
ユニフォーム変数の値をセットする (配列データ用) | |
void | SetAttributeValue (int index, params float[] value) |
アトリビュート変数のデフォルト値をセットする | |
int | GetUniformTexture (int index) |
ユニフォーム変数のテクスチャ番号を取得する | |
int | GetAttributeStream (int index) |
アトリビュート変数の頂点ストリーム番号を取得する | |
void | SetAttributeStream (int index, int stream) |
アトリビュート変数の頂点ストリーム番号を設定する | |
Protected メソッド | |
ShaderProgram (ShaderProgram program) | |
シェーダープログラムを複製する | |
void | SwapShader (ShaderProgram program) |
シェーダーを変更する | |
virtual internal void | UpdateShader () |
シェーダーの状態を更新する | |
プロパティ | |
int | UniformCount [get] |
ユニフォーム変数の数 | |
int | AttributeCount [get] |
アトリビュート変数の数 |
シェーダープログラムを表すクラス
ShaderProgram | ( | string | fileName | ) |
シェーダープログラムを作成する (ファイルから)
fileName | シェーダーのファイル名 |
指定されたファイルからシェーダープログラムを作成します。利用可能なファイルフォーマットは CGX です。
ShaderProgram | ( | string | vpFileName, |
string | fpFileName | ||
) |
シェーダープログラムを作成する (ファイルから)
vpFileName | 頂点シェーダーのファイル名 |
fpFileName | フラグメントシェーダーのファイル名 |
指定されたファイルからシェーダープログラムを作成します。利用可能なファイルフォーマットは CGX です。
ShaderProgram | ( | string | fileName, |
ShaderProgramOption | option | ||
) |
シェーダープログラムを作成する (ファイルから、オプションあり)
fileName | シェーダーのファイル名 |
option | シェーダープログラムの作成オプション |
指定されたファイルからシェーダープログラムを作成します。利用可能なファイルフォーマットは CGX です。
ShaderProgram | ( | string | vpFileName, |
string | fpFileName, | ||
ShaderProgramOption | option | ||
) |
シェーダープログラムを作成する (ファイルから、オプションあり)
vpFileName | 頂点シェーダーのファイル名 |
fpFileName | フラグメントシェーダーのファイル名 |
option | シェーダープログラムの作成オプション |
指定されたファイルからシェーダープログラムを作成します。利用可能なファイルフォーマットは CGX です。
ShaderProgram | ( | byte[] | fileImage | ) |
シェーダープログラムを作成する (ファイルイメージから)
fileImage | シェーダーのファイルイメージ |
指定されたファイルイメージからシェーダープログラムを作成します。利用可能なファイルフォーマットは CGX です。
ShaderProgram | ( | byte[] | vpFileImage, |
byte[] | fpFileImage | ||
) |
シェーダープログラムを作成する (ファイルイメージから)
vpFileImage | 頂点シェーダーのファイルイメージ |
fpFileImage | フラグメントシェーダーのファイルイメージ |
指定されたファイルイメージからシェーダープログラムを作成します。利用可能なファイルフォーマットは CGX です。
ShaderProgram | ( | byte[] | fileImage, |
ShaderProgramOption | option | ||
) |
シェーダープログラムを作成する (ファイルイメージから、オプションあり)
fileImage | シェーダーのファイルイメージ |
指定されたファイルイメージからシェーダープログラムを作成します。利用可能なファイルフォーマットは CGX です。
ShaderProgram | ( | byte[] | vpFileImage, |
byte[] | fpFileImage, | ||
ShaderProgramOption | option | ||
) |
シェーダープログラムを作成する (ファイルイメージから、オプションあり)
vpFileImage | 頂点シェーダーのファイルイメージ |
fpFileImage | フラグメントシェーダーのファイルイメージ |
指定されたファイルイメージからシェーダープログラムを作成します。利用可能なファイルフォーマットは CGX です。
ShaderProgram | ( | ShaderProgram | program | ) | [protected] |
シェーダープログラムを複製する
program | シェーダープログラム |
シェーダープログラムを複製します。複製されたシェーダープログラムはアンマネージドリソースを共有します。すべての複製に対して Dispose() が呼び出されたとき、共有されたアンマネージドリソースが解放されます。
int FindAttribute | ( | string | name | ) |
アトリビュート変数を名前で検索する
name | アトリビュート変数の名前 |
アトリビュート変数を名前で検索します。指定した変数が見つからない場合は-1を返します。
int FindUniform | ( | string | name | ) |
ユニフォーム変数を名前で検索する
name | ユニフォーム変数の名前 |
ユニフォーム変数を名前で検索します。指定した変数が見つからない場合は-1を返します。
string GetAttributeBinding | ( | int | index | ) |
アトリビュート変数のバインディングを取得する
index | アトリビュート変数の番号 (0~AttributeCount-1) |
string GetAttributeName | ( | int | index | ) |
アトリビュート変数の名前を取得する
index | アトリビュート変数の番号 (0~AttributeCount-1) |
int GetAttributeSize | ( | int | index | ) |
アトリビュート変数の配列サイズを取得する
index | アトリビュート変数の番号 (0~AttributeCount-1) |
int GetAttributeStream | ( | int | index | ) |
アトリビュート変数の頂点ストリーム番号を取得する
index | アトリビュート変数の番号 (0~AttributeCount-1) |
ShaderAttributeType GetAttributeType | ( | int | index | ) |
アトリビュート変数のタイプを取得する
index | アトリビュート変数の番号 (0~AttributeCount-1) |
string GetUniformBinding | ( | int | index | ) |
ユニフォーム変数のバインディングを取得する
index | ユニフォーム変数の番号 (0~UniformCount-1) |
string GetUniformName | ( | int | index | ) |
ユニフォーム変数の名前を取得する
index | ユニフォーム変数の番号 (0~UniformCount-1) |
int GetUniformSize | ( | int | index | ) |
ユニフォーム変数の配列サイズを取得する
index | ユニフォーム変数の番号 (0~UniformCount-1) |
int GetUniformTexture | ( | int | index | ) |
ユニフォーム変数のテクスチャ番号を取得する
index | ユニフォーム変数の番号 (0~UniformCount-1) |
ユニフォーム変数のテクスチャ番号を取得します。指定した変数がサンプラーでない場合は-1を返します。
ShaderUniformType GetUniformType | ( | int | index | ) |
ユニフォーム変数のタイプを取得する
index | ユニフォーム変数の番号 (0~UniformCount-1) |
void SetAttributeBinding | ( | int | index, |
string | name | ||
) |
アトリビュート変数のバインディングを設定する
index | アトリビュート変数の番号 |
name | アトリビュート変数の名前 (nullならばデフォルト) |
アトリビュート変数を特定の番号に関連づけます。指定された変数の古いバインディングは解除されます。バインディングがない変数はそれぞれ未使用の番号に割り当てられます。
index には AttributeCount 以上の番号を指定することもできます。その場合は、空の変数が挿入されて AttributeCount の値が増加します。
void SetAttributeStream | ( | int | index, |
int | stream | ||
) |
アトリビュート変数の頂点ストリーム番号を設定する
index | アトリビュート変数の番号 (0~AttributeCount-1) |
stream | 頂点ストリーム番号 (-1ならば無効) |
アトリビュート変数の頂点ストリーム番号を設定します。初期値はアトリビュート変数の番号です。この設定により、指定されたアトリビュート変数に任意の頂点ストリームを転送することができます。さらに、特定の頂点ストリームを無効にしたり、一つの頂点ストリームを複数のアトリビュート変数に転送することもできます。
void SetAttributeValue | ( | int | index, |
params float[] | value | ||
) |
アトリビュート変数のデフォルト値をセットする
index | アトリビュート変数の番号 (0~AttributeCount-1) |
value | 配列データ (float) |
void SetUniformBinding | ( | int | index, |
string | name | ||
) |
ユニフォーム変数のバインディングを設定する
index | ユニフォーム変数の番号 |
name | ユニフォーム変数の名前 (nullならばデフォルト) |
ユニフォーム変数を特定の番号に関連づけます。指定された変数の古いバインディングは解除されます。バインディングがない変数はそれぞれ未使用の番号に割り当てられます。
index には UniformCount 以上の番号を指定することもできます。その場合は、空の変数が挿入されて UniformCount の値が増加します。
void SetUniformValue | ( | int | index, |
int | offset, | ||
float | value | ||
) |
ユニフォーム変数の値をセットする (オフセットあり)
index | ユニフォーム変数の番号 (0~UniformCount-1) |
offset | 配列変数のオフセット |
value | スカラ (float) |
void SetUniformValue | ( | int | index, |
int | offset, | ||
ref Vector4 | value | ||
) |
ユニフォーム変数の値をセットする (オフセットあり)
index | ユニフォーム変数の番号 (0~UniformCount-1) |
offset | 配列変数のオフセット |
value | 4次元ベクトル (float) |
void SetUniformValue | ( | int | index, |
int | offset, | ||
ref Matrix4 | value | ||
) |
ユニフォーム変数の値をセットする (オフセットあり)
index | ユニフォーム変数の番号 (0~UniformCount-1) |
offset | 配列変数のオフセット |
value | 4次元行列 (float) |
void SetUniformValue | ( | int | index, |
int[] | value | ||
) |
ユニフォーム変数の値をセットする
index | ユニフォーム変数の番号 (0~UniformCount-1) |
value | 配列データ (int) |
ユニフォーム変数の値をセットします。このオーバーロードはintスカラー変数だけでなく、int2,int3,int4...のようなintベクトル変数にも値をセットすることができます。ただし、配列データのサイズはベクトルサイズの倍数である必要があります。
void SetUniformValue | ( | int | index, |
float[] | value | ||
) |
ユニフォーム変数の値をセットする
index | ユニフォーム変数の番号 (0~UniformCount-1) |
value | 配列データ (float) |
ユニフォーム変数の値をセットします。このオーバーロードはfloatスカラー変数だけでなく、float2,float3,float4...のようなfloatベクトルや行列の変数にも値をセットすることができます。ただし、配列データのサイズはベクトルや行列のサイズの倍数である必要があります。
void SetUniformValue | ( | int | index, |
int | offset, | ||
int | value | ||
) |
ユニフォーム変数の値をセットする (オフセットあり)
index | ユニフォーム変数の番号 (0~UniformCount-1) |
offset | 配列変数のオフセット |
value | スカラ (int) |
void SetUniformValue | ( | int | index, |
ref Matrix4 | value | ||
) |
ユニフォーム変数の値をセットする
index | ユニフォーム変数の番号 (0~UniformCount-1) |
value | 4次元行列 (float) |
void SetUniformValue | ( | int | index, |
float[] | value, | ||
int | to, | ||
int | from, | ||
int | count | ||
) |
ユニフォーム変数の値をセットする (配列データ用)
index | ユニフォーム変数の番号 (0~UniformCount-1) |
value | 配列データ (float) |
to | 転送先のオフセット |
from | 転送元のオフセット |
count | 転送されるデータ数 |
ユニフォーム変数の値をセットします。このオーバーロードはfloatスカラー変数だけでなく、float2,float3,float4...のようなfloatベクトルや行列の変数にも値をセットすることができます。ただし、オフセットとカウント引数はベクトルや行列の単位で数えることに注意してください。
void SetUniformValue | ( | int | index, |
ref Vector3 | value | ||
) |
ユニフォーム変数の値をセットする
index | ユニフォーム変数の番号 (0~UniformCount-1) |
value | 3次元ベクトル (float) |
void SetUniformValue | ( | int | index, |
Matrix4[] | value, | ||
int | to, | ||
int | from, | ||
int | count | ||
) |
ユニフォーム変数の値をセットする (配列データ用)
index | ユニフォーム変数の番号 (0~UniformCount-1) |
value | 4次元行列の配列 (float) |
to | 転送先のオフセット |
from | 転送元のオフセット |
count | 転送されるデータ数 |
void SetUniformValue | ( | int | index, |
ref Vector4 | value | ||
) |
ユニフォーム変数の値をセットする
index | ユニフォーム変数の番号 (0~UniformCount-1) |
value | 4次元ベクトル (float) |
void SetUniformValue | ( | int | index, |
int | offset, | ||
float[] | value | ||
) |
ユニフォーム変数の値をセットする (オフセットあり)
index | ユニフォーム変数の番号 (0~UniformCount-1) |
offset | 配列変数のオフセット |
value | 配列データ (float) |
ユニフォーム変数の値をセットします。このオーバーロードはfloatスカラー変数だけでなく、float2,float3,float4...のようなfloatベクトルや行列の変数にも値をセットすることができます。ただし、配列データのサイズはベクトルや行列のサイズの倍数である必要があります。オフセット引数はベクトルや行列の単位で数えることに注意してください。
void SetUniformValue | ( | int | index, |
Vector3[] | value, | ||
int | to, | ||
int | from, | ||
int | count | ||
) |
ユニフォーム変数の値をセットする (配列データ用)
index | ユニフォーム変数の番号 (0~UniformCount-1) |
value | 3次元ベクトルの配列 (float) |
to | 転送先のオフセット |
from | 転送元のオフセット |
count | 転送されるデータ数 |
void SetUniformValue | ( | int | index, |
int | offset, | ||
ref Vector3 | value | ||
) |
ユニフォーム変数の値をセットする (オフセットあり)
index | ユニフォーム変数の番号 (0~UniformCount-1) |
offset | 配列変数のオフセット |
value | 3次元ベクトル (float) |
void SetUniformValue | ( | int | index, |
ref Vector2 | value | ||
) |
ユニフォーム変数の値をセットする
index | ユニフォーム変数の番号 (0~UniformCount-1) |
value | 2次元ベクトル (float) |
void SetUniformValue | ( | int | index, |
float | value | ||
) |
ユニフォーム変数の値をセットする
index | ユニフォーム変数の番号 (0~UniformCount-1) |
value | スカラ (float) |
void SetUniformValue | ( | int | index, |
int | value | ||
) |
ユニフォーム変数の値をセットする
index | ユニフォーム変数の番号 (0~UniformCount-1) |
value | スカラ (int) |
void SetUniformValue | ( | int | index, |
int | offset, | ||
int[] | value | ||
) |
ユニフォーム変数の値をセットする (オフセットあり)
index | ユニフォーム変数の番号 (0~UniformCount-1) |
offset | 配列変数のオフセット |
value | 配列データ (int) |
ユニフォーム変数の値をセットします。このオーバーロードはintスカラー変数だけでなく、int2,int3,int4...のようなintベクトル変数にも値をセットすることができます。ただし、配列データのサイズはベクトルサイズの倍数である必要があります。オフセット引数はベクトル単位で数えることに注意してください。
void SetUniformValue | ( | int | index, |
int[] | value, | ||
int | to, | ||
int | from, | ||
int | count | ||
) |
ユニフォーム変数の値をセットする (配列データ用)
index | ユニフォーム変数の番号 (0~UniformCount-1) |
value | 配列データ (int) |
to | 転送先のオフセット |
from | 転送元のオフセット |
count | 転送されるデータ数 |
ユニフォーム変数の値をセットします。このオーバーロードはintスカラー変数だけでなく、int2,int3,int4...のようなintベクトル変数にも値をセットすることができます。ただし、オフセットとカウント引数はベクトル単位で数えることに注意してください。
void SetUniformValue | ( | int | index, |
Vector4[] | value, | ||
int | to, | ||
int | from, | ||
int | count | ||
) |
ユニフォーム変数の値をセットする (配列データ用)
index | ユニフォーム変数の番号 (0~UniformCount-1) |
value | 4次元ベクトルの配列 (float) |
to | 転送先のオフセット |
from | 転送元のオフセット |
count | 転送されるデータ数 |
void SetUniformValue | ( | int | index, |
Vector2[] | value, | ||
int | to, | ||
int | from, | ||
int | count | ||
) |
ユニフォーム変数の値をセットする (配列データ用)
index | ユニフォーム変数の番号 (0~UniformCount-1) |
value | 2次元ベクトルの配列 (float) |
to | 転送先のオフセット |
from | 転送元のオフセット |
count | 転送されるデータ数 |
void SetUniformValue | ( | int | index, |
int | offset, | ||
ref Vector2 | value | ||
) |
ユニフォーム変数の値をセットする (オフセットあり)
index | ユニフォーム変数の番号 (0~UniformCount-1) |
offset | 配列変数のオフセット |
value | 2次元ベクトル (float) |
virtual Object ShallowClone | ( | ) | [virtual] |
シェーダープログラムを複製する
シェーダープログラムを複製します。複製されたシェーダープログラムはアンマネージドリソースを共有します。すべての複製に対して Dispose() が呼び出されたとき、共有されたアンマネージドリソースが解放されます。
BasicProgramで再定義されています。
void SwapShader | ( | ShaderProgram | program | ) | [protected] |
シェーダーを変更する
program | シェーダープログラム |
指定されたシェーダープログラムのシェーダーをこのシェーダープログラムにセットします。この関数は内部的にシェーダーを切り替える場合に使用します。
virtual internal void UpdateShader | ( | ) | [protected, virtual] |
シェーダーの状態を更新する
プリミティブ描画前にグラフィックスコンテキストから呼び出される仮想関数です。この関数はクラス内にキャッシュされた状態をシェーダーに反映する場合に使用します。
BasicProgramで再定義されています。