Шейдер OpenGL ES для преобразования цветного изображения в черно-белое инфракрасное? - PullRequest
3 голосов
/ 08 июня 2011

Мне удалось создать фрагментный шейдер для преобразования цветного изображения в оттенки серого с помощью:

 float luminance = pixelColor.r * 0.299 + pixelColor.g * 0.587 + pixelColor.b * 0.114;
 gl_FragColor = vec4(luminance, luminance, luminance, 1.0);

Теперь я хотел бы имитировать эффект микшера канала Photoshop:

Black & White Infrared

Как мне перевести % процентные значения (-70%, + 200%, -30%) в r g b числа с плавающей запятой (например, 0,299, 0,587, 0,1144)?

1 Ответ

4 голосов
/ 08 июня 2011

Вы должны знать из школы, что 10% от значения означает умножение этого значения на 0,1, поэтому просто используйте (-0.7, 2.0, -0.3).

...