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
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
9e55a8b2f0
Webgl / linting & test fixes
2019-09-25 17:22:36 +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
Olivier Guyot
30f19f8317
Webgl points renderer / terminates worker & dispose helper
2019-09-24 17:59:21 +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
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
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
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
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
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
Olivier Guyot
a2d83f5358
WebGL points / add minimal tests
2019-05-15 09:42:15 +02:00
Olivier Guyot
72cf7b13fa
removed existing webgl rendering unit tests
2018-11-16 14:05:04 +01:00
Marc Jansen
183b8e29c4
Named exports from ol/transform
2018-02-15 17:55:54 +01:00
Tim Schaub
ad62739a6e
Use blocked scoped variables
...
In addition to using const and let, this also upgrades our linter config and removes lint (mostly whitespace).
2018-01-12 00:50:30 -07:00
Tim Schaub
d75623084e
Rename _ol_source_Image_ to ImageSource
2018-01-10 09:36:28 -07:00
Tim Schaub
453b79dad7
Rename _ol_layer_Image_ to ImageLayer
2018-01-10 09:36:28 -07:00
Tim Schaub
12a3b99b09
Rename _ol_renderer_webgl_ImageLayer_ to WebGLImageLayerRenderer
2018-01-10 09:35:42 -07:00
Ron Young
9fa59d0735
rename map in tests
2017-12-21 23:11:42 -07:00
Tim Schaub
7f47883c48
Transformed
2017-12-12 06:53:18 -07:00
Tim Schaub
a3e3e99baa
Get rid of useless test exports
2017-08-17 15:16:58 -04:00
Tim Schaub
9415899a03
Add common transforms by default
2017-03-27 10:07:00 -06:00
Tim Schaub
ed5dbd1293
Put test requires on top
2016-08-08 09:58:11 -06:00
Tim Schaub
424f3e5577
Move renderer files so they are named like their provides
2016-08-07 10:49:11 -06:00
Andreas Hocevar
6b4ee42c90
Refactor to a more convenient internal API
2016-06-23 13:10:41 +02:00
Andreas Hocevar
cf7ff841a7
Remove use of goog.vec.*
2016-06-23 13:10:41 +02:00
Tim Schaub
ae4d8195c0
Remove use of goog.dispose()
2016-03-02 15:44:06 -07:00
Éric Lemoine
9ce3bc7f3d
Fix WebGL image layer rendering on retina displays
...
This commit takes the device pixel ratio into account when calculating the matrix used to apply the image to the output canvas.
2015-04-07 12:13:16 +02:00
Frederic Junod
38bbe35e8d
Remove ol.Map#getRenderer function
2013-11-20 11:45:24 +01:00
Tim Schaub
b192335e56
Merge pull request #1027 from tschaub/closure-util
...
Use the closure-util package. Documentation will come when this is a more complete solution. See #1027 for basic usage instructions.
2013-09-15 15:36:13 -07:00
Éric Lemoine
009172951c
WebGL image layer tests require the common proj
2013-09-15 10:37:22 -06:00
Tim Schaub
e806f51b3d
Changing extent structure back to single array: [minX, minY, maxX, maxY]
...
This means we'll have to have a new structure and new methods for 3D envelopes.
2013-09-15 00:31:32 -06:00
Tim Schaub
e84e0e1233
WebGL renderer updates for new extent structure
2013-09-14 21:14:55 -06:00
Tom Payne
7d5a84ce8a
Rename ol.layer.ImageLayer to ol.layer.Image
2013-09-09 14:36:40 +02:00
Tom Payne
5967f96047
Rename ol.source.ImageSource to ol.source.Image
2013-09-09 14:33:12 +02:00
Tom Payne
f64e35e8bb
Remove unused variables in renderers
2013-05-28 16:01:33 +02:00