added tile effect
This commit is contained in:
@@ -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));
|
||||
}
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user