Commit Graph

13741 Commits

Author SHA1 Message Date
Maximilian Krög
2897f03ea5 Remove deprecated method PluggableMap#forEachLayerAtPixel 2022-07-26 00:57:21 +02:00
MoonE
0f8de89318 Merge pull request #13838 from MoonE/remove-deprecated-overlay-options
Remove deprecated Overlay options
2022-07-22 21:43:48 +02:00
Olivier Guyot
7d56c56210 Merge pull request #13461 from jahow/webgl-shape-renderer
WebGL vector renderer for polygons, lines and points
2022-07-22 10:05:31 +02:00
Andreas Hocevar
e83ecdeb96 Merge pull request #13863 from ahocevar/tile-error-handling
Fix reloading tiles in case of an error with tile.load()
2022-07-22 00:43:37 +02:00
Andreas Hocevar
02c73e3e69 Merge pull request #13860 from ahocevar/geojson-empty-coordinate-arrays
Handle multipolygons with empty polygons
2022-07-22 00:25:40 +02:00
Andreas Hocevar
a1d68b4f66 Fix reloading tiles in case of an error with tile.load() 2022-07-21 23:23:40 +02:00
Tim Schaub
01f3536d29 Using a union type instead of a string enum 2022-07-21 14:08:16 -07:00
Tim Schaub
7e424be66b Only pass the feature to the attribute getter 2022-07-21 13:49:06 -07:00
Tim Schaub
bd9e73a534 Renaming fill and stroke attributes and shaders 2022-07-21 13:30:22 -07:00
Tim Schaub
f21dd84c91 Remove api annotation for experimental features 2022-07-21 13:08:18 -07:00
Tim Schaub
5182b16452 Private if not used elsewhere; underscore suffix only if private 2022-07-21 13:03:10 -07:00
Maximilian Krög
e3766222f3 Remove deprecated Overlay options 2022-07-20 21:40:48 +02:00
Andreas Hocevar
c8508bcf97 Handle multipolygons with empty polygons 2022-07-20 13:18:41 +02:00
Maximilian Krög
62e335ceda Replace IconOrigin enum with typedef 2022-07-19 23:24:25 +02:00
Maximilian Krög
7ec2725c1e Replace IconAnchorUnits enum with typedef 2022-07-19 23:24:25 +02:00
Maximilian Krög
48e57f4d8c Replace Zoomify TierSizeCalculation enum with typedef 2022-07-19 23:24:25 +02:00
Maximilian Krög
7004d18519 Replace Draw Mode enum with typedef 2022-07-19 23:24:25 +02:00
Maximilian Krög
185485b0f7 Replace GeometryLayout enum with typedef 2022-07-19 23:24:22 +02:00
Maximilian Krög
ac6edc704a Replace ScaleLine Units with typedef 2022-07-19 22:56:46 +02:00
Maximilian Krög
69caa06783 Replace TextPlacement enum with typedef 2022-07-19 22:56:45 +02:00
Maximilian Krög
4d2156ff3a Replace IGCZ enum with typedef 2022-07-19 22:56:45 +02:00
MoonE
d20690394c Merge pull request #13837 from MoonE/remove-label-cache
Remove deprecated label cache
2022-07-19 20:58:17 +02:00
Andreas Hocevar
69ae6c85cf Merge pull request #13835 from ahocevar/source-state
Recover from incorrect rebase after removal of string enums
2022-07-18 22:42:58 +02:00
Andreas Hocevar
085fca6a9f Merge pull request #13832 from mike-000/vector-tile-grids
Base vector tile render tile grid on the source grid
2022-07-18 10:07:52 +02:00
Andreas Hocevar
4fec8d4615 Recover from incorrect rebase after removal of string enums 2022-07-18 09:42:52 +02:00
Maximilian Krög
1df5afcdbf Remove deprecated label cache 2022-07-17 04:15:24 +02:00
Maximilian Krög
d957bdeb86 Fix ScaleLine markup 2022-07-16 18:56:59 +02:00
jeanpierre
c8a28848dd change class names 2022-07-16 16:57:14 +02:00
jeanpierre
4d2b2c9650 style for scalebar
with new class in css and remove the hardcoded background

