【发布时间】:2019-01-07 22:28:36
【问题描述】:
我正在尝试创建一个着色器,它允许精灵稍微放大(或稍微偏移一点)其背景并同时显示其纹理,就像一块彩绘玻璃一样。 我找到了一个几乎可以做到这一点的着色器,但是它也会根据上层/精灵的亮度来改变背景:
sampler2D img;
sampler2D bkd : register(s1);
float4 ps_main(in float2 In: TEXCOORD0) : COLOR0 {
float4 L = tex2D(img,In);
float4 B = tex2D(bkd,In);
return (L<0.5)?min(B,(2.0*L)):max(B,(2.0*(L-0.5)));
}
technique tech_main { pass P0 { PixelShader = compile ps_2_0 ps_main(); } }
我尝试修改参数,但结果很糟糕。
【问题讨论】: