added tile effect

This commit is contained in:
itsmattkc
2019-01-22 13:26:56 +11:00
parent 8133d4dd9d
commit b4b1b8f95c
2 changed files with 40 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
#version 110
varying vec2 vTexCoord;
uniform sampler2D tex0; // scene buffer
uniform float tilecount;
uniform bool mirrorx;
uniform bool mirrory;
void main(void) {
vec2 texCoord = vTexCoord;
vec2 coord = vec2(
mod(vTexCoord.x*tilecount, 1.0),
mod(vTexCoord.y*tilecount, 1.0)
);
if (mirrorx && mod(vTexCoord.x*tilecount, 2.0) > 1.0) {
coord.x = 1.0 - coord.x;
}
if (mirrory && mod(vTexCoord.y*tilecount, 2.0) > 1.0) {
coord.y = 1.0 - coord.y;
}
gl_FragColor = vec4(texture2D(tex0, coord));
}
+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<effect name="Tile" category="Distort">
<row name="Tile Count">
<field type="double" min="1" default="2" id="tilecount"/>
</row>
<row name="Mirror X">
<field type="bool" default="0" id="mirrorx"/>
</row>
<row name="Mirror Y">
<field type="bool" default="0" id="mirrory"/>
</row>
<shader vert="common.vert" frag="tile.frag"/>
</effect>