Можно ли инвертировать маску для GPUImageMaskFilter?

Я маскирую фотографию изображением маски кадра. Маска была создана для базовой графики, которая инвертирована.

Черный означает «видимый», а белый означает «полностью прозрачный». Противоположность маскам Photoshop.

Можно ли инвертировать маску фильтра, чтобы эффект был обратным?


person iamjustaprogrammer    schedule 21.02.2014    source источник


Ответы (1)


Очень легко изменить цвет RGB на инвертированный. В шейдере фрагментов вы можете сделать это выражение

uniform sampler2D tex0 ;
uniform sampler2D tex1; // mask
void main()
{
vec4 nowcolor = texture2D(texture1, uv);
vec4 newmask = vec4(1.0,1.0,1.0,1.0) - nowcolor;

// and use the new mask here instead the old mask texture

}
person Sung    schedule 22.02.2014