add follow canvas movement and scale option to transparent checker (#311)

This commit is contained in:
Kinwailo 2020-08-18 03:30:58 +08:00 committed by GitHub
parent b998c87bcc
commit 39808082b6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 93 additions and 7 deletions

View file

@ -4,9 +4,24 @@ render_mode unshaded;
uniform float size = 10.0;
uniform vec4 color1 : hint_color = vec4(0.7, 0.7, 0.7, 1.0);
uniform vec4 color2 : hint_color = vec4(1.0);
uniform vec2 offset = vec2(0.0);
uniform vec2 scale = vec2(0.0);
uniform vec2 rect_size = vec2(0.0);
uniform bool follow_movement = false;
uniform bool follow_scale = false;
void fragment() {
vec2 pos = mod(FRAGCOORD.xy, size * 2.0);
vec2 ref_pos = FRAGCOORD.xy;
if (follow_scale) {
if (!follow_movement)
ref_pos /= scale;
else
ref_pos = UV * rect_size;
}
else if (follow_movement)
ref_pos -= mod(offset, size * 2.0);
vec2 pos = mod(ref_pos, size * 2.0);
bool c1 = any(lessThan(pos, vec2(size)));
bool c2 = any(greaterThanEqual(pos, vec2(size)));
float c = c1 && c2 ? 1.0: 0.0;