1
シェーダのバッファを変更するたびにシェーダを再コンパイルしたくないのですが、direct3dシェーダのパラメータを動的に渡します
現在のシェーダコードは、私が動的にoffsetBrightness
とoffsetContrast
を渡すことができますどのように
char shaderCode[] = " \
sampler2D screen: register(s0); \
\
float offsetBrightness = 0.0f; \
float offsetContrast = 0.9f; \
float4 PSBrightnessContrast(float2 inCoord : TEXCOORD0) : COLOR0\
{\
return (tex2D(screen, inCoord.xy) + offsetBrightness) * (1.0 + offsetContrast);\
}\
\
technique brightness \
{ \
pass p1 \
{ \
PixelShader = compile ps_2_0 PSBrightnessContrast(); \
} \
} \
";
のですか?
を適用する
CommitChanges()
を呼び出す必要があります。私はDirectXを知らないので、それらを正確に使用する方法を伝えることはできません。 –