Commit Graph

191 Commits

Author SHA1 Message Date
Olivier Guyot
f69c37566e Improve documentation on webgl and View 2019-05-04 17:26:05 +02:00
Tim Schaub
58c4c9ebb8 Remove unnecessary closure and fix uniform type 2019-04-19 14:33:43 -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
Tim Schaub
511e580c76 Merge pull request #9090 from jahow/add-webgl-points-example
Add texture & color to the WebGL points renderer
2018-12-29 22:12:12 -07:00
Olivier Guyot
33c717e159 Use a cleaner way to create a webgl context 2018-12-28 16:10:38 +01:00
Olivier Guyot
62c7a49943 Webgl points / added a texture option & improved doc 2018-12-28 15:53:07 +01:00
Olivier Guyot
0acfd7ab59 WebGL points / Added a color attribute 2018-12-28 15:53:07 +01:00
Olivier Guyot
27b0cf18e7 Update default shaders in documentation of webgl classes 2018-12-07 09:32:52 +01:00
Olivier Guyot
b532a489d4 Webgl points / fix weird glitches by premultiplying alpha 2018-12-07 09:02:02 +01:00
Olivier Guyot
f177a2bcd5 Simple handling of layer opacity in webgl points layer
Now the layer opacity is simply handled by a CSS property on the layer DOM element. As such it does not have to be
taken into account in shaders.
2018-12-07 09:02:02 +01:00
Olivier Guyot
2367fbb1ea Webgl / do not enable missing attributes
Some expected attributes might not end up in the compiled shader. In this case, skip calling enableVertexAttrib
2018-12-07 08:57:03 +01:00
jahow
55c36b5aab Shader compilation errors are now logged even when the compilation succeeded 2018-12-01 00:03:05 +01:00
jahow
6b82cf0b84 Simplified the API of WebGLHelper
Now the shader and program caches are simply arrays of native WebGL created objects.
The WebGLHelper simply takes the sources of the frag and vert shader and produces a program.

This removes 2 classes & reduces the general verbosity of the API.

Also a `getShaderCompilationErrors` was added on `WebGLHelper` to help debug GLSL errors.
2018-11-19 13:11:23 +01:00
Frederic Junod
42a8c7983f Fix webgl types in ol/webgl/PostProcessingPass 2018-11-17 11:20:11 +01:00
Olivier Guyot
66a74ac019 Renamed WebGLBuffer to WebGLArrayBuffer to avoid conflicts
In the future this should be reworked to have a clearer API in general.
2018-11-16 14:02:10 +01:00
Olivier Guyot
a84559d1fb Added documentation & fixed linting for WebGL classes 2018-11-16 14:02:10 +01:00
Olivier Guyot
cb77e10179 Removed the legacy shader build system 2018-11-16 14:02:10 +01:00
Olivier Guyot
530bcd0c88 Improve handling of uniforms in webgl helper 2018-11-16 14:02:10 +01:00
Olivier Guyot
94524fb431 Webgl Helper now handles uniforms with framestate as input 2018-11-16 14:02:10 +01:00
Olivier Guyot
716256e8f3 Cleaned up the heatmap layer & use dynamic radius 2018-11-16 14:02:10 +01:00
Olivier Guyot
fb8bf785dd Use the gradient texture in the heatmap layer 2018-11-16 14:02:10 +01:00
Olivier Guyot
4a275c543a Use post-processes in the heatmap example 2018-11-16 14:02:10 +01:00
Olivier Guyot
0c1424c5bb Added the concept of post process passes for webgl 2018-11-16 14:02:10 +01: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
Olivier Guyot
d3294730f1 Renamed WebGLContext to Helper for clarity 2018-11-16 14:01:21 +01:00
Olivier Guyot
51becf1c2e Allow custom post processing & improve blending 2018-11-16 14:01:21 +01:00
Olivier Guyot
298af9ca0f added the concept of frame buffer in webgl context 2018-11-16 14:01:21 +01:00
Olivier Guyot
3c5eac13c9 Handle alpha & custom shaders in renderer 2018-11-16 14:01:21 +01:00
Olivier Guyot
583dfb8e9d Actually make the renderer work 2018-11-16 14:01:20 +01:00
Olivier Guyot
1c11dc5311 Improved shader compilation & fixed PointsLayer ones 2018-11-16 14:01:20 +01:00
Olivier Guyot
97b16be572 Added attribute handling 2018-11-16 14:01:20 +01:00
Olivier Guyot
fc20dc986c Better handle uniform locations in shaders 2018-11-16 14:01:20 +01:00
Olivier Guyot
0a0d6c22f5 Modified the WebGLContext to be used independantly 2018-11-16 14:01:20 +01:00
ahocevar
1cdd040c96 Throw when calling abstract methods; fix abstract return types 2018-10-30 18:55:49 +01:00
Frederic Junod
041836c645 Change getUid return type from number to string 2018-10-17 10:22:53 +02:00
Frederic Junod
7cb85fa975 Don't define functions in the prototype
If `VOID` is used, TypeScript is not able to figure out what the function parameters are.

Before:
```
$ npx tsc | wc -l
    1188
```

After:
```
$ npx tsc | wc -l
    1169
```
2018-09-19 08:40:14 +02: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
affbf59b77 Use Object<Foo, Bar> instead of Object.<Foo, Bar> 2018-07-25 18:33:49 -07:00
Tim Schaub
d12ef20b12 Use Array<Foo> instead of Array.<Foo> 2018-07-25 18:32:43 -07:00
Tim Schaub
fe8fcfbc7e Call super in WebGL context 2018-07-18 00:45:19 -06:00
Tim Schaub
9ce36da349 Remove @extends and @constructor annotations 2018-07-18 00:36:29 -06:00
Tim Schaub
b7b15eb7f0 Remove unused inherits 2018-07-18 00:13:43 -06:00
Tim Schaub
1a5cf52b61 Remove remaining use of inherits in src 2018-07-17 23:43:10 -06:00
Frederic Junod
f2d0b11d24 Move jsdoc constructor comments 2018-07-17 09:59:00 +02:00
Frederic Junod
7e3e0e54ca Fix comments indentation 2018-07-17 09:15:16 +02:00
Tim Schaub
d0ab8dce38 Lint removal 2018-07-16 17:57:57 -06:00
Tim Schaub
f78d0d4cfa Manual class transform 2018-07-16 17:09:50 -06:00
ahocevar
28409486a5 Make classes in ol/ available as named exports from ol 2018-06-21 18:08:17 +02:00
ahocevar
440d1ad3e1 Shorter module paths for default exports 2018-04-25 17:25:39 +02:00