Fix mask positioning on OpenGL

This commit is contained in:
Patrick Walton 2020-02-15 18:00:25 -08:00
parent 631e16ce9b
commit a8019a1a1a
3 changed files with 15 additions and 3 deletions

View File

@ -22,8 +22,13 @@ out vec2 vMaskTexCoord;
out float vBackdrop; out float vBackdrop;
void main(){ void main(){
vec2 position = mix(vec2(- 1.0), vec2(1.0), aPosition);
vMaskTexCoord = aMaskTexCoord; vMaskTexCoord = aMaskTexCoord;
vBackdrop = float(aBackdrop); vBackdrop = float(aBackdrop);
gl_Position = vec4(mix(vec2(- 1.0, 1.0), vec2(1.0, - 1.0), aPosition), 0.0, 1.0); gl_Position = vec4(position, 0.0, 1.0);
} }

View File

@ -21,9 +21,11 @@ struct main0_in
vertex main0_out main0(main0_in in [[stage_in]]) vertex main0_out main0(main0_in in [[stage_in]])
{ {
main0_out out = {}; main0_out out = {};
float2 position = mix(float2(-1.0), float2(1.0), in.aPosition);
position.y = -position.y;
out.vMaskTexCoord = in.aMaskTexCoord; out.vMaskTexCoord = in.aMaskTexCoord;
out.vBackdrop = float(in.aBackdrop); out.vBackdrop = float(in.aBackdrop);
out.gl_Position = float4(mix(float2(-1.0, 1.0), float2(1.0, -1.0), in.aPosition), 0.0, 1.0); out.gl_Position = float4(position, 0.0, 1.0);
return out; return out;
} }

View File

@ -20,7 +20,12 @@ out vec2 vMaskTexCoord;
out float vBackdrop; out float vBackdrop;
void main() { void main() {
vec2 position = mix(vec2(-1.0), vec2(1.0), aPosition);
#ifdef PF_ORIGIN_UPPER_LEFT
position.y = -position.y;
#endif
vMaskTexCoord = aMaskTexCoord; vMaskTexCoord = aMaskTexCoord;
vBackdrop = float(aBackdrop); vBackdrop = float(aBackdrop);
gl_Position = vec4(mix(vec2(-1.0, 1.0), vec2(1.0, -1.0), aPosition), 0.0, 1.0); gl_Position = vec4(position, 0.0, 1.0);
} }