Co-Authored-By: Andreas Hocevar <211514+ahocevar@users.noreply.github.com>
2022-07-16 15:53:27 +02:00
jipexu
cb5417e0b6 Merge branch 'openlayers:main' into scalebarcolors 2022-07-16 11:22:01 +02:00
mike-000
13f0eeb795 Fix tileSizes typedef 2022-07-16 10:07:54 +01:00
mike-000
8dcb78bcd9 Base render tile grid on the source grid
Use source zDirection for both grids
2022-07-16 10:06:42 +01:00
Olivier Guyot
998dc82592 fixes after rebase 2022-07-15 22:53:48 +02:00
Olivier Guyot
cd83424867 WebGL / improve doc for Helper and VectorLayerRenderer
Also created enums for attributes (like uniforms), in an attempt to clarify
what is accessible to the vertex shaders.
2022-07-15 22:33:52 +02:00
Olivier Guyot
52279967c4 WebGL / Reorganize VectorLayerRenderer options, update example
Now different attributes can be provided for each type of geometry.

Also updated the example to accomodate for this and use the default shaders.
2022-07-15 22:33:52 +02:00
Olivier Guyot
79c974d63d WebGL / Add new module with default shaders for VectorLayer 2022-07-15 22:33:52 +02:00
Olivier Guyot
6848df97f8 WebGL / Address review comments 2022-07-15 22:33:52 +02:00
Olivier Guyot
f603ce7456 WebGL / Support DPR > 1 in linestring shader
A u_pixelRatio uniform was added to be used in the shaders. this is necessary
since we're relying on the builtin gl_FragCoord vector, which will be scaled
relative to the u_sizePx uniform in case of a device pixel ratio != 1.

Also added tests for computed uniform values, instead of just testing
that they were indeed set.
2022-07-15 22:33:52 +02:00
Olivier Guyot
9e35acaa0a Adapt the batch renderers to trigger a repaint after buffer rebuild 2022-07-15 22:33:52 +02:00
burleight
8769ea519e WebGL / render multiple worlds to wrap X in vector renderer
From https://github.com/jahow/openlayers/pull/1

Adds logic in WebGLVectorLayerRenderer to handle multiple worlds visible at once.

Co-authored-by: Tomas Burleigh <t.burleigh@gmail.com>
Co-authored-by: Olivier Guyot <olivier.guyot@camptocamp.com>
2022-07-15 22:33:52 +02:00
Olivier Guyot
c9f3665237 Remove @api on webgl vector layer renderer as well as utilities
This removes the WebGL vector layer renderer as well as the WebGL helper class
from the API.
2022-07-15 22:33:52 +02:00
Olivier Guyot
7e9c620914 Fix linting and typechecking errors 2022-07-15 22:33:52 +02:00
Olivier Guyot
a2ba7ecaa7 Make some adaptations to the PointsLayer renderer to make it work 2022-07-15 22:33:52 +02:00
Olivier Guyot
c555315014 Add a new WebGLVectorLayer renderer
This relies on a mixed geometry batch and separate batch renderers (lines,
points and polygons). A different shader program is used for each of these
geometries, and three rendering passes are made.
2022-07-15 22:33:52 +02:00
Olivier Guyot
cfaf9a14e5 Rework a bit the webgl helper to allow having several programs
Without this, doing render passes with different programs using one
helper instance was not really doable
2022-07-15 22:33:52 +02:00
Olivier Guyot
7892c31715 Adapt the WebGL worker to use the new buffer generation utils 2022-07-15 22:33:52 +02:00
Olivier Guyot
143c19ca03 Add utils for generating webgl buffers from lines and polygons
Uses @mapbox/earcut for polygon (what else), and a home made logic for lines
2022-07-15 22:33:52 +02:00
Olivier Guyot
a18ffaed54 Move webgl utils out of ol/renderer/webgl/Layer module into their own module 2022-07-15 22:33:52 +02:00
Olivier Guyot
eb0db9e3df Introduce batch renderers for each type of geometry
Batch renderers are responsible for generating render instructions and
interacting with the worker to obtain the final webgl buffers
2022-07-15 22:33:52 +02:00
Olivier Guyot
b5fbed5437 Introduce MixedGeometryBatch for webgl rendering
This class keeps an up-to-date list of line, polygon and point geometries
to render as well as vertices counts, geometries count, rings count etc.
2022-07-15 22:33:52 +02:00