Files
junisaber/assets/shaders/stageAdditive.js
2018-12-07 03:23:55 -08:00

28 lines
686 B
JavaScript

module.exports = {
vertexShader : `
varying vec2 uvs;
varying vec3 worldPos;
void main() {
uvs.xy = uv.xy;
vec4 p = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
worldPos = (modelMatrix * vec4( position, 1.0 )).xyz;
gl_Position = p;
}
`,
fragmentShader: `
varying vec2 uvs;
varying vec3 worldPos;
uniform vec3 tunnelNeon;
uniform sampler2D src;
void main() {
vec4 col = texture2D(src, uvs);
float mask = min(step(0.87, uvs.x), step(0.5, uvs.y));
mask = min(mask, 1.0 - step(0.75, uvs.y));
col.xyz = mix(col.xyz, col.xyz * tunnelNeon, mask);
gl_FragColor = col;
}
`
};