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