كيفية القيام بسلاسة ألفا شانيل keying مع silverlight 3 بكسل تظليل؟
-
18-09-2019 - |
سؤال
كيفية القيام بسلاسة قناة ألفا القناة مع silverlight 3 بكسل تظليل؟
أريد بعض مرشح HLSL (مثل هذا شزام مثال HLSL)
sampler2D implicitInputSampler : register(S0);
float4 main(float2 uv : TEXCOORD) : COLOR
{
float4 color = tex2D( implicitInputSampler, uv );
if( color.r + color.g + color.b < 1.9 ) {
color.rgba = 0;
}
return color;
}
إلى المفتاح ليس فقط اللون الذي أحاول المفتاح، لكن على سبيل المثال إذا كان أحمر مظلم يتكون من أحمر وأزرق وأنا أدنى كل الأزرق أريد أن أحصل على أحمر شفافة. (ربما هذه الصورة يمكن أن تفسر ما أريد)
(مصدر: narod.ru.)
المحلول
يبدو أنك تريد فقط طرح اللون بدلا من ذلك.
float4 subtract = ... ; // color you want to remove
float4 color = ... ;
color.r -= subtract.r;
... // for b and g
if ( color.r < 0 )
color.r = 0;
... // for b and g
بعد ذلك، يمكنك بعد ذلك استخدام لون منتقي اللون لاختيار اللون "طرح" سيكون ويزيله. آمل أن يكون ما تحاول القيام به.
لا تنتمي إلى StackOverflow