Commit Graph

1762 Commits

Author SHA1 Message Date
Tim Schaub 908ecb39e3 Description below @abstract trips up JSDoc 2019-05-16 16:10:30 -06:00
ahocevar 335648d613 Remove memory leak caused by label cache listeners 2019-05-16 21:04:55 +02:00
Frederic Junod f33ad5e025 Remove unused getReplayTransform_ function in VectorTileLayer 2019-05-15 15:10:54 +02:00
Olivier Guyot e11e3c5f6e Webgl / minor function renaming 2019-05-15 11:30:24 +02:00
Olivier Guyot c705775d75 Linting 2019-05-15 10:20:31 +02:00
Olivier Guyot 9ca75e9d43 Webgl points / rebuild buffers when source change 2019-05-15 10:18:53 +02:00
Olivier Guyot 5d2b7fe4bb Webgl points / use the helper ton compute the projection transform
The `WebGLHelper` class now provides a `makeProjectionTransform` method
that updates a transform to match the projection for a given frame state.

This also means that the WebGLHelper does not set the projection matrix
uniform anymore, this is the responsibility of the renderer as
the rendered coordinates will not be in world space from now on.
2019-05-15 10:18:47 +02:00
Olivier Guyot fb455891ce Webgl points / make coordinates in view space to avoid precision glitches
Fixes #9479
2019-05-15 10:18:47 +02:00
Olivier Guyot 75eb62363a WebGL points / rebuild buffers only when extent changed 2019-05-15 10:18:47 +02:00
Olivier Guyot 523097903a WebGL points / rebuild buffers on every non animation frame 2019-05-15 10:18:22 +02:00
Olivier Guyot c6d214b585 Webgl / implement support for custom attributes in webgl buffers
Only numerical attributes can be pushed in webgl buffers.
2019-05-15 10:15:55 +02:00
Olivier Guyot 27e520add4 WebGL points / use pushFeatureInBuffer util
Feature objects are converted to geoJSON with the properties
set for rendering.
2019-05-15 09:47:00 +02:00
Olivier Guyot 3a429d3f6c Webgl / add utils for pushing geojson geometries in webgl buffers
For now only point geometries are handled.
2019-05-15 09:44:41 +02:00
Olivier Guyot 5e36468245 Webgl / add a simple Layer renderer for common logic
This will eventually provides utilities for manipulating & rendering data
2019-05-15 09:43:29 +02:00
Frédéric Junod 2de282ae49 Merge pull request #9533 from fredj/canvas_optim
Canvas optimizations
2019-05-15 08:24:57 +02:00
Tim Schaub b1ea0fec50 Name the module like the module 2019-05-14 13:58:04 -06:00
Frederic Junod 98ee52c61c Move the transform matrix computation out of the for loop 2019-05-14 15:39:06 +02:00
Frederic Junod f76b9bdd07 Only apply canvas transform if the tiles are scales 2019-05-14 15:33:44 +02:00
Olivier Guyot c9d1725f5c Composite renderer / trigger a render even when the source is undefined 2019-05-13 16:16:53 +02:00
ahocevar eeec56fa94 Fix hit detection for multiple layers when decluttering is off 2019-05-12 23:32:44 +02:00
ahocevar 84db84bc23 Avoid blurry vector tiles 2019-05-08 10:31:29 +02:00
Andreas Hocevar 6e3d3d4877 Merge pull request #9466 from ahocevar/declutter-global
Declutter in correct order and for all layers
2019-05-07 14:33:24 +02:00
Andreas Hocevar e4d25400ee Merge pull request #9490 from jahow/improve-webgl-doc
Misc. API doc improvements
2019-05-05 19:30:12 +02:00
ahocevar 6c8c8a6477 Fix decluttering on VectorImage layers 2019-05-05 14:54:23 +02:00
ahocevar ba6ac43a28 Fix zIndex handling for unmanaged layers 2019-05-05 13:24:46 +02:00
ahocevar 12289b8ef9 Declutter in correct order and for all layers 2019-05-05 12:20:38 +02:00
Olivier Guyot f69c37566e Improve documentation on webgl and View 2019-05-04 17:26:05 +02:00
Tim Schaub 3b1a415d6b Call the color callback once per feature 2019-04-28 14:09:31 -06:00
ahocevar dde9c59021 Use nearest lower resolution of vector tiles 2019-04-26 14:29:09 +02:00
Tim Schaub a16234faaa Allow color callback without third arg 2019-04-19 13:57:40 -07:00
Tim Schaub 154265a2d9 Fewer calls to the color callback 2019-04-19 13:49:53 -07:00
Olivier Guyot c6a859d1ed Webgl / clarify premultiplied alpha handling
By default, alpha premultiplying should be done by the initial rendering
(eg quads) and not the final post processing pass.

