Logo
公開型 | 公開メンバ関数 | 静的公開メンバ関数 | プロパティ | 全メンバ一覧
SharpKmyGfx.Shader クラス

公開型

enum  DrawPass {
  Opaque , Decal , Unlit , Skybox ,
  Translucent , Other , Count
}
 

公開メンバ関数

delegate void CompileProgressDelegate (int current, int total, [MarshalAs(UnmanagedType.LPStr)] string shaderName)
 シェーダーコンパイル進捗コールバックのデリゲート型。 [詳解]
 
 Shader ()
 
 Shader (string path)
 
 Shader (IntPtr ptr)
 
IntPtr getShaderNativePtr ()
 
DrawPass getDrawPass ()
 
void Release ()
 
void Delete ()
 
bool isSrgbTexture (string slotname)
 
void beginUse ()
 
string[] getCacheFileNames ()
 生成済みプログラムがディスクキャッシュ(DX12 の .dxil)に使ったファイル名の一覧を取得する。 beginUse() 済みであれば「このシェーダーの実行に必要なキャッシュファイル」の完全な一覧になる。 キャッシュを持たないドライバでは空配列。 [詳解]
 
Guid getGuid ()
 
UInt32 GetLocalUniformBufferSize ()
 

静的公開メンバ関数

static Shader findByName (string name)
 
static Shader load (string path)
 
static Shader loadFromSource (string name, string source)
 in-memory ソーステキストからシェーダーをロードしエンジンのシェーダーサーバーに登録する。 name が既存のシェーダーと一致する場合は in-place で更新する。 [詳解]
 
static void SetCompileProgressCallback (Action< int, int, string > callback)
 シェーダーコンパイル進捗コールバックを設定する。 callback が null の場合は通知を解除する。 コールバックは makeAllPrograms() を呼び出したスレッドから同期的に呼ばれる。 [詳解]
 
static void reloadModified ()
 

プロパティ

static bool SuppressCompileProgress [get, set]
 シェーダーコンパイル進捗コールバックの発火を一時的に抑止するかどうか。 true の間は SetCompileProgressCallback で登録されたコールバックが呼ばれない。 (テストプレイ中にエディタ側の進捗ウィンドウがモーダルループ内で開いて 閉じられなくなるフリーズを防ぐために使用する) [詳解]
 

列挙型メンバ詳解

◆ DrawPass

列挙値
Opaque 
Decal 
Unlit 
Skybox 
Translucent 
Other 
Count 

構築子と解体子

◆ Shader() [1/3]

SharpKmyGfx.Shader.Shader ( )

◆ Shader() [2/3]

SharpKmyGfx.Shader.Shader ( string  path)

◆ Shader() [3/3]

SharpKmyGfx.Shader.Shader ( IntPtr  ptr)

メソッド詳解

◆ beginUse()

void SharpKmyGfx.Shader.beginUse ( )

◆ CompileProgressDelegate()

delegate void SharpKmyGfx.Shader.CompileProgressDelegate ( int  current,
int  total,
[MarshalAs(UnmanagedType.LPStr)] string  shaderName 
)

シェーダーコンパイル進捗コールバックのデリゲート型。

引数
current完了済みコンパイル数
totalコンパイル予定総数
shaderNameコンパイル中のシェーダー識別名

◆ Delete()

void SharpKmyGfx.Shader.Delete ( )

◆ findByName()

static Shader SharpKmyGfx.Shader.findByName ( string  name)
static

◆ getCacheFileNames()

string[] SharpKmyGfx.Shader.getCacheFileNames ( )

生成済みプログラムがディスクキャッシュ(DX12 の .dxil)に使ったファイル名の一覧を取得する。 beginUse() 済みであれば「このシェーダーの実行に必要なキャッシュファイル」の完全な一覧になる。 キャッシュを持たないドライバでは空配列。

◆ getDrawPass()

DrawPass SharpKmyGfx.Shader.getDrawPass ( )

◆ getGuid()

Guid SharpKmyGfx.Shader.getGuid ( )

◆ GetLocalUniformBufferSize()

UInt32 SharpKmyGfx.Shader.GetLocalUniformBufferSize ( )

◆ getShaderNativePtr()

IntPtr SharpKmyGfx.Shader.getShaderNativePtr ( )

◆ isSrgbTexture()

bool SharpKmyGfx.Shader.isSrgbTexture ( string  slotname)

◆ load()

static Shader SharpKmyGfx.Shader.load ( string  path)
static

◆ loadFromSource()

static Shader SharpKmyGfx.Shader.loadFromSource ( string  name,
string  source 
)
static

in-memory ソーステキストからシェーダーをロードしエンジンのシェーダーサーバーに登録する。 name が既存のシェーダーと一致する場合は in-place で更新する。

◆ Release()

void SharpKmyGfx.Shader.Release ( )

◆ reloadModified()

static void SharpKmyGfx.Shader.reloadModified ( )
static

◆ SetCompileProgressCallback()

static void SharpKmyGfx.Shader.SetCompileProgressCallback ( Action< int, int, string >  callback)
static

シェーダーコンパイル進捗コールバックを設定する。 callback が null の場合は通知を解除する。 コールバックは makeAllPrograms() を呼び出したスレッドから同期的に呼ばれる。

引数
callback(current, total, shaderName) を受け取るコールバック。 current=0/total=n が最初の通知(開始)、current=n/total=n が最後(完了)。

プロパティ詳解

◆ SuppressCompileProgress

bool SharpKmyGfx.Shader.SuppressCompileProgress
staticgetset

シェーダーコンパイル進捗コールバックの発火を一時的に抑止するかどうか。 true の間は SetCompileProgressCallback で登録されたコールバックが呼ばれない。 (テストプレイ中にエディタ側の進捗ウィンドウがモーダルループ内で開いて 閉じられなくなるフリーズを防ぐために使用する)