Andreas Hocevar
5a8df1d4e2
We no longer need to increase the cache size
2020-01-08 10:53:42 +01:00
Andreas Hocevar
46d98201c3
Store source tiles on render tile instead of source
2020-01-08 10:53:42 +01:00
Andreas Hocevar
2875685b3c
Use TileCache instead of custom structure
2020-01-05 12:25:44 +01:00
Andreas Hocevar
bec747e513
Remove unused argument and member
2020-01-05 12:08:43 +01:00
Andreas Hocevar
174dea3232
Fix interim tile handing for vector tiles
2019-12-07 15:18:18 +01:00
Andreas Hocevar
cf6cd09f58
Bring back vector render mode for vector tile layers
2019-11-18 10:40:05 +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
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
bb2bdb17aa
Render vector tile layers to a single canvas
2019-10-31 20:29:19 +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
Andreas Hocevar
39012a58f8
Implement getFeatures() for ol/layer/VectorImage
2019-10-22 11:27:26 +02:00
Andreas Hocevar
315695eeb8
New Layer#getFeatures method with fast hit detection for VectorLayer
2019-10-08 08:23:38 +02:00
Tim Schaub
d3b47c794e
Make the immediate API work with a user projection
2019-09-30 08:28:50 -06:00
Andreas Hocevar
7f8fdd6219
Ensure proper tile load sequence
2019-09-28 15:24:37 +02:00
Andreas Hocevar
3a10476c1c
Merge pull request #10007 from mike-000/patch-1
...
Changes for #9395 CircleStyle inconsistency
2019-09-26 18:46:24 +02:00
mike-000
e28fa56edd
Changes for the CircleStyle inconsistency seen in #9395
...
Change hit detection test to reflect fix for #9395 CircleStyle inconsistency
Update ol/style/Circle and ol/style/RegularShapen tests
Revise test for no fill
Add test for transparent fill
Update Upgrade notes
Changes to hit detection with unfilled styles
2019-09-26 14:27:31 +01:00
Olivier Guyot
607f2f0746
Merge pull request #9994 from jahow/add-webgl-layer-type
...
Add a new layer type: WebGLPointsLayer
2019-09-26 14:55:09 +02:00
Olivier Guyot
9e55a8b2f0
Webgl / linting & test fixes
2019-09-25 17:22:36 +02:00
Olivier Guyot
4ad582ff01
Merge pull request #9986 from mike-000/patch-2
...
Make Circle geometry hit detection consistent with Polygon
2019-09-25 15:38:50 +02:00
Olivier Guyot
23c2999cab
Webgl points renderer / fix hit detection
...
Due to the fact that the points renderer does not know for sure
which attributes will be used for rendering, it is now mandatory
to provide both vertex/fragment shaders for rendering AND hit
detection.
The hit detection shaders should expect having an `a_hitColor`
that they should return to allow matching the feature uid.
This will be all one eventually by shader builders under the hood.
2019-09-25 12:11:09 +02:00
Olivier Guyot
2b36445ecc
Webgl / Adapt the points renderer to use custom attributes
...
Now most attributes will be custom ones defined by the user of the renderer.
The hit detection is broken for now and still has to be fixed.
Also it is not possible anymore to give a texture to the renderer,
this will have to be fixed as well.
2019-09-25 10:11:27 +02:00
mike-000
678f9136c6
Make Circle hit detection consistent with Polygon
...
Fixes one of the inconsistencies seen in #9395
Add hit detection for no fill and transparent fill
Based on the example used in #9395 The tests expect consistency between Polygon and Circle geometries but currently expect the inconsistent behaviour seen when using CircleStyle
2019-09-24 22:06:28 +01:00
Olivier Guyot
30f19f8317
Webgl points renderer / terminates worker & dispose helper
2019-09-24 17:59:21 +02:00
Simon Seyock
82486899df
getFeatureAtPixel always returns array
2019-09-24 17:16:25 +02:00
Simon Seyock
acac7a9403
remove skipFeature logic
2019-09-24 10:12:30 +02:00
ahocevar
ebfb20440a
Simplify events and store listeners only in one place
2019-09-04 16:48:43 +02:00
Tim Schaub
99462d3b53
Only get squared tolerance once per render
2019-08-17 07:10:10 -06:00
Tim Schaub
abda7f4f1d
Separate lookups for source tiles by tile coord and tile key
2019-08-13 16:40:01 -06:00
ahocevar
e07ff9c04e
Make zDirection configurable on tile source
2019-07-30 16:50:01 +02:00
jahow
a0ff08b734
Webgl points / improve tests
...
Now testing with two features and adding a call to `prepareFrame`
without which the final render transform was off.
Also added a test with a pixelratio > 1.
2019-07-11 00:05:55 +02:00
Frederic Junod
933a6297bb
Remove unused hasFeatureAtCoordinate from ol/renderer/Layer
2019-06-28 11:10:33 +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
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
8145b358c0
Webgl renderer / add id encode/decode utils
2019-06-28 09:06:16 +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
6123be726a
Handle layer removal on shared containers
2019-06-02 13:59:06 +02:00
Frederic Junod
87d5f4c8bc
Use 'helper' from WebGLHelper in tests
2019-06-01 15:35:31 +02:00
Olivier Guyot
698816030e
Webgl points / fix unit tests
2019-06-01 15:33:36 +02:00
Olivier Guyot
532b8194b1
Webgl points / use the new typed-array based utils for buffers
...
`rebuildBuffer` is still a very CPU intensive task and is blocking the
main thread.
2019-06-01 15:20:04 +02:00
Olivier Guyot
eb912d95ca
Webgl / refactor utilities to work only on typed arrays
...
The base webgl renderer module now has two types of utilities:
* `writeXFeatureInstructions` will write a series of values in a given
typed array, which represent how a given feature will be rendered; for points,
this means position, size, color, etc.
* `writeXFeatureToBuffers` will fill up the given index & vertex buffers
with values based on the provided render instructions
As such, the logic for rendering features is:
user-input style > instructions array >(*) index/vertex buffers > draw
(*) this transformation is intended to be done on a worker.
2019-06-01 15:19:37 +02:00
Tim Schaub
deb00f20fe
Include full filename in import specifier
2019-05-29 08:51:10 -06:00
Frederic Junod
40c49a9ce5
Remove layerState param from prepareFrame and renderFrame function
2019-05-25 07:19:10 +02:00
ahocevar
7895b16043
Reuse container for raster and vector image layers
2019-05-22 16:47:20 +02:00
ahocevar
335648d613
Remove memory leak caused by label cache listeners
2019-05-16 21:04:55 +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
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