📝

BiRPのPost Processing StackとURPのとテクスチャ宣言マクロが逆になっていることについて

2023/01/12に公開

BiRPのPost Processing StackのAPI

/Library/PackageCache/com.unity.postprocessing@3.2.2/PostProcessing/Shaders/API/D3D11.hlsl

#define TEXTURE2D_ARGS(textureName, samplerName)  Texture2D textureName, SamplerState samplerName
#define TEXTURE2D_PARAM(textureName, samplerName) textureName, samplerName

URPのAPI

/Library/PackageCache/com.unity.render-pipelines.core@12.1.8/ShaderLibrary/API/D3D11.hlsl

#define TEXTURE2D_PARAM(textureName, samplerName) TEXTURE2D(textureName), SAMPLER(samplerName)
#define TEXTURE2D_ARGS(textureName, samplerName)  textureName, samplerName

上記2つのコードを見ればわかると思うが、同じD3D11.hlslのライブラリでもBiRPとURPで関数宣言時テクスチャ引数を作るためのマクロと関数呼び出す時引数にテクスチャを渡す際のマクロが逆になってること

BiRP

TEXTURE2D_ARGS    // 関数宣言時のテクスチャとサンプラー引数を作るため
TEXTURE2D_PARAM   // 関数呼び出す時にテクスチャとサンプラーを渡すため

URP

TEXTURE2D_PARAM  // 関数宣言時のテクスチャとサンプラー引数を作るため
TEXTURE2D_ARGS   // 関数呼び出す時にテクスチャとサンプラーを渡すため

Discussion