From 8566cfc227927d7b9646b0d660fdf254e4efea60 Mon Sep 17 00:00:00 2001 From: Olivier Guyot Date: Thu, 16 May 2019 23:10:16 +0200 Subject: [PATCH] Webgl points / get back the instructions array from the worker This means we won't have to recreate a binary buffer (through a typed array) on every `rebuildBuffer` call. --- src/ol/renderer/webgl/PointsLayer.js | 2 ++ src/ol/worker/webgl.js | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ol/renderer/webgl/PointsLayer.js b/src/ol/renderer/webgl/PointsLayer.js index 61b46878dc..90d0c2fb34 100644 --- a/src/ol/renderer/webgl/PointsLayer.js +++ b/src/ol/renderer/webgl/PointsLayer.js @@ -291,6 +291,8 @@ class WebGLPointsLayerRenderer extends WebGLLayerRenderer { // saves the projection transform for the current frame state this.renderTransform_ = projectionTransform; makeInverseTransform(this.invertRenderTransform_, this.renderTransform_); + + this.renderInstructions_ = new Float32Array(event.data.renderInstructions); } }.bind(this)); } diff --git a/src/ol/worker/webgl.js b/src/ol/worker/webgl.js index 174f7751f5..046bbb7ca9 100644 --- a/src/ol/worker/webgl.js +++ b/src/ol/worker/webgl.js @@ -30,8 +30,9 @@ onmessage = event => { type: 'buffers-generated', vertexBuffer: vertexBuffer.buffer, indexBuffer: indexBuffer.buffer, + renderInstructions: renderInstructions.buffer, projectionTransform - }, [vertexBuffer.buffer, indexBuffer.buffer]); + }, [vertexBuffer.buffer, indexBuffer.buffer, renderInstructions.buffer]); } };