The default post processing pass expects premultiplied color values and
will not do this operation itself.
2019-04-02 22:12:47 +02:00
Olivier Guyot b955579a9c Webgl / clarified the buffer binding/flushing logic
The Webgl points layer renderer has also been optimized accordingly,
giving out much better performance.
2019-04-02 21:05:31 +02:00
Kai-W 275a22b685 Added clear of the render Buffers on Source Change 2019-03-28 17:21:43 +01:00
Andreas Hocevar 3a7f9d93f4 Merge pull request #9357 from ahocevar/vectortile-view-resolution-2
Render vector tiles at the view resolution
2019-03-25 17:44:31 +01:00
Lutz Helm 085c60af49 Remove tile source zDirection getter
The renderer now accesses the zDirection member directly if it exists.
This also has the advantage of not advertising any object methods that
hav no use for most tile sources.
2019-03-21 14:47:09 +01:00
Lutz Helm f5abb45de0 Add a zDirection option for Zoomify
Via zDirection, the renderer's selection of a tile source's resolution can be
controlled if the view's resolution does not match any tile source resolution.

Currently the zDirection option is only available for Zoomify. The comment
https://github.com/openlayers/openlayers/issues/9343#issuecomment-474341033
describes why caution is advised when using zDirection for other sources.

ol/source/Tile~TileSource#getZDirection has been added to avoid having the
getZDirection method solely in the Zoomify source - just to document the
possibility.
2019-03-21 10:06:22 +01:00
ahocevar fefcc9f0ca Return directly when all we do is render queued images 2019-03-20 23:04:48 +01:00
ahocevar d2f60a70d1 Recreate instructions for the view resolution 2019-03-20 22:45:17 +01:00
ahocevar a25ca03040 Do not use tile.load() for getting source tiles 2019-03-20 22:45:17 +01:00
ahocevar 4a9d2e689e Create a more accurate origin for tile positioning 2019-03-13 18:34:23 +01:00
ahocevar b4fc249991 Faster calculation of target size
Since usedTiles and wantedTiles will never have an overlap, we can use their
key count directly.
2019-03-12 08:53:52 +01:00
ahocevar 11f5a4c5b8 Move tile specific methods to the tile layer renderer 2019-03-12 00:19:51 +01:00
ahocevar 0f217392d7 Adjust tile cache size when too small 2019-03-12 00:19:13 +01:00
ahocevar b2722542fe Simplify vector tile projection handling 2019-03-10 09:37:58 +01:00
Frederic Junod 6de566d95b Set the canvas size to 0 on dispose 2019-03-08 13:25:49 +01:00
ahocevar fd07de39ad Consider all tiles for hit detection when decluttering 2019-02-18 11:40:52 +01:00
Andreas Hocevar a2a3bda5c9 Merge pull request #9221 from ahocevar/remove-unused-sortbyzindex
Remove unused sortByZIndex function
2019-02-15 09:45:26 +01:00
Frédéric Junod f28b7c7bcf Merge pull request #9220 from fredj/rm_extra_canvas_resize
Don't resize/clear the vector renderer canvas
2019-02-15 09:34:57 +01:00
ahocevar 020f513ed5 Remove unused sortByZIndex function 2019-02-14 17:40:38 +01:00