From d0e0c8fc3a28733e9b9c8a411f5228a2c4565c4a Mon Sep 17 00:00:00 2001 From: jahow Date: Sun, 18 Nov 2018 23:22:51 +0100 Subject: [PATCH 1/5] Add rendering test for heatmap layer --- rendering/cases/heatmap-layer/expected.png | Bin 0 -> 108985 bytes rendering/cases/heatmap-layer/main.js | 44 +++++++++++++++++++++ rendering/data/2012_Earthquakes_Mag5.kml | 1 + 3 files changed, 45 insertions(+) create mode 100644 rendering/cases/heatmap-layer/expected.png create mode 100644 rendering/cases/heatmap-layer/main.js create mode 120000 rendering/data/2012_Earthquakes_Mag5.kml diff --git a/rendering/cases/heatmap-layer/expected.png b/rendering/cases/heatmap-layer/expected.png new file mode 100644 index 0000000000000000000000000000000000000000..d07e4989d26547a90d9250258655139bf5678e51 GIT binary patch literal 108985 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

%QVEbMVX4te{vG?Hj_QSO~@rDT{ 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 Date: Sun, 18 Nov 2018 23:33:40 +0100 Subject: [PATCH 2/5] Add a rendering test for basic points rendering in webgl. --- rendering/cases/webgl-points/expected.png | Bin 0 -> 97877 bytes rendering/cases/webgl-points/main.js | 47 ++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 rendering/cases/webgl-points/expected.png create mode 100644 rendering/cases/webgl-points/main.js diff --git a/rendering/cases/webgl-points/expected.png b/rendering/cases/webgl-points/expected.png new file mode 100644 index 0000000000000000000000000000000000000000..8c0e8883b219de0c4fa7c8eae23a915b240bee9d GIT binary patch literal 97877 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�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 literal 0 HcmV?d00001 diff --git a/rendering/cases/webgl-points/main.js b/rendering/cases/webgl-points/main.js new file mode 100644 index 0000000000..1635dc4ecc --- /dev/null +++ b/rendering/cases/webgl-points/main.js @@ -0,0 +1,47 @@ +import Map from '../../../src/ol/Map.js'; +import View from '../../../src/ol/View.js'; +import TileLayer from '../../../src/ol/layer/Tile.js'; +import XYZ from '../../../src/ol/source/XYZ'; +import {Vector as VectorLayer} from '../../../src/ol/layer'; +import VectorSource from '../../../src/ol/source/Vector'; +import KML from '../../../src/ol/format/KML'; +import WebGLPointsLayerRenderer from '../../../src/ol/renderer/webgl/PointsLayer'; + +class CustomLayer extends VectorLayer { + createRenderer() { + return new WebGLPointsLayerRenderer(this, { + sizeCallback: function() { + return 4; + } + }); + } +} + +const vector = new CustomLayer({ + source: new VectorSource({ + url: '/data/2012_Earthquakes_Mag5.kml', + format: new KML({ + extractStyles: false + }) + }) +}); + +const raster = new TileLayer({ + source: new XYZ({ + url: '/data/tiles/satellite/{z}/{x}/{y}.jpg', + transition: 0 + }) +}); + +new Map({ + layers: [raster, vector], + target: 'map', + view: new View({ + center: [15180597.9736, 2700366.3807], + zoom: 2 + }) +}); + +render({ + message: 'Points are rendered using webgl as 4px pixel squares' +}); From 6b82cf0b84429a7347200c045cb616bef11928c9 Mon Sep 17 00:00:00 2001 From: jahow Date: Mon, 19 Nov 2018 00:05:06 +0100 Subject: [PATCH 3/5] Simplified the API of WebGLHelper Now the shader and program caches are simply arrays of native WebGL created objects. The WebGLHelper simply takes the sources of the frag and vert shader and produces a program. This removes 2 classes & reduces the general verbosity of the API. Also a `getShaderCompilationErrors` was added on `WebGLHelper` to help debug GLSL errors. --- src/ol/renderer/webgl/PointsLayer.js | 19 +++-- src/ol/webgl/Fragment.js | 26 ------ src/ol/webgl/Helper.js | 120 +++++++++++++++++---------- src/ol/webgl/Vertex.js | 26 ------ test/spec/ol/webgl/helper.test.js | 34 ++++---- 5 files changed, 105 insertions(+), 120 deletions(-) delete mode 100644 src/ol/webgl/Fragment.js delete mode 100644 src/ol/webgl/Vertex.js diff --git a/src/ol/renderer/webgl/PointsLayer.js b/src/ol/renderer/webgl/PointsLayer.js index 87b981f475..5d7082ab47 100644 --- a/src/ol/renderer/webgl/PointsLayer.js +++ b/src/ol/renderer/webgl/PointsLayer.js @@ -5,8 +5,6 @@ import LayerRenderer from '../Layer'; import WebGLArrayBuffer from '../../webgl/Buffer'; import {DYNAMIC_DRAW, ARRAY_BUFFER, ELEMENT_ARRAY_BUFFER, FLOAT} from '../../webgl'; import WebGLHelper, {DefaultAttrib, DefaultUniform} from '../../webgl/Helper'; -import WebGLVertex from '../../webgl/Vertex'; -import WebGLFragment from '../../webgl/Fragment'; import GeometryType from '../../geom/GeometryType'; const VERTEX_SHADER = ` @@ -146,9 +144,11 @@ class WebGLPointsLayerRenderer extends LayerRenderer { this.verticesBuffer_ = new WebGLArrayBuffer([], DYNAMIC_DRAW); this.indicesBuffer_ = new WebGLArrayBuffer([], DYNAMIC_DRAW); - const vertexShader = new WebGLVertex(options.vertexShader || VERTEX_SHADER); - const fragmentShader = new WebGLFragment(options.fragmentShader || FRAGMENT_SHADER); - this.program_ = this.context_.getProgram(fragmentShader, vertexShader); + this.program_ = this.context_.getProgram( + options.fragmentShader || FRAGMENT_SHADER, + options.vertexShader || VERTEX_SHADER + ); + this.context_.useProgram(this.program_); this.sizeCallback_ = options.sizeCallback || function(feature) { @@ -229,6 +229,15 @@ class WebGLPointsLayerRenderer extends LayerRenderer { return true; } + + /** + * Will return the last shader compilation errors. If no error happened, will return null; + * @return {string|null} Errors, or null if last compilation was successful + * @api + */ + getShaderCompileErrors() { + return this.context_.getShaderCompileErrors(); + } } export default WebGLPointsLayerRenderer; diff --git a/src/ol/webgl/Fragment.js b/src/ol/webgl/Fragment.js deleted file mode 100644 index aeb90368f2..0000000000 --- a/src/ol/webgl/Fragment.js +++ /dev/null @@ -1,26 +0,0 @@ -/** - * @module ol/webgl/Fragment - */ - -import {FRAGMENT_SHADER} from '../webgl.js'; -import WebGLShader from '../webgl/Shader.js'; - -class WebGLFragment extends WebGLShader { - - /** - * @param {string} source Source. - */ - constructor(source) { - super(source); - } - - /** - * @inheritDoc - */ - getType() { - return FRAGMENT_SHADER; - } -} - - -export default WebGLFragment; diff --git a/src/ol/webgl/Helper.js b/src/ol/webgl/Helper.js index ec9f07e1db..05acb07e57 100644 --- a/src/ol/webgl/Helper.js +++ b/src/ol/webgl/Helper.js @@ -26,6 +26,15 @@ import WebGLPostProcessingPass from './PostProcessingPass'; * @property {WebGLBuffer} buffer */ +/** + * Shader types, either `FRAGMENT_SHADER` or `VERTEX_SHADER` + * @enum {number} + */ +export const ShaderType = { + FRAGMENT_SHADER: 0x8B30, + VERTEX_SHADER: 0x8B31 +}; + /** * Uniform names used in the default shaders. * @const @@ -222,15 +231,15 @@ class WebGLHelper extends Disposable { /** * @private - * @type {!Object} + * @type {!Array} */ - this.shaderCache_ = {}; + this.shaderCache_ = []; /** * @private - * @type {!Object} + * @type {!Array} */ - this.programCache_ = {}; + this.programCache_ = []; /** * @private @@ -319,6 +328,12 @@ class WebGLHelper extends Disposable { uniforms: options.uniforms }); }) : [new WebGLPostProcessingPass({webGlContext: gl})]; + + /** + * @type {string|null} + * @private + */ + this.shaderCompileErrors_ = null; } /** @@ -552,28 +567,6 @@ class WebGLHelper extends Disposable { }.bind(this)); } - /** - * Get shader from the cache if it's in the cache. Otherwise, create - * the WebGL shader, compile it, and add entry to cache. - * TODO: make compilation errors show up - * @param {import("./Shader.js").default} shaderObject Shader object. - * @return {WebGLShader} Shader. - * @api - */ - getShader(shaderObject) { - const shaderKey = getUid(shaderObject); - if (shaderKey in this.shaderCache_) { - return this.shaderCache_[shaderKey]; - } else { - const gl = this.getGL(); - const shader = gl.createShader(shaderObject.getType()); - gl.shaderSource(shader, shaderObject.getSource()); - gl.compileShader(shader); - this.shaderCache_[shaderKey] = shader; - return shader; - } - } - /** * Use a program. If the program is already in use, this will return `false`. * @param {WebGLProgram} program Program. @@ -594,27 +587,62 @@ class WebGLHelper extends Disposable { } /** - * Get the program from the cache if it's in the cache. Otherwise create - * the WebGL program, attach the shaders to it, and add an entry to the - * cache. - * @param {import("./Fragment.js").default} fragmentShaderObject Fragment shader. - * @param {import("./Vertex.js").default} vertexShaderObject Vertex shader. - * @return {WebGLProgram} Program. + * Will attempt to compile a vertex or fragment shader based on source + * On error, the shader will be returned but + * `gl.getShaderParameter(shader, gl.COMPILE_STATUS)` will return `true` + * Use `gl.getShaderInfoLog(shader)` to have details + * @param {string} source Shader source + * @param {ShaderType} type VERTEX_SHADER or FRAGMENT_SHADER + * @return {WebGLShader} Shader object + */ + compileShader(source, type) { + const gl = this.getGL(); + const shader = gl.createShader(type); + gl.shaderSource(shader, source); + gl.compileShader(shader); + this.shaderCache_.push(shader); + return shader; + } + + /** + * Create a program for a vertex and fragment shader. The shaders compilation may have failed: + * use `WebGLHelper.getShaderCompileErrors()`to have details if any. + * @param {string} fragmentShaderSource Fragment shader source. + * @param {string} vertexShaderSource Vertex shader source. + * @return {WebGLProgram} Program * @api */ - getProgram(fragmentShaderObject, vertexShaderObject) { - const programKey = getUid(fragmentShaderObject) + '/' + getUid(vertexShaderObject); - if (programKey in this.programCache_) { - return this.programCache_[programKey]; - } else { - const gl = this.getGL(); - const program = gl.createProgram(); - gl.attachShader(program, this.getShader(fragmentShaderObject)); - gl.attachShader(program, this.getShader(vertexShaderObject)); - gl.linkProgram(program); - this.programCache_[programKey] = program; - return program; + getProgram(fragmentShaderSource, vertexShaderSource) { + const gl = this.getGL(); + + const fragmentShader = this.compileShader(fragmentShaderSource, gl.FRAGMENT_SHADER); + const vertexShader = this.compileShader(vertexShaderSource, gl.VERTEX_SHADER); + this.shaderCompileErrors_ = null; + + if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) { + this.shaderCompileErrors_ = + `Fragment shader compilation failed:\n${gl.getShaderInfoLog(fragmentShader)}`; } + if (!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) { + this.shaderCompileErrors_ = (this.shaderCompileErrors_ || '') + + `Vertex shader compilation failed:\n${gl.getShaderInfoLog(vertexShader)}`; + } + + const program = gl.createProgram(); + gl.attachShader(program, fragmentShader); + gl.attachShader(program, vertexShader); + gl.linkProgram(program); + this.programCache_.push(program); + return program; + } + + /** + * Will return the last shader compilation errors. If no error happened, will return null; + * @return {string|null} Errors description, or null if last compilation was successful + * @api + */ + getShaderCompileErrors() { + return this.shaderCompileErrors_; } /** @@ -624,7 +652,7 @@ class WebGLHelper extends Disposable { * @api */ getUniformLocation(name) { - if (!this.uniformLocations_[name]) { + if (this.uniformLocations_[name] === undefined) { this.uniformLocations_[name] = this.getGL().getUniformLocation(this.currentProgram_, name); } return this.uniformLocations_[name]; @@ -637,7 +665,7 @@ class WebGLHelper extends Disposable { * @api */ getAttributeLocation(name) { - if (!this.attribLocations_[name]) { + if (this.attribLocations_[name] === undefined) { this.attribLocations_[name] = this.getGL().getAttribLocation(this.currentProgram_, name); } return this.attribLocations_[name]; diff --git a/src/ol/webgl/Vertex.js b/src/ol/webgl/Vertex.js deleted file mode 100644 index 579aaa2bae..0000000000 --- a/src/ol/webgl/Vertex.js +++ /dev/null @@ -1,26 +0,0 @@ -/** - * @module ol/webgl/Vertex - */ - -import {VERTEX_SHADER} from '../webgl.js'; -import WebGLShader from '../webgl/Shader.js'; - -class WebGLVertex extends WebGLShader { - - /** - * @param {string} source Source. - */ - constructor(source) { - super(source); - } - - /** - * @inheritDoc - */ - getType() { - return VERTEX_SHADER; - } -} - - -export default WebGLVertex; diff --git a/test/spec/ol/webgl/helper.test.js b/test/spec/ol/webgl/helper.test.js index c35f2e8dd9..0a48a337d6 100644 --- a/test/spec/ol/webgl/helper.test.js +++ b/test/spec/ol/webgl/helper.test.js @@ -1,6 +1,4 @@ import WebGLHelper from '../../../../src/ol/webgl/Helper'; -import WebGLVertex from '../../../../src/ol/webgl/Vertex'; -import WebGLFragment from '../../../../src/ol/webgl/Fragment'; const VERTEX_SHADER = ` @@ -20,11 +18,15 @@ const VERTEX_SHADER = ` const INVALID_VERTEX_SHADER = ` precision mediump float; - attribute float a_test; + uniform mat4 u_projectionMatrix; + uniform mat4 u_offsetScaleMatrix; + uniform mat4 u_offsetRotateMatrix; + + bla uniform float u_test; void main(void) { - gl_Position = vec4(1, 1, 1, 0); + gl_Position = vec4(u_test, a_test, 0.0, 1.0); }`; const FRAGMENT_SHADER = ` @@ -96,9 +98,7 @@ describe('ol.webgl.WebGLHelper', function() { u_test3: document.createElement('canvas') } }); - const vertexShader = new WebGLVertex(VERTEX_SHADER); - const fragmentShader = new WebGLFragment(FRAGMENT_SHADER); - h.useProgram(h.getProgram(fragmentShader, vertexShader)); + h.useProgram(h.getProgram(FRAGMENT_SHADER, VERTEX_SHADER)); h.prepareDraw({ pixelRatio: 2, size: [50, 80], @@ -133,9 +133,7 @@ describe('ol.webgl.WebGLHelper', function() { beforeEach(function() { h = new WebGLHelper(); - const vertexShader = new WebGLVertex(VERTEX_SHADER); - const fragmentShader = new WebGLFragment(FRAGMENT_SHADER); - p = h.getProgram(fragmentShader, vertexShader); + p = h.getProgram(FRAGMENT_SHADER, VERTEX_SHADER); h.useProgram(p); }); @@ -143,6 +141,10 @@ describe('ol.webgl.WebGLHelper', function() { expect(h.currentProgram_).to.eql(p); }); + it('has no shader compilation error', function() { + expect(h.shaderCompileErrors_).to.eql(null); + }); + it('can find the uniform location', function() { expect(h.getUniformLocation('u_test')).to.not.eql(null); }); @@ -162,9 +164,7 @@ describe('ol.webgl.WebGLHelper', function() { beforeEach(function() { h = new WebGLHelper(); - const vertexShader = new WebGLVertex(INVALID_VERTEX_SHADER); - const fragmentShader = new WebGLFragment(FRAGMENT_SHADER); - p = h.getProgram(fragmentShader, vertexShader); + p = h.getProgram(FRAGMENT_SHADER, INVALID_VERTEX_SHADER); h.useProgram(p); }); @@ -172,12 +172,12 @@ describe('ol.webgl.WebGLHelper', function() { expect(h.currentProgram_).to.eql(p); }); - it('cannot find the uniform location', function() { - expect(h.getUniformLocation('u_test')).to.eql(null); + it('has shader compilation errors', function() { + expect(h.shaderCompileErrors_).to.not.eql(null); }); - it('cannot find the attribute location', function() { - expect(h.getAttributeLocation('a_test')).to.eql(-1); + it('cannot find the uniform location', function() { + expect(h.getUniformLocation('u_test')).to.eql(null); }); }); From 0b23e94a2ae28bc7e3d2884f2e84b8a7b4ebc638 Mon Sep 17 00:00:00 2001 From: Olivier Guyot Date: Mon, 19 Nov 2018 11:40:58 +0100 Subject: [PATCH 4/5] Fixed internal var name on WebGLPoints renderer. --- src/ol/renderer/webgl/PointsLayer.js | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/ol/renderer/webgl/PointsLayer.js b/src/ol/renderer/webgl/PointsLayer.js index 5d7082ab47..4469307ba9 100644 --- a/src/ol/renderer/webgl/PointsLayer.js +++ b/src/ol/renderer/webgl/PointsLayer.js @@ -134,7 +134,7 @@ class WebGLPointsLayerRenderer extends LayerRenderer { const options = opt_options || {}; - this.context_ = new WebGLHelper({ + this.helper_ = new WebGLHelper({ postProcesses: options.postProcesses, uniforms: options.uniforms }); @@ -144,12 +144,12 @@ class WebGLPointsLayerRenderer extends LayerRenderer { this.verticesBuffer_ = new WebGLArrayBuffer([], DYNAMIC_DRAW); this.indicesBuffer_ = new WebGLArrayBuffer([], DYNAMIC_DRAW); - this.program_ = this.context_.getProgram( + this.program_ = this.helper_.getProgram( options.fragmentShader || FRAGMENT_SHADER, options.vertexShader || VERTEX_SHADER ); - this.context_.useProgram(this.program_); + this.helper_.useProgram(this.program_); this.sizeCallback_ = options.sizeCallback || function(feature) { return 1; @@ -171,10 +171,10 @@ class WebGLPointsLayerRenderer extends LayerRenderer { * @inheritDoc */ renderFrame(frameState, layerState) { - this.context_.setUniformFloatValue(DefaultUniform.OPACITY, layerState.opacity); - this.context_.drawElements(0, this.indicesBuffer_.getArray().length); - this.context_.finalizeDraw(frameState); - return this.context_.getCanvas(); + this.helper_.setUniformFloatValue(DefaultUniform.OPACITY, layerState.opacity); + this.helper_.drawElements(0, this.indicesBuffer_.getArray().length); + this.helper_.finalizeDraw(frameState); + return this.helper_.getCanvas(); } /** @@ -184,7 +184,7 @@ class WebGLPointsLayerRenderer extends LayerRenderer { const vectorLayer = /** @type {import("../../layer/Vector.js").default} */ (this.getLayer()); const vectorSource = /** @type {import("../../source/Vector.js").default} */ (vectorLayer.getSource()); - this.context_.prepareDraw(frameState); + this.helper_.prepareDraw(frameState); if (this.sourceRevision_ < vectorSource.getRevision()) { this.sourceRevision_ = vectorSource.getRevision(); @@ -219,13 +219,13 @@ class WebGLPointsLayerRenderer extends LayerRenderer { } // write new data - this.context_.bindBuffer(ARRAY_BUFFER, this.verticesBuffer_); - this.context_.bindBuffer(ELEMENT_ARRAY_BUFFER, this.indicesBuffer_); + this.helper_.bindBuffer(ARRAY_BUFFER, this.verticesBuffer_); + this.helper_.bindBuffer(ELEMENT_ARRAY_BUFFER, this.indicesBuffer_); const bytesPerFloat = Float32Array.BYTES_PER_ELEMENT; - this.context_.enableAttributeArray(DefaultAttrib.POSITION, 2, FLOAT, bytesPerFloat * 6, 0); - this.context_.enableAttributeArray(DefaultAttrib.OFFSETS, 2, FLOAT, bytesPerFloat * 6, bytesPerFloat * 2); - this.context_.enableAttributeArray(DefaultAttrib.TEX_COORD, 2, FLOAT, bytesPerFloat * 6, bytesPerFloat * 4); + this.helper_.enableAttributeArray(DefaultAttrib.POSITION, 2, FLOAT, bytesPerFloat * 6, 0); + this.helper_.enableAttributeArray(DefaultAttrib.OFFSETS, 2, FLOAT, bytesPerFloat * 6, bytesPerFloat * 2); + this.helper_.enableAttributeArray(DefaultAttrib.TEX_COORD, 2, FLOAT, bytesPerFloat * 6, bytesPerFloat * 4); return true; } @@ -236,7 +236,7 @@ class WebGLPointsLayerRenderer extends LayerRenderer { * @api */ getShaderCompileErrors() { - return this.context_.getShaderCompileErrors(); + return this.helper_.getShaderCompileErrors(); } } From 662d9122f54527aaf65dccc29d8d6b57b9d4fc15 Mon Sep 17 00:00:00 2001 From: Olivier Guyot Date: Tue, 20 Nov 2018 11:52:32 +0100 Subject: [PATCH 5/5] Use --ignore-gpu-blacklist to fix Webgl rendering in CircleCI --- rendering/test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rendering/test.js b/rendering/test.js index 85d5660493..bcb0ccf496 100755 --- a/rendering/test.js +++ b/rendering/test.js @@ -354,7 +354,7 @@ if (require.main === module) { option('puppeteer-args', { describe: 'Additional args for Puppeteer', type: 'array', - default: process.env.CI ? ['--no-sandbox', '--disable-setuid-sandbox'] : [] + default: process.env.CI ? ['--no-sandbox', '--disable-setuid-sandbox', '--ignore-gpu-blacklist'] : [] }). parse();