Commit Graph

1840 Commits

Author SHA1 Message Date
Simon Seyock bb0b94fedf fixed typescript issues 2019-09-25 14:10:05 +02:00
Tim Schaub fed6aef057 Merge pull request #9980 from tschaub/use-geographic-geom
Get simplified transformed geometry
2019-09-24 18:07:06 +02:00
Tim Schaub 30cbbfea9d Get simplified transformed geometry and load features in user projection 2019-09-24 17:45:04 +02:00
Andreas Hocevar 3ed1a433fb Don't attempt to render when there is no source 2019-09-24 17:37:22 +02:00
Tim Schaub 3c38a38570 Merge pull request #9961 from KlausBenndorf/remove-select-interaction
SelectInteraction removal
2019-09-24 10:27:20 +02:00
Simon Seyock acac7a9403 remove skipFeature logic 2019-09-24 10:12:30 +02:00
Andreas Hocevar db529a0d49 Merge pull request #9957 from ahocevar/vectortile-labels
Get hasOverlay from child element count
2019-09-23 23:20:17 +02:00
Tim Schaub 54d3af40dd Transform the layer extent when a user projection is set 2019-09-23 17:23:20 +02:00
Andreas Hocevar 6a53ed3a68 Get hasOverlay from child element count 2019-09-23 08:40:00 +02:00
mike-000 50be36fc43 Correct clipping error seen in #9585
Clipping does not need to consider view rotation
2019-09-13 12:06:03 +01:00
ahocevar ebfb20440a Simplify events and store listeners only in one place 2019-09-04 16:48:43 +02:00
Olivier Guyot 732b383b53 Webgl points / re-render when buffers have been built offthread 2019-08-31 08:41:04 +02:00
Olivier Guyot 5c1191dd5c Webgl points / skip hit detection render when out of sync
This happens when the indices buffer has been generated by the
worker but not the hit detection vertices buffer.
2019-08-30 10:38:41 +02:00
Olivier Guyot c48350b666 Webgl buffer / add utility getSize function
Saves checking whether the buffer was initialized with
an array already
2019-08-30 10:38:02 +02:00
Olivier Guyot e57e660819 Webgl points / use default vertex shader for hit detection
Otherwise we were getting errors if the custom
vertex shader was missing varyings expected by
HIT_FRAGMENT_SHADER.
2019-08-30 10:16:55 +02:00
Tim Schaub 99462d3b53 Only get squared tolerance once per render 2019-08-17 07:10:10 -06:00
Maximilian Krög 200392785d Squared tolerance does not change for each style. 2019-08-17 11:15:06 +02:00
Tim Schaub e94c7b6c39 Only set frameState.animate true if in transition and alpha < 1 2019-08-15 12:55:27 -06:00
Andreas Hocevar ec10cda088 Merge pull request #9812 from ahocevar/zdirection
Make zDirection configurable on tile source
2019-08-07 08:56:23 +02:00
Tim Schaub 65ad4932f4 Support zoom limits for layers 2019-08-06 21:19:09 -04:00
ahocevar e07ff9c04e Make zDirection configurable on tile source 2019-07-30 16:50:01 +02:00
ahocevar 387f797f23 Avoid false positives for line and polygon hit detection 2019-07-23 19:24:27 +02:00
Andreas Hocevar ff063caa4e Merge pull request #9755 from ahocevar/font-loading
Font loading improvements
2019-07-15 12:21:28 +02:00
Frédéric Junod 5cff84522a Merge pull request #9745 from fredj/misc_webgl
Simplify heatmap's shaders
2019-07-05 08:27:08 +02:00
ahocevar 5616c535b0 Clean up properly when clearing label cache 2019-07-04 16:10:28 +02:00
Frederic Junod 89295b0359 Remove hit detection transforms from ol/renderer/webgl/PointsLayer 2019-07-03 10:38:13 +02:00
Frederic Junod bb35a03704 Don't rotate the points of the heatmap layer 2019-07-01 11:29:27 +02:00
Frederic Junod 24e4f41452 Use size property from the frameState instead of creating new array 2019-07-01 09:44:37 +02:00
Frederic Junod 933a6297bb Remove unused hasFeatureAtCoordinate from ol/renderer/Layer 2019-06-28 11:10:33 +02:00
jahow 3bca9b5297 Webgl / use feature index for hit detection in points layer
For each feature its opacity value index is encoded on 4 bytes
in the color values, and the uid is stored in the opacity
value, allowing for a much higher range of uids to be read.
2019-06-28 09:12:20 +02:00
Olivier Guyot 28b99767f8 Webgl points / read only one pixel for feature hit detection
Also implements `hasFeatureAtCoordinate`.

