1
我想通过动态更改偏移参数来改变亮度和对比度着色器的变化,但是我不想在每次更改着色器缓冲区时重新编译我的着色器。动态传递direct3d着色器参数
当前的shader代码是
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
动态?
你需要制服。我不知道DirectX,所以我不能告诉你如何使用它们,请阅读文档。 – 2012-01-13 08:36:13