diff --git a/src/ol/render/webgl/circlereplay/defaultshader.js b/src/ol/render/webgl/circlereplay/defaultshader.js index 556f239cde..2fa9b0906b 100644 --- a/src/ol/render/webgl/circlereplay/defaultshader.js +++ b/src/ol/render/webgl/circlereplay/defaultshader.js @@ -5,10 +5,10 @@ // Run `make shaders` to generate, and commit the result. import {DEBUG_WEBGL} from '../../../index.js'; -import _ol_webgl_Fragment_ from '../../../webgl/Fragment.js'; +import WebGLFragment from '../../../webgl/Fragment.js'; import _ol_webgl_Vertex_ from '../../../webgl/Vertex.js'; -export const fragment = new _ol_webgl_Fragment_(DEBUG_WEBGL ? +export const fragment = new WebGLFragment(DEBUG_WEBGL ? 'precision mediump float;\nvarying vec2 v_center;\nvarying vec2 v_offset;\nvarying float v_halfWidth;\nvarying float v_pixelRatio;\n\n\n\nuniform float u_opacity;\nuniform vec4 u_fillColor;\nuniform vec4 u_strokeColor;\nuniform vec2 u_size;\n\nvoid main(void) {\n vec2 windowCenter = vec2((v_center.x + 1.0) / 2.0 * u_size.x * v_pixelRatio,\n (v_center.y + 1.0) / 2.0 * u_size.y * v_pixelRatio);\n vec2 windowOffset = vec2((v_offset.x + 1.0) / 2.0 * u_size.x * v_pixelRatio,\n (v_offset.y + 1.0) / 2.0 * u_size.y * v_pixelRatio);\n float radius = length(windowCenter - windowOffset);\n float dist = length(windowCenter - gl_FragCoord.xy);\n if (dist > radius + v_halfWidth) {\n if (u_strokeColor.a == 0.0) {\n gl_FragColor = u_fillColor;\n } else {\n gl_FragColor = u_strokeColor;\n }\n gl_FragColor.a = gl_FragColor.a - (dist - (radius + v_halfWidth));\n } else if (u_fillColor.a == 0.0) {\n // Hooray, no fill, just stroke. We can use real antialiasing.\n gl_FragColor = u_strokeColor;\n if (dist < radius - v_halfWidth) {\n gl_FragColor.a = gl_FragColor.a - (radius - v_halfWidth - dist);\n }\n } else {\n gl_FragColor = u_fillColor;\n float strokeDist = radius - v_halfWidth;\n float antialias = 2.0 * v_pixelRatio;\n if (dist > strokeDist) {\n gl_FragColor = u_strokeColor;\n } else if (dist >= strokeDist - antialias) {\n float step = smoothstep(strokeDist - antialias, strokeDist, dist);\n gl_FragColor = mix(u_fillColor, u_strokeColor, step);\n }\n }\n gl_FragColor.a = gl_FragColor.a * u_opacity;\n if (gl_FragColor.a <= 0.0) {\n discard;\n }\n}\n' : 'precision mediump float;varying vec2 a;varying vec2 b;varying float c;varying float d;uniform float m;uniform vec4 n;uniform vec4 o;uniform vec2 p;void main(void){vec2 windowCenter=vec2((a.x+1.0)/2.0*p.x*d,(a.y+1.0)/2.0*p.y*d);vec2 windowOffset=vec2((b.x+1.0)/2.0*p.x*d,(b.y+1.0)/2.0*p.y*d);float radius=length(windowCenter-windowOffset);float dist=length(windowCenter-gl_FragCoord.xy);if(dist>radius+c){if(o.a==0.0){gl_FragColor=n;}else{gl_FragColor=o;}gl_FragColor.a=gl_FragColor.a-(dist-(radius+c));}else if(n.a==0.0){gl_FragColor=o;if(diststrokeDist){gl_FragColor=o;}else if(dist>=strokeDist-antialias){float step=smoothstep(strokeDist-antialias,strokeDist,dist);gl_FragColor=mix(n,o,step);}} gl_FragColor.a=gl_FragColor.a*m;if(gl_FragColor.a<=0.0){discard;}}'); diff --git a/src/ol/render/webgl/linestringreplay/defaultshader.js b/src/ol/render/webgl/linestringreplay/defaultshader.js index ebf26597af..90973ac463 100644 --- a/src/ol/render/webgl/linestringreplay/defaultshader.js +++ b/src/ol/render/webgl/linestringreplay/defaultshader.js @@ -5,10 +5,10 @@ // Run `make shaders` to generate, and commit the result. import {DEBUG_WEBGL} from '../../../index.js'; -import _ol_webgl_Fragment_ from '../../../webgl/Fragment.js'; +import WebGLFragment from '../../../webgl/Fragment.js'; import _ol_webgl_Vertex_ from '../../../webgl/Vertex.js'; -export const fragment = new _ol_webgl_Fragment_(DEBUG_WEBGL ? +export const fragment = new WebGLFragment(DEBUG_WEBGL ? 'precision mediump float;\nvarying float v_round;\nvarying vec2 v_roundVertex;\nvarying float v_halfWidth;\n\n\n\nuniform float u_opacity;\nuniform vec4 u_color;\nuniform vec2 u_size;\nuniform float u_pixelRatio;\n\nvoid main(void) {\n if (v_round > 0.0) {\n vec2 windowCoords = vec2((v_roundVertex.x + 1.0) / 2.0 * u_size.x * u_pixelRatio,\n (v_roundVertex.y + 1.0) / 2.0 * u_size.y * u_pixelRatio);\n if (length(windowCoords - gl_FragCoord.xy) > v_halfWidth * u_pixelRatio) {\n discard;\n }\n }\n gl_FragColor = u_color;\n float alpha = u_color.a * u_opacity;\n if (alpha == 0.0) {\n discard;\n }\n gl_FragColor.a = alpha;\n}\n' : 'precision mediump float;varying float a;varying vec2 aVertex;varying float c;uniform float m;uniform vec4 n;uniform vec2 o;uniform float p;void main(void){if(a>0.0){vec2 windowCoords=vec2((aVertex.x+1.0)/2.0*o.x*p,(aVertex.y+1.0)/2.0*o.y*p);if(length(windowCoords-gl_FragCoord.xy)>c*p){discard;}} gl_FragColor=n;float alpha=n.a*m;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}'); diff --git a/src/ol/render/webgl/polygonreplay/defaultshader.js b/src/ol/render/webgl/polygonreplay/defaultshader.js index 76233d9edd..b1c3fab178 100644 --- a/src/ol/render/webgl/polygonreplay/defaultshader.js +++ b/src/ol/render/webgl/polygonreplay/defaultshader.js @@ -5,10 +5,10 @@ // Run `make shaders` to generate, and commit the result. import {DEBUG_WEBGL} from '../../../index.js'; -import _ol_webgl_Fragment_ from '../../../webgl/Fragment.js'; +import WebGLFragment from '../../../webgl/Fragment.js'; import _ol_webgl_Vertex_ from '../../../webgl/Vertex.js'; -export const fragment = new _ol_webgl_Fragment_(DEBUG_WEBGL ? +export const fragment = new WebGLFragment(DEBUG_WEBGL ? 'precision mediump float;\n\n\n\nuniform vec4 u_color;\nuniform float u_opacity;\n\nvoid main(void) {\n gl_FragColor = u_color;\n float alpha = u_color.a * u_opacity;\n if (alpha == 0.0) {\n discard;\n }\n gl_FragColor.a = alpha;\n}\n' : 'precision mediump float;uniform vec4 e;uniform float f;void main(void){gl_FragColor=e;float alpha=e.a*f;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}'); diff --git a/src/ol/render/webgl/texturereplay/defaultshader.js b/src/ol/render/webgl/texturereplay/defaultshader.js index c1f6339df9..2a0afbc6bb 100644 --- a/src/ol/render/webgl/texturereplay/defaultshader.js +++ b/src/ol/render/webgl/texturereplay/defaultshader.js @@ -5,10 +5,10 @@ // Run `make shaders` to generate, and commit the result. import {DEBUG_WEBGL} from '../../../index.js'; -import _ol_webgl_Fragment_ from '../../../webgl/Fragment.js'; +import WebGLFragment from '../../../webgl/Fragment.js'; import _ol_webgl_Vertex_ from '../../../webgl/Vertex.js'; -export const fragment = new _ol_webgl_Fragment_(DEBUG_WEBGL ? +export const fragment = new WebGLFragment(DEBUG_WEBGL ? 'precision mediump float;\nvarying vec2 v_texCoord;\nvarying float v_opacity;\n\nuniform float u_opacity;\nuniform sampler2D u_image;\n\nvoid main(void) {\n vec4 texColor = texture2D(u_image, v_texCoord);\n gl_FragColor.rgb = texColor.rgb;\n float alpha = texColor.a * v_opacity * u_opacity;\n if (alpha == 0.0) {\n discard;\n }\n gl_FragColor.a = alpha;\n}\n' : 'precision mediump float;varying vec2 a;varying float b;uniform float k;uniform sampler2D l;void main(void){vec4 texColor=texture2D(l,a);gl_FragColor.rgb=texColor.rgb;float alpha=texColor.a*b*k;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}'); diff --git a/src/ol/renderer/webgl/defaultmapshader.js b/src/ol/renderer/webgl/defaultmapshader.js index 2136130c1a..a861cf9c65 100644 --- a/src/ol/renderer/webgl/defaultmapshader.js +++ b/src/ol/renderer/webgl/defaultmapshader.js @@ -5,10 +5,10 @@ // Run `make shaders` to generate, and commit the result. import {DEBUG_WEBGL} from '../../index.js'; -import _ol_webgl_Fragment_ from '../../webgl/Fragment.js'; +import WebGLFragment from '../../webgl/Fragment.js'; import _ol_webgl_Vertex_ from '../../webgl/Vertex.js'; -export const fragment = new _ol_webgl_Fragment_(DEBUG_WEBGL ? +export const fragment = new WebGLFragment(DEBUG_WEBGL ? 'precision mediump float;\nvarying vec2 v_texCoord;\n\n\nuniform float u_opacity;\nuniform sampler2D u_texture;\n\nvoid main(void) {\n vec4 texColor = texture2D(u_texture, v_texCoord);\n gl_FragColor.rgb = texColor.rgb;\n gl_FragColor.a = texColor.a * u_opacity;\n}\n' : 'precision mediump float;varying vec2 a;uniform float f;uniform sampler2D g;void main(void){vec4 texColor=texture2D(g,a);gl_FragColor.rgb=texColor.rgb;gl_FragColor.a=texColor.a*f;}'); diff --git a/src/ol/renderer/webgl/tilelayershader.js b/src/ol/renderer/webgl/tilelayershader.js index ba2f364cce..61cf9e1cec 100644 --- a/src/ol/renderer/webgl/tilelayershader.js +++ b/src/ol/renderer/webgl/tilelayershader.js @@ -5,10 +5,10 @@ // Run `make shaders` to generate, and commit the result. import {DEBUG_WEBGL} from '../../index.js'; -import _ol_webgl_Fragment_ from '../../webgl/Fragment.js'; +import WebGLFragment from '../../webgl/Fragment.js'; import _ol_webgl_Vertex_ from '../../webgl/Vertex.js'; -export const fragment = new _ol_webgl_Fragment_(DEBUG_WEBGL ? +export const fragment = new WebGLFragment(DEBUG_WEBGL ? 'precision mediump float;\nvarying vec2 v_texCoord;\n\n\nuniform sampler2D u_texture;\n\nvoid main(void) {\n gl_FragColor = texture2D(u_texture, v_texCoord);\n}\n' : 'precision mediump float;varying vec2 a;uniform sampler2D e;void main(void){gl_FragColor=texture2D(e,a);}'); diff --git a/src/ol/webgl/Fragment.js b/src/ol/webgl/Fragment.js index e7f8f961d5..ac33747050 100644 --- a/src/ol/webgl/Fragment.js +++ b/src/ol/webgl/Fragment.js @@ -11,17 +11,17 @@ import WebGLShader from '../webgl/Shader.js'; * @param {string} source Source. * @struct */ -const _ol_webgl_Fragment_ = function(source) { +const WebGLFragment = function(source) { WebGLShader.call(this, source); }; -inherits(_ol_webgl_Fragment_, WebGLShader); +inherits(WebGLFragment, WebGLShader); /** * @inheritDoc */ -_ol_webgl_Fragment_.prototype.getType = function() { +WebGLFragment.prototype.getType = function() { return _ol_webgl_.FRAGMENT_SHADER; }; -export default _ol_webgl_Fragment_; +export default WebGLFragment; diff --git a/src/ol/webgl/shader.mustache b/src/ol/webgl/shader.mustache index 038ca5269c..128e9eefb5 100644 --- a/src/ol/webgl/shader.mustache +++ b/src/ol/webgl/shader.mustache @@ -5,10 +5,10 @@ // Run `make shaders` to generate, and commit the result. import {DEBUG_WEBGL} from '../../../index.js'; -import _ol_webgl_Fragment_ from '../../../webgl/Fragment.js'; +import WebGLFragment from '../../../webgl/Fragment.js'; import _ol_webgl_Vertex_ from '../../../webgl/Vertex.js'; -export const fragment = new _ol_webgl_Fragment_(DEBUG_WEBGL ? +export const fragment = new WebGLFragment(DEBUG_WEBGL ? 'precision mediump float;\n{{{originalFragmentSource}}}' : 'precision mediump float;{{{fragmentSource}}}');