`hitTolerance` is not supported for now.
2019-06-28 09:12:20 +02:00
Olivier Guyot 5ffca0633c Webgl Points / Add support for feature hit detection
For now only `forEachFeatureAtCoordinate` is implemented.

Each time the viewport is rendered, another similar render pass is
done using the specific hit detection instructions. Feature uid's are
encoded in the r,g,b,a channels and can then be decoded on the fly.

Note: the `readPixels` operation is taking a lot of time,
around 10-20ms each frame.
2019-06-28 09:12:20 +02:00
Olivier Guyot 1257ade199 Webgl renderer / rename function to avoid confusion
`getBlankTexture` was too close to `WebGLHelper#createTexture`
2019-06-28 09:12:20 +02:00
Olivier Guyot 2b5e5459ab Webgl points / add hit detection buffers generation
Hit detection is done by rendering features with their id encoded in the
color attribute. A parallel set of render instructions and a second
vertex buffer is used specifically for that.
2019-06-28 09:06:16 +02:00
Olivier Guyot 8145b358c0 Webgl renderer / add id encode/decode utils 2019-06-28 09:06:16 +02:00
Frederic Junod 54c670de77 Remove unused variable in ol/renderer/webgl/PointsLayer 2019-06-25 15:24:00 +02:00
ahocevar 9cd35d67a9 Fix clipping and clearing 2019-06-23 14:23:32 +02:00
ahocevar 4d2fa476a3 Simpler z sort 2019-06-23 14:22:56 +02:00
Andreas Hocevar 8a49e06ebd Merge pull request #9704 from ahocevar/vectortile-reuse-issue
Handle container reuse properly when layers are added/removed
2019-06-22 19:33:59 +02:00
ahocevar 6783f6adb9 Handle container reuse properly when layers are added/removed 2019-06-22 19:12:39 +02:00
Kai Volland f507efe77d Fixes typing issue in Composite.js 2019-06-21 13:31:27 +02:00
Frederic Junod 1f00da8d83 Remove glContext from RenderEvent 2019-06-17 13:52:56 +02:00
Frederic Junod ec5e8bfa50 Set pixelTransform and inversePixelTransform as protected
The variables are used in child classes
2019-06-14 14:52:28 +02:00
Olivier Guyot 9ae7256048 Merge pull request #9562 from jahow/webgl-worker
Optimize the WebGL points renderer using a worker
2019-06-06 08:48:29 +02:00
Olivier Guyot 2412fe0211 Webgl / remove handling of element_index_uint extension
From now on we will assume this extension is always enabled.

An error message have been added in the unlikely scenario of a lack
of support.
2019-06-05 14:46:15 +02:00
ahocevar 8f77a300de Handle case of no used tiles 2019-06-04 14:07:23 +02:00
ahocevar 8c21c9196d Move label cache listener management to the renderer 2019-06-03 15:13:30 +02:00
ahocevar 6123be726a Handle layer removal on shared containers 2019-06-02 13:59:06 +02:00
ahocevar 05d8517686 Clear overlay canvas when reusing containers 2019-06-02 11:07:30 +02:00
Frederic Junod 06be00bbd5 Webgl Helper / add an API for OESElementIndexUint extension 2019-06-01 15:35:27 +02:00