Commit Graph

183 Commits

Author SHA1 Message Date
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
Frederic Junod
2fc9cb691d Module type for ol.webgl.Vertex 2018-03-23 13:25:47 +01:00
Frederic Junod
873b01bba5 Move WebGL typedefs out of src/ol/typedefs.js 2018-03-23 13:22:51 +01:00
Frederic Junod
353a3b77b6 Module type for ol.webgl.Buffer 2018-03-23 12:16:04 +01:00
Frederic Junod
731c2eddae Module type for ol.webgl.Shader 2018-03-23 12:13:56 +01:00
Frederic Junod
6f6b60769c Module type for ol.webgl.Fragment 2018-03-23 12:13:25 +01:00
Frederic Junod
3ccd4c0826 Module type for ol.Disposable 2018-03-19 08:48:28 +01:00
Frederic Junod
35158efbf0 Fix spelling 2018-03-12 15:18:58 +01:00
Frederic Junod
3435ac575e Better type definition
Fixes the `Invalid type(s) for operator IN.` warnings from the closure compiler.
2018-03-07 16:45:46 +01:00