|
MikuMikuDayo
エフェクトリファレンス
|
パスを定義するための構造体 [詳解]
公開メンバ関数 | |
| bool | IsFunctional () const |
| template<class Archive> | |
| void | serialize (Archive &A) |
公開変数類 | |
| std::string | name |
| パス名。マクロYRZ_PASS_nameを定義してコンパイラを起動する | |
| std::string | type = "postprocess" |
| パスの種類。"postprocess", "compute", "raytracing", "rasterizer", "copy", "clearRTV", "clearUAV", "mipmapgen"のいずれか | |
| std::string | vertexShader |
| vertexShaderのエントリポイント名(postprocess, rasterizerパス用) | |
| std::string | pixelShader |
| pixelShaderのエントリポイント名(postprocess, rasterizerパス用) | |
| std::string | computeShader |
| computeShaderのエントリポイント名(computeパス用) | |
| XMUINT3 | numthreads = { 0,0,0 } |
| 1スレッドグループあたりのスレッド数 YRZ_NUMTHREADSマクロの内容を定義する | |
| std::string | raygenShader |
| raytracingShaderのエントリポイント名 | |
| std::vector< std::string > | missShader |
| raytracingShaderのエントリポイント名 | |
| std::vector< FXHitGroup > | hitGroup |
| raytracingShaderのヒットグループの定義 | |
| std::vector< std::string > | callableShader |
| raytracingShaderのエントリポイント名 | |
| UINT | maxPayloadSize = 64 |
| raytracingShaderのペイロードの最大サイズ[byte] | |
| UINT | maxAttributeSize = 8 |
| raytracingShaderの交差判定用構造体の最大サイズ[byte] | |
| UINT | maxRecursionDepth = 4 |
| raytracingShaderの最大再帰段数 | |
| std::string | vsTarget = "vs_6_1" |
| vertexShaderのシェーダーモデル | |
| std::string | psTarget = "ps_6_1" |
| pixelShaderのシェーダーモデル | |
| std::string | csTarget = "cs_6_1" |
| computeShaderのシェーダーモデル | |
| std::string | libTarget = "lib_6_3" |
| raytracingShaderのシェーダーモデル | |
| std::vector< std::string > | macros |
| パスのコンパイル時に定義されるマクロ, MACRO=value の形式で=区切りでマクロを指定する | |
| FXSize | outputSize = {} |
| シェーダの出力サイズの指定 | |
| std::vector< FXRTV > | RTV |
| RTVでアクセスされるテクスチャ群 | |
| std::vector< FXUAV > | UAV |
| UAVでアクセスされるリソース群 | |
| FXDSV | DSV |
| DSVでアクセスされるテクスチャ(最大1つ) | |
| std::vector< std::string > | conditions |
| 実行時の条件式。要素数が1以上の時、式がすべて真ならばパスが実行される | |
| FXBlendDesc | blendDesc |
| αブレンディングについての設定(rasterizerパス・postprocessパス用) | |
| FXRasterizerDesc | rasterizerDesc |
| プリミティブの描画方法についての設定(rasterizerパス用) | |
| FXDepthStencilDesc | depthStencilDesc |
| デプスステンシルバッファの使用法についての設定(rasterizerパス用) | |
| std::string | primitiveTopologyType = "triangle" |
| プリミティブの種類についての設定(rasterizerパス用) D3D12_PRIMITIVE_TOPOLOGY_TYPEを参照 | |
| UINT | sampleMask = D3D12_DEFAULT_SAMPLE_MASK |
| rasterizerパス用(現在のMikuMikuDayoの実装では未対応) | |
| std::string | rasterModelTarget = "all" |
| ラスタライザのターゲットになるモデル(デフォーマ・ポストプロセス用) "all":シーン内のモデルとエフェクト起動元に割り当てられたモデル "other":シーン内のモデル "self":エフェクト起動元に割り当てられたモデルのみ "buffer":rasterVB、rasterIBで指定されるリソースによって定義されるモデル | |
| std::string | rasterVB |
| rasterModelTarget=="buffer"の場合に使われるVertexBufferとなるリソース名 | |
| std::string | rasterIB |
| rasterModelTarget=="buffer"の場合に使われるIndexBufferとなるリソース名 | |
| std::vector< FXInputElementDesc > | layout |
| rasterVB, rasterIBがセットされている時はこのレイアウトを使う。空の場合はraterIBのみ参照される | |
| std::string | src |
| コピー元リソース名 copyパス用 コピー元とコピー先のリソースのサイズ・フォーマット・mipレベル数は同一でなければならない | |
| std::string | dest |
| コピー先リソース名 copyパス用 コピー元とコピー先のリソースのサイズ・フォーマット・mipレベル数は同一でなければならない | |
| std::string | target |
| 対象リソース名 clearRTV, clearUAV, mipmapgenパス用 | |
| XMFLOAT4 | value = { 0,0,0,1 } |
| クリアする場合に使用する値 clearRTV, clearUAVパス用 | |
パスを定義するための構造体