| uniform highp mat4 matrix; |
| uniform highp vec2 textureScale; |
| uniform highp vec2 shift; |
| uniform highp float dpr; |
| |
| attribute highp vec4 vCoord; |
| attribute highp vec2 tCoord; |
| |
| varying highp vec2 sampleCoord; |
| varying highp vec2 sCoordUp; |
| varying highp vec2 sCoordDown; |
| varying highp vec2 sCoordLeft; |
| varying highp vec2 sCoordRight; |
| |
| void main() |
| { |
| sampleCoord = tCoord * textureScale; |
| sCoordUp = (tCoord - vec2(0.0, -1.0)) * textureScale; |
| sCoordDown = (tCoord - vec2(0.0, 1.0)) * textureScale; |
| sCoordLeft = (tCoord - vec2(-1.0, 0.0)) * textureScale; |
| sCoordRight = (tCoord - vec2(1.0, 0.0)) * textureScale; |
| vec3 dprSnapPos = floor(vCoord.xyz * dpr + 0.5) / dpr; |
| gl_Position = matrix * vec4(dprSnapPos, vCoord.w); |
| } |