OpenGL ES 着色器将彩色图像转换为黑白红外图像?

ohh*_*hho 5 shader opengl-es image-processing

我能够通过以下方式创建一个片段着色器来将彩色图像转换为灰度:

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

现在我想模拟一个 Photoshop 通道混合器效果:

黑白红外

如何将%百分比值(-70%、+200%、-30%)转换为r g b浮点数(例如 0.299、0.587、0.114)?

Chr*_*ica 5

您应该从学校知道值的 10% 意味着将该值乘以 0.1,因此只需使用(-0.7, 2.0, -0.3).