Я использую this code example, чтобы настроить яркость и контрастность на BitmapImage для моего приложения WPF. Соответствующий бит HLSL кода заключается в следующем:Создание черного фильтра для пользовательского ShaderEffect
sampler2D input : register(s0);
float brightness : register(c0);
float contrast : register(c1);
float4 main(float2 uv : TEXCOORD) : COLOR
{
float4 color = tex2D(input, uv);
float4 result = color;
result = color + brightness;
result = result * (1.0+contrast)/1.0;
return result;
}
То, что я хотел бы сделать, это добавить что-то, чтобы отфильтровать низкой интенсивности pixels- идея заключается в том, что я хочу сказать, что какая-либо часть изображения (я просто угадать, что я должен сделать это на пиксель) ниже определенного порога, сделать его черным. Я пытаюсь отфильтровать серые предметы с низкой интенсивностью, чтобы более светлые части выходили больше (это изображение в оттенках серого). Затем я использовал ползунок, чтобы настроить этот порог.
Я просто понятия не имею, является ли это фильтром или что, было надеялся, что это всего лишь простой мод для кода выше. Всего n00b - HLSL.
Не должно ли имя функции быть основным(), а не пороговым()? –
@WaltRitscher: Да, моя ошибка. –