Images and mask in OpenGL ES 2.0

后端 未结 2 938
栀梦
栀梦 2020-12-11 02:09

I\'m learning OpenGL ES 2.0 and I\'d like to create an App to better understand how it works. The App has a set of filter that the user can apply on images (I know, nothing

2条回答
  •  爱一瞬间的悲伤
    2020-12-11 03:13

    You can apply the mask in one line without using the costly if:

    gl_FragColor = step( 0.5, vMask.r ) * vColor_1 + ( 1.0 - step( 0.5, vMask.r ) ) * vColor_2;
    

    Or, better just interpolate between two colors:

    gl_FragColor = mix( vColor_1, vColor_2, vMask.r );
    

    In this case the mask can be smoothed (i.e. with Gaussian blur) to produce less aliasing. This will yield very good results compared to a single value thresholding.

提交回复
热议问题