Commit Graph

48 Commits

Author SHA1 Message Date
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
7fb113c3dc Mark 'helper' variable protected 2019-06-01 15:33:36 +02:00
Olivier Guyot
03e70bd10e Webgl points / handle using short instead of int for indices
This is controlled by the availability of the OES_element_index_uint
webgl extension.
2019-06-01 15:33:36 +02:00
Olivier Guyot
e0983cb1c6 Webgl worker / add tests, some typing and documentation
The worker currently works by receiving GENERATE_BUFFERS messages and
will send back the same kind of message, with the generated buffers
attached. All properties of the original message are kept, so that
when a GENERATE_BUFFERS message comes back to the main thread it
is possible to know what and how the buffers where generated.

This is typically used for the `projectionTransform` matrix, and
will also be necessary when working with tiles.
2019-06-01 15:33:36 +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
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
7fa2189fe9 Remove the bulk of the WebGL legacy code.
Things left to do:
* redo an icon layer example
* redo a clipping layer example
* update docs where WebGL renderers are mentioned
2018-11-16 14:02:08 +01:00
Frederic Junod
3cf4dbfcc6 Simplify import path in ol/renderer/ 2018-11-05 16:26:45 +01:00
ahocevar
1cdd040c96 Throw when calling abstract methods; fix abstract return types 2018-10-30 18:55:49 +01:00
Tim Schaub
ccfacc5ee6 Transformed types
Using the [ts.js codemod](https://gist.github.com/tschaub/1ea498c9d1e5268cf36d212b3949be4e):

    jscodeshift --transform ts.js src
2018-09-05 08:05:29 -06:00
Tim Schaub
d12ef20b12 Use Array<Foo> instead of Array.<Foo> 2018-07-25 18:32:43 -07:00
Tim Schaub
e5493d1288 Add ol/pixel module for Pixel type 2018-07-19 10:17:00 -06:00
Tim Schaub
9ee5edf19c Clean up ol/renderer/webgl classes 2018-07-17 18:23:52 -06:00
Tim Schaub
7b4a73f3b9 Automated class transform
npx lebab --replace src --transform class
2018-07-16 16:18:16 -06:00
ahocevar
28409486a5 Make classes in ol/ available as named exports from ol 2018-06-21 18:08:17 +02:00
Frederic Junod
af1f6836af Shorter module paths for default exports 2018-05-09 11:24:43 +02:00
Frederic Junod
11d9f6de83 Module type for ol.renderer.* 2018-04-26 15:35:48 +02:00
ahocevar
440d1ad3e1 Shorter module paths for default exports 2018-04-25 17:25:39 +02:00
Frederic Junod
3629cef3a5 Module type for ol.render.EventType 2018-04-20 14:31:00 +02:00
Frederic Junod
5306490733 Module type for ol.webgl.Context 2018-03-23 12:17:42 +01:00
Frederic Junod
353a3b77b6 Module type for ol.webgl.Buffer 2018-03-23 12:16:04 +01:00
Frederic Junod
bd9e603036 Module type for ol.layer.Layer 2018-03-23 08:44:21 +01:00
Frederic Junod
8c58bb4332 Use 'module:ol/PluggableMap~FrameState' instead of 'olx.FrameState' 2018-03-13 16:06:46 +01:00
Andreas Hocevar
95d6251dbb Get rid of olx.js and typedef.js typedefs for ol 2018-03-08 18:57:24 +01:00
raiyni
1674eba2cd ol/webgl exports 2018-02-15 21:39:53 -06:00
Marc Jansen
183b8e29c4 Named exports from ol/transform 2018-02-15 17:55:54 +01:00
Florent gravin
8eef99ad04 Webgl Layer and Context named exports 2018-02-15 13:38:03 +01:00
Tim Schaub
df93b15e2f Rename _ol_render_webgl_Immediate_ to WebGLImmediateRenderer 2018-02-09 06:58:46 -07:00
Frederic Junod
2b6a3aacef Don't create useless temporary variables 2018-02-09 09:17:40 +01:00
Frederic Junod
e25e61c3b7 Rename location shader classes
And remove the now unneeded NAMESPACE variable
2018-02-08 15:18:11 +01:00
Frederic Junod
83d530e181 Named exports from WebGL shaders 2018-02-08 15:18:11 +01:00
Frederic Junod
62b2900348 Rename _ol_webgl_Buffer_ to WebGLBuffer 2018-02-08 09:24:29 +01:00
Frederic Junod
d1c11d50eb Rename _ol_webgl_Context_ to WebGLContext 2018-02-08 08:42:19 +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
0113b9283c Rename _ol_render_Event_ to RenderEvent 2018-01-11 11:58:26 -07:00
Frederic Junod
bc1a019c74 Rename _ol_renderer_webgl_Layer_ to WebGLLayerRenderer 2018-01-11 14:28:01 +01:00
Frederic Junod
3ce95099e9 Rename _ol_renderer_Layer_ to LayerRenderer 2018-01-11 14:23:26 +01:00
Frederic Junod
277e470bd3 Rename _ol_render_EventType_ to RenderEventType 2017-12-18 17:23:05 +01:00
Frederic Junod
92bbec294c Rename 'ol/vec/Mat4' module to 'ol/vec/mat4' 2017-12-15 10:36:32 +01:00
Frederic Junod
a32aebfb3a Named exports from ol/vec/Mat4 2017-12-15 08:43:37 +01:00
Tim Schaub
87295a74dd Use named exports from ol/index.js 2017-12-12 12:34:23 -07:00
Tim Schaub
7f47883c48 Transformed 2017-12-12 06:53:18 -07:00
Tim Schaub
1cdb6a66f0 Imports cased like the filename 2017-12-12 06:53:17 -07:00