Commit Graph

1903 Commits

Author SHA1 Message Date
Andreas Hocevar 89c5364b2f Use correct extent for the vector image 2020-01-24 13:50:02 +01:00
Andreas Hocevar fd935bae53 Remove label cache, render text directly to target canvas 2020-01-13 22:12:53 +01:00
Andreas Hocevar a4735e0700 Merge pull request #10478 from ahocevar/abort-without-dispose
Do not abort and dispose of tiles
2020-01-09 09:52:07 +01:00
Andreas Hocevar 5a8df1d4e2 We no longer need to increase the cache size 2020-01-08 10:53:42 +01:00
mike-000 cb665b7ea7 Simplify to return false if layer has no source 2020-01-06 17:31:38 +00:00
Andreas Hocevar da6eed850c Do not lock label cache entries 2020-01-05 11:24:46 +01:00
Andreas Hocevar b91e1a893d Do not abort and dispose of tiles 2020-01-05 00:05:24 +01:00
mike-000 f48704cac4 Fix for undefined source in Vector layer
A source left or set undefined is equivalent to an empty source so treat it as such to prevent errors in prepareFrame
2020-01-01 21:04:12 +00:00
Andreas Hocevar 02b34a4c23 Merge pull request #10394 from ahocevar/cleanup-maprenderer
Remove map renderer element when disposing
2019-12-09 09:30:55 +01:00
Andreas Hocevar cefc57622b Remove map renderer element when disposing 2019-12-08 17:52:28 +01:00
Andreas Hocevar 174dea3232 Fix interim tile handing for vector tiles 2019-12-07 15:18:18 +01:00
Andreas Hocevar 057650fe7d Merge pull request #10309 from ahocevar/vectortile-rendermode-vector
Bring back vector render mode for vector tile layers
2019-11-29 11:51:38 +01:00
Andreas Hocevar 9317ad850e Create hit detection data per layer and without requestAnimationFrame 2019-11-20 00:50:43 +01:00
Andreas Hocevar cf6cd09f58 Bring back vector render mode for vector tile layers 2019-11-18 10:40:05 +01:00
Andreas Hocevar 818113e3ce Do not hit detect while tile is loading 2019-11-14 10:30:13 +01:00
Olivier Guyot ae66471e78 Webgl renderer / hide shader compile errors
Turns out there are sometimes errors that will not prevent the
shader from functioning normally. As such, it is not possible
to simply throw when there are errors/warnings.

Since we are not logging to the console, these errors will have to stay hidden
unless the user requests them explicitly.
2019-11-06 21:40:39 +01:00
Olivier Guyot 7da86ae71f Webgl points renderer / slight improvements following review
Also fixes a lint error.
2019-11-04 09:55:54 +01:00
Olivier Guyot 600e1a4647 Webgl points renderer / use a smaller canvas for hit detection render
The hit detection render is now done against a canvas with half the
width/height of the main render. This still provides sufficient precision
while requiring a much smaller memory allocation (especially for
retina devices).
2019-11-04 09:31:38 +01:00
jahow f7b0f6750b Resolve memory leak when deleting a webgl layer
Various references were kept, preventing the layer and underlying
renderer and webgl context to be garbage collected.

Also, the Helper was simplified because it turns out deleting manually
all Webgl objects is useless: these objects will be released when
the context is garbage collected anyway.

