我想通过动态更改偏移参数来更改亮度和对比度着色器,但我不想每次更改着色器缓冲区时都重新编译着色器。
当前的着色器代码是
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(); \
} \
} \
";
我怎样才能动态地传递offsetBrightness
和offsetContrast
?