package Ġcom . gpu image . sources Ċ Ċ /** Ċ Ġ* Ġ@ ClassName Ċ Ġ* Ġ@ Description Ċ Ġ* Ġ@ Author Ġd anny Ċ Ġ* Ġ@ Date Ġ 2 0 1 8 / 1 / 1 7 Ġ 1 4 : 3 5 Ċ Ġ*/ Ċ class ĠShader StringUtil Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġk GPU Image Sand wich Fragment Shader Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprecision Ġmedi ump Ġfloat ; ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvarying Ġhigh p Ġvec 2 Ġtexture Coordinate ; ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvarying Ġhigh p Ġvec 2 Ġtexture Coordinate 2 ; ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvarying Ġhigh p Ġvec 2 Ġtexture Coordinate 3 ; ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġuniform Ġsampler 2 D Ġinput Image Texture ; ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuniform Ġsampler 2 D Ġinput Image Texture 2 ; ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuniform Ġsampler 2 D Ġinput Image Texture 3 ; ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvoid Ġmain () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvec 4 Ġbackground Input Color Ġ= Ġtexture 2 D ( input Image Texture , Ġtexture Coordinate ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvec 4 Ġforeground Input Color Ġ= Ġtexture 2 D ( input Image Texture 2 , Ġtexture Coordinate 2 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvec 4 Ġmask Input Color Ġ= Ġtexture 2 D ( input Image Texture 3 , Ġtexture Coordinate 3 ); ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfloat Ġa Ġ= Ġmax ( mask Input Color . r , Ġmax ( mask Input Color . g , Ġmask Input Color . b )); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgl _ Frag Color Ġ= Ġvec 4 ( background Input Color . rgb Ġ* Ġ( 1 . 0 Ġ- Ġa ) Ġ+ Ġforeground Input Color . rgb , Ġ 1 . 0 ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ"" "; ĊĊĠĠĠĠĠĠĠĠ Ġval Ġk GPU Image OES 2 View F Shader Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ# extension ĠGL _ OES _ EGL _ image _ external Ġ: Ġrequire ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvarying Ġhigh p Ġvec 2 Ġtexture Coordinate ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuniform Ġsampler External OES Ġinput Image Texture ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvoid Ġmain () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgl _ Frag Color Ġ= Ġtexture 2 D ( input Image Texture , Ġtexture Coordinate ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠ Ġ"" "; ĊĠĠĠ Ġ} Ċ }