Note: this touches the Layer and BaseLayer classes, as the following were
preventing the layer from being garbage collected:
* layer reference in the `state_` object in BaseLayer
* dangling listener for source change in Layer
2019-11-04 09:31:38 +01:00
Olivier Guyot e78c14c061 Webgl points renderer / add a cache for features in the source
This allows quicker access to features as well as their geometries
and properties, reducing the time taken by a rebuildBuffers call.
2019-11-04 09:31:38 +01:00
Andreas Hocevar ac50cc3460 New eslint config with no-multi-assign 2019-11-02 15:20:21 +01:00
Andreas Hocevar 2a96b6a8e3 Merge pull request #10239 from ahocevar/simpler-container-reuse
Simpler container reuse
2019-11-01 19:14:05 +01:00
Andreas Hocevar 9c26d9d7dd Merge pull request #10221 from Kai-W/source-undefined-bug
Fix for undefined Source
2019-10-31 22:21:45 +01:00
Andreas Hocevar 3de05c249b Fix container transform comparison 2019-10-31 20:29:20 +01:00
Andreas Hocevar bb2bdb17aa Render vector tile layers to a single canvas 2019-10-31 20:29:19 +01:00
Andreas Hocevar 4b13c6dae0 Speed up rendering by not using alpha 2019-10-30 14:36:23 +01:00
Andreas Hocevar 7097a4c6ba Use render tiles instead of source tiles for hit detection 2019-10-30 11:44:12 +01:00
Andreas Hocevar 025b27bdec Use correct resolution for tile hit canvas 2019-10-29 22:11:46 +01:00
Andreas Hocevar 00af5a87be Only use source tile when it is available 2019-10-29 18:29:42 +01:00
kai.westerkamp 53f6359f8f Fix for undefined Source 2019-10-29 15:38:14 +01:00
Olivier Guyot f84fae8f70 Merge pull request #10198 from jahow/fix-webgl-renderer-loading-extent
WebGL renderer / use the specified loading strategy for the vector data
2019-10-28 16:19:52 +01:00
Olivier Guyot cd3b222467 Specify an actual extent when loading features in the Webgl points renderer
This means any specified loading strategy will be taken into account.

Also added some tests to make sure the interaction with the source is
correct.
2019-10-28 10:26:31 +01:00
Olivier Guyot d643951a74 Shader Builder / add option to generate hit detection shaders 2019-10-25 14:55:44 +02:00
Tim Schaub 6b4e00e6ac Remove description from type tag 2019-10-23 10:27:56 -06:00
Andreas Hocevar 062614388c Merge pull request #10161 from ahocevar/vectorimage-getfeatures
Implement getFeatures() for ol/layer/VectorImage
2019-10-23 11:26:08 +02:00
Olivier Guyot a1c00744d1 Webgl points renderer / throw if shader compilation fails
This should only happen if providing handcrafted shaders to the renderer.
2019-10-22 23:17:00 +02:00
Andreas Hocevar 39012a58f8 Implement getFeatures() for ol/layer/VectorImage 2019-10-22 11:27:26 +02:00
Andreas Hocevar 36a366bfeb Do not stop event propagation in prepareTile 2019-10-18 20:50:01 +02:00
Andreas Hocevar 54884314ee Merge pull request #10094 from ahocevar/immediate-hitdetection
New Layer#getFeatures method with fast hit detection
2019-10-14 22:21:08 +02:00
Andreas Hocevar 90d6a6f441 Move hit detection to its own module 2019-10-14 14:40:06 +02:00
Andreas Hocevar 7454df0c2f Resolve empty when tile not loaded yet 2019-10-14 14:13:57 +02:00
Simon Seyock 5b1106ac23 some type corrections 2019-10-10 09:07:35 +02:00
Andreas Hocevar 3c243b0236 getFeature() for VectorTile layer 2019-10-08 08:23:38 +02:00
Andreas Hocevar e9785317eb Move hit detection code to Immediate.js 2019-10-08 08:23:38 +02:00
Andreas Hocevar 315695eeb8 New Layer#getFeatures method with fast hit detection for VectorLayer 2019-10-08 08:23:38 +02:00
Frederic Junod f20db28901 Align layer canvas to the left
So that the position is not affected by the `text-align` css rule.
2019-10-07 13:48:32 +02:00
Frederic Junod 41b7893523 Mark properties as nullable 2019-10-01 10:47:07 +02:00
Tim Schaub d3b47c794e Make the immediate API work with a user projection 2019-09-30 08:28:50 -06:00
Frederic Junod ea88e6cbd4 Remove invalid undefined type in params 2019-09-27 11:01:50 +02:00
Andreas Hocevar 838edfa369 Recover from skip feature removal regressions 2019-09-26 16:56:38 +02:00