geojs 1.6.2 → 1.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/main.yml +1 -1
- package/.nvmrc +1 -0
- package/CHANGELOG.md +19 -1
- package/README.md +14 -9
- package/geo.js +821 -395
- package/geo.lean.js +820 -394
- package/geo.lean.min.js +3 -3
- package/geo.min.js +4 -4
- package/package.json +8 -10
- package/src/annotation.js +11 -7
- package/src/annotationLayer.js +13 -9
- package/src/camera.js +5 -5
- package/src/canvas/pixelmapFeature.js +187 -0
- package/src/choroplethFeature.js +1 -1
- package/src/domRenderer.js +2 -1
- package/src/featureLayer.js +1 -1
- package/src/fileReader.js +2 -2
- package/src/imageTile.js +2 -1
- package/src/isolineFeature.js +1 -1
- package/src/layer.js +4 -2
- package/src/lineFeature.js +3 -3
- package/src/map.js +17 -15
- package/src/mapInteractor.js +17 -17
- package/src/markerFeature.js +2 -2
- package/src/meshFeature.js +1 -1
- package/src/osmLayer.js +2 -0
- package/src/pixelmapFeature.js +52 -228
- package/src/pointFeature.js +1 -1
- package/src/polygonFeature.js +3 -3
- package/src/quadFeature.js +1 -1
- package/src/registry.js +2 -2
- package/src/svg/svgRenderer.js +3 -3
- package/src/tileCache.js +1 -1
- package/src/tileLayer.js +10 -10
- package/src/trackFeature.js +19 -19
- package/src/transform.js +8 -9
- package/src/typedef.js +2 -0
- package/src/ui/sliderWidget.js +1 -1
- package/src/util/clustering.js +3 -3
- package/src/util/color.js +1 -1
- package/src/util/common.js +7 -7
- package/src/util/throttle.js +1 -1
- package/src/vtkjs/pointFeature.js +1 -1
- package/src/webgl/index.js +2 -0
- package/src/webgl/lookupTable2D.js +122 -0
- package/src/webgl/markerFeature.js +1 -1
- package/src/webgl/pixelmapFeature.frag +47 -0
- package/src/webgl/pixelmapFeature.js +172 -0
- package/src/webgl/pointFeature.js +1 -1
- package/src/webgl/quadFeature.js +32 -1
- package/src/webgl/webglRenderer.js +1 -0
package/src/webgl/quadFeature.js
CHANGED
|
@@ -158,7 +158,7 @@ var webgl_quadFeature = function (arg) {
|
|
|
158
158
|
* Build this feature.
|
|
159
159
|
*/
|
|
160
160
|
this._build = function () {
|
|
161
|
-
var mapper, mat, prog, srctex, unicrop, unicropsource, geom, context;
|
|
161
|
+
var mapper, mat, prog, srctex, unicrop, unicropsource, geom, context, sampler2d;
|
|
162
162
|
|
|
163
163
|
if (!m_this.position()) {
|
|
164
164
|
return;
|
|
@@ -183,6 +183,10 @@ var webgl_quadFeature = function (arg) {
|
|
|
183
183
|
prog.addUniform(new vgl.projectionUniform('projectionMatrix'));
|
|
184
184
|
prog.addUniform(new vgl.floatUniform('opacity', 1.0));
|
|
185
185
|
prog.addUniform(new vgl.floatUniform('zOffset', 0.0));
|
|
186
|
+
/* Use texture unit 0 */
|
|
187
|
+
sampler2d = new vgl.uniform(vgl.GL.INT, 'sampler2d');
|
|
188
|
+
sampler2d.set(0);
|
|
189
|
+
prog.addUniform(sampler2d);
|
|
186
190
|
context = m_this.renderer()._glContext();
|
|
187
191
|
unicrop = new vgl.uniform(context.FLOAT_VEC2, 'crop');
|
|
188
192
|
unicrop.set([1.0, 1.0]);
|
|
@@ -194,6 +198,9 @@ var webgl_quadFeature = function (arg) {
|
|
|
194
198
|
context.VERTEX_SHADER, context, vertexShaderImage));
|
|
195
199
|
prog.addShader(vgl.getCachedShader(
|
|
196
200
|
context.FRAGMENT_SHADER, context, fragmentShaderImage));
|
|
201
|
+
if (m_this._hookBuild) {
|
|
202
|
+
m_this._hookBuild(prog);
|
|
203
|
+
}
|
|
197
204
|
mat.addAttribute(prog);
|
|
198
205
|
mat.addAttribute(new vgl.blend());
|
|
199
206
|
/* This is similar to vgl.planeSource */
|
|
@@ -355,6 +362,9 @@ var webgl_quadFeature = function (arg) {
|
|
|
355
362
|
cropsrc = {x0: 0, y0: 0, x1: 1, y1: 1}, quadcropsrc,
|
|
356
363
|
w, h, quadw, quadh;
|
|
357
364
|
|
|
365
|
+
if (m_this._hookRenderImageQuads) {
|
|
366
|
+
m_this._hookRenderImageQuads(renderState, m_quads.imgQuads);
|
|
367
|
+
}
|
|
358
368
|
context.bindBuffer(context.ARRAY_BUFFER, m_glBuffers.imgQuadsPosition);
|
|
359
369
|
$.each(m_quads.imgQuads, function (idx, quad) {
|
|
360
370
|
if (!quad.image) {
|
|
@@ -450,6 +460,27 @@ var webgl_quadFeature = function (arg) {
|
|
|
450
460
|
m_this.modified();
|
|
451
461
|
};
|
|
452
462
|
|
|
463
|
+
/**
|
|
464
|
+
* Set the image or color vertex or fragment shader.
|
|
465
|
+
*
|
|
466
|
+
* @param {string} shaderType One of `image_vertex`, `image_fragment`,
|
|
467
|
+
* `color_vertex`, or `color_fragment`.
|
|
468
|
+
* @param {string} shaderCode The shader program.
|
|
469
|
+
* @returns {this} The class instance on success, undefined in an unknown
|
|
470
|
+
* shaderType was specified.
|
|
471
|
+
*/
|
|
472
|
+
this.setShader = function (shaderType, shaderCode) {
|
|
473
|
+
switch (shaderType) {
|
|
474
|
+
case 'image_vertex': vertexShaderImage = shaderCode; break;
|
|
475
|
+
case 'image_fragment': fragmentShaderImage = shaderCode; break;
|
|
476
|
+
case 'color_vertex': vertexShaderColor = shaderCode; break;
|
|
477
|
+
case 'color_fragment': fragmentShaderColor = shaderCode; break;
|
|
478
|
+
default:
|
|
479
|
+
return;
|
|
480
|
+
}
|
|
481
|
+
return m_this;
|
|
482
|
+
};
|
|
483
|
+
|
|
453
484
|
/**
|
|
454
485
|
* Destroy.
|
|
455
486
|
*/
|
|
@@ -319,6 +319,7 @@ webglRenderer.supported = function () {
|
|
|
319
319
|
var canvas, ctx, exts; // eslint-disable-line no-unused-vars
|
|
320
320
|
try {
|
|
321
321
|
canvas = document.createElement('canvas');
|
|
322
|
+
/** @type {WebGLRenderingContext} */
|
|
322
323
|
ctx = (canvas.getContext('webgl') ||
|
|
323
324
|
canvas.getContext('experimental-webgl'));
|
|
324
325
|
/* getSupportExtensions will throw an exception if the context isn't
|