ol 7.3.0 → 7.3.1-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Collection.d.ts +2 -2
- package/Collection.d.ts.map +1 -1
- package/DataTile.d.ts +1 -1
- package/DataTile.d.ts.map +1 -1
- package/DataTile.js +2 -1
- package/Feature.d.ts +1 -1
- package/Feature.d.ts.map +1 -1
- package/Geolocation.d.ts +2 -2
- package/Geolocation.d.ts.map +1 -1
- package/Image.d.ts +1 -1
- package/Image.d.ts.map +1 -1
- package/ImageBase.d.ts +1 -1
- package/ImageBase.d.ts.map +1 -1
- package/ImageCanvas.d.ts +1 -1
- package/ImageCanvas.d.ts.map +1 -1
- package/ImageTile.d.ts +1 -1
- package/ImageTile.d.ts.map +1 -1
- package/Map.d.ts +7 -7
- package/Map.d.ts.map +1 -1
- package/Map.js +2 -1
- package/MapBrowserEvent.d.ts +1 -1
- package/MapBrowserEvent.d.ts.map +1 -1
- package/MapBrowserEventHandler.d.ts +1 -1
- package/MapBrowserEventHandler.d.ts.map +1 -1
- package/MapEvent.d.ts +1 -1
- package/MapEvent.d.ts.map +1 -1
- package/Object.d.ts +2 -2
- package/Object.d.ts.map +1 -1
- package/Observable.d.ts +1 -1
- package/Observable.d.ts.map +1 -1
- package/Overlay.d.ts +1 -1
- package/Overlay.d.ts.map +1 -1
- package/Tile.d.ts +1 -1
- package/Tile.d.ts.map +1 -1
- package/TileCache.d.ts +1 -1
- package/TileCache.d.ts.map +1 -1
- package/TileQueue.d.ts +1 -1
- package/TileQueue.d.ts.map +1 -1
- package/VectorRenderTile.d.ts +1 -1
- package/VectorRenderTile.d.ts.map +1 -1
- package/VectorTile.d.ts +1 -1
- package/VectorTile.d.ts.map +1 -1
- package/View.d.ts +10 -6
- package/View.d.ts.map +1 -1
- package/View.js +9 -6
- package/array.d.ts.map +1 -1
- package/array.js +38 -20
- package/control/Attribution.d.ts +1 -1
- package/control/Attribution.d.ts.map +1 -1
- package/control/Control.d.ts +1 -1
- package/control/Control.d.ts.map +1 -1
- package/control/FullScreen.d.ts +1 -1
- package/control/FullScreen.d.ts.map +1 -1
- package/control/MousePosition.d.ts +1 -1
- package/control/MousePosition.d.ts.map +1 -1
- package/control/OverviewMap.d.ts +3 -3
- package/control/OverviewMap.d.ts.map +1 -1
- package/control/Rotate.d.ts +1 -1
- package/control/Rotate.d.ts.map +1 -1
- package/control/ScaleLine.d.ts +1 -1
- package/control/ScaleLine.d.ts.map +1 -1
- package/control/Zoom.d.ts +1 -1
- package/control/Zoom.d.ts.map +1 -1
- package/control/ZoomSlider.d.ts +1 -1
- package/control/ZoomSlider.d.ts.map +1 -1
- package/control/ZoomToExtent.d.ts +1 -1
- package/control/ZoomToExtent.d.ts.map +1 -1
- package/control/defaults.d.ts +1 -1
- package/control/defaults.d.ts.map +1 -1
- package/dist/ol.js +2 -2
- package/dist/ol.js.map +1 -1
- package/events/Key.d.ts +8 -0
- package/events/Key.d.ts.map +1 -0
- package/events/Key.js +14 -0
- package/events/Target.d.ts +1 -1
- package/events/Target.d.ts.map +1 -1
- package/events/condition.d.ts +2 -2
- package/events/condition.d.ts.map +1 -1
- package/extent.d.ts.map +1 -1
- package/extent.js +7 -2
- package/format/EsriJSON.d.ts +1 -1
- package/format/EsriJSON.d.ts.map +1 -1
- package/format/GML.d.ts +1 -1
- package/format/GML.d.ts.map +1 -1
- package/format/GML2.d.ts +1 -1
- package/format/GML2.d.ts.map +1 -1
- package/format/GML3.d.ts +5 -5
- package/format/GML3.d.ts.map +1 -1
- package/format/GML32.d.ts +1 -1
- package/format/GML32.d.ts.map +1 -1
- package/format/GMLBase.d.ts +9 -9
- package/format/GMLBase.d.ts.map +1 -1
- package/format/GPX.d.ts +2 -2
- package/format/GPX.d.ts.map +1 -1
- package/format/GeoJSON.d.ts +1 -1
- package/format/GeoJSON.d.ts.map +1 -1
- package/format/IGC.d.ts +1 -1
- package/format/IGC.d.ts.map +1 -1
- package/format/IIIFInfo.d.ts +8 -8
- package/format/IIIFInfo.d.ts.map +1 -1
- package/format/IIIFInfo.js +10 -9
- package/format/JSONFeature.d.ts +1 -1
- package/format/JSONFeature.d.ts.map +1 -1
- package/format/JSONFeature.js +2 -1
- package/format/KML.d.ts +121 -5
- package/format/KML.d.ts.map +1 -1
- package/format/KML.js +105 -7
- package/format/MVT.d.ts +2 -2
- package/format/MVT.d.ts.map +1 -1
- package/format/OSMXML.d.ts +1 -1
- package/format/OSMXML.d.ts.map +1 -1
- package/format/OSMXML.js +11 -4
- package/format/OWS.d.ts +1 -1
- package/format/OWS.d.ts.map +1 -1
- package/format/Polyline.d.ts +2 -2
- package/format/Polyline.d.ts.map +1 -1
- package/format/TextFeature.d.ts +1 -1
- package/format/TextFeature.d.ts.map +1 -1
- package/format/TopoJSON.d.ts +1 -1
- package/format/TopoJSON.d.ts.map +1 -1
- package/format/WFS.d.ts +2 -2
- package/format/WFS.d.ts.map +1 -1
- package/format/WFS.js +8 -4
- package/format/WKB.d.ts +1 -1
- package/format/WKB.d.ts.map +1 -1
- package/format/WKB.js +6 -4
- package/format/WKT.d.ts +1 -1
- package/format/WKT.d.ts.map +1 -1
- package/format/WMSCapabilities.d.ts +1 -1
- package/format/WMSCapabilities.d.ts.map +1 -1
- package/format/WMSGetFeatureInfo.d.ts +1 -1
- package/format/WMSGetFeatureInfo.d.ts.map +1 -1
- package/format/WMTSCapabilities.d.ts +1 -1
- package/format/WMTSCapabilities.d.ts.map +1 -1
- package/format/XML.d.ts.map +1 -1
- package/format/XML.js +4 -2
- package/format/XMLFeature.d.ts +1 -1
- package/format/XMLFeature.d.ts.map +1 -1
- package/format/XMLFeature.js +16 -8
- package/format/filter/And.d.ts +1 -1
- package/format/filter/And.d.ts.map +1 -1
- package/format/filter/Bbox.d.ts +1 -1
- package/format/filter/Bbox.d.ts.map +1 -1
- package/format/filter/Comparison.d.ts +1 -1
- package/format/filter/Comparison.d.ts.map +1 -1
- package/format/filter/ComparisonBinary.d.ts +1 -1
- package/format/filter/ComparisonBinary.d.ts.map +1 -1
- package/format/filter/Contains.d.ts +1 -1
- package/format/filter/Contains.d.ts.map +1 -1
- package/format/filter/DWithin.d.ts +1 -1
- package/format/filter/DWithin.d.ts.map +1 -1
- package/format/filter/Disjoint.d.ts +1 -1
- package/format/filter/Disjoint.d.ts.map +1 -1
- package/format/filter/During.d.ts +1 -1
- package/format/filter/During.d.ts.map +1 -1
- package/format/filter/EqualTo.d.ts +1 -1
- package/format/filter/EqualTo.d.ts.map +1 -1
- package/format/filter/GreaterThan.d.ts +1 -1
- package/format/filter/GreaterThan.d.ts.map +1 -1
- package/format/filter/GreaterThanOrEqualTo.d.ts +1 -1
- package/format/filter/GreaterThanOrEqualTo.d.ts.map +1 -1
- package/format/filter/Intersects.d.ts +1 -1
- package/format/filter/Intersects.d.ts.map +1 -1
- package/format/filter/IsBetween.d.ts +1 -1
- package/format/filter/IsBetween.d.ts.map +1 -1
- package/format/filter/IsLike.d.ts +1 -1
- package/format/filter/IsLike.d.ts.map +1 -1
- package/format/filter/IsNull.d.ts +1 -1
- package/format/filter/IsNull.d.ts.map +1 -1
- package/format/filter/LessThan.d.ts +1 -1
- package/format/filter/LessThan.d.ts.map +1 -1
- package/format/filter/LessThanOrEqualTo.d.ts +1 -1
- package/format/filter/LessThanOrEqualTo.d.ts.map +1 -1
- package/format/filter/LogicalNary.d.ts +1 -1
- package/format/filter/LogicalNary.d.ts.map +1 -1
- package/format/filter/Not.d.ts +1 -1
- package/format/filter/Not.d.ts.map +1 -1
- package/format/filter/NotEqualTo.d.ts +1 -1
- package/format/filter/NotEqualTo.d.ts.map +1 -1
- package/format/filter/Or.d.ts +2 -2
- package/format/filter/Or.d.ts.map +1 -1
- package/format/filter/Or.js +1 -1
- package/format/filter/ResourceId.d.ts +1 -1
- package/format/filter/ResourceId.d.ts.map +1 -1
- package/format/filter/Spatial.d.ts +1 -1
- package/format/filter/Spatial.d.ts.map +1 -1
- package/format/filter/Within.d.ts +1 -1
- package/format/filter/Within.d.ts.map +1 -1
- package/format/filter.d.ts +20 -20
- package/format/filter.d.ts.map +1 -1
- package/geom/Circle.d.ts +1 -1
- package/geom/Circle.d.ts.map +1 -1
- package/geom/Circle.js +1 -17
- package/geom/Geometry.d.ts +1 -1
- package/geom/Geometry.d.ts.map +1 -1
- package/geom/GeometryCollection.d.ts +1 -1
- package/geom/GeometryCollection.d.ts.map +1 -1
- package/geom/LineString.d.ts +1 -1
- package/geom/LineString.d.ts.map +1 -1
- package/geom/LinearRing.d.ts +1 -1
- package/geom/LinearRing.d.ts.map +1 -1
- package/geom/MultiLineString.d.ts +2 -2
- package/geom/MultiLineString.d.ts.map +1 -1
- package/geom/MultiPoint.d.ts +2 -2
- package/geom/MultiPoint.d.ts.map +1 -1
- package/geom/MultiPolygon.d.ts +3 -3
- package/geom/MultiPolygon.d.ts.map +1 -1
- package/geom/Point.d.ts +1 -1
- package/geom/Point.d.ts.map +1 -1
- package/geom/Polygon.d.ts +3 -3
- package/geom/Polygon.d.ts.map +1 -1
- package/geom/SimpleGeometry.d.ts +1 -1
- package/geom/SimpleGeometry.d.ts.map +1 -1
- package/geom/flat/interpolate.d.ts.map +1 -1
- package/geom/flat/interpolate.js +4 -2
- package/geom/flat/orient.d.ts +1 -1
- package/geom/flat/orient.js +1 -1
- package/interaction/DblClickDragZoom.d.ts +110 -0
- package/interaction/DblClickDragZoom.d.ts.map +1 -0
- package/interaction/DblClickDragZoom.js +251 -0
- package/interaction/DoubleClickZoom.d.ts +1 -1
- package/interaction/DoubleClickZoom.d.ts.map +1 -1
- package/interaction/DragAndDrop.d.ts +2 -2
- package/interaction/DragAndDrop.d.ts.map +1 -1
- package/interaction/DragBox.d.ts +2 -2
- package/interaction/DragBox.d.ts.map +1 -1
- package/interaction/DragPan.d.ts +1 -1
- package/interaction/DragPan.d.ts.map +1 -1
- package/interaction/DragRotate.d.ts +1 -1
- package/interaction/DragRotate.d.ts.map +1 -1
- package/interaction/DragRotateAndZoom.d.ts +1 -1
- package/interaction/DragRotateAndZoom.d.ts.map +1 -1
- package/interaction/DragZoom.d.ts +1 -1
- package/interaction/DragZoom.d.ts.map +1 -1
- package/interaction/Draw.d.ts +6 -6
- package/interaction/Draw.d.ts.map +1 -1
- package/interaction/Extent.d.ts +2 -2
- package/interaction/Extent.d.ts.map +1 -1
- package/interaction/Extent.js +2 -1
- package/interaction/Interaction.d.ts +1 -1
- package/interaction/Interaction.d.ts.map +1 -1
- package/interaction/KeyboardPan.d.ts +1 -1
- package/interaction/KeyboardPan.d.ts.map +1 -1
- package/interaction/KeyboardPan.js +9 -9
- package/interaction/KeyboardZoom.d.ts +1 -1
- package/interaction/KeyboardZoom.d.ts.map +1 -1
- package/interaction/Link.d.ts +1 -1
- package/interaction/Link.d.ts.map +1 -1
- package/interaction/Modify.d.ts +6 -6
- package/interaction/Modify.d.ts.map +1 -1
- package/interaction/Modify.js +6 -1
- package/interaction/MouseWheelZoom.d.ts +1 -1
- package/interaction/MouseWheelZoom.d.ts.map +1 -1
- package/interaction/PinchRotate.d.ts +1 -1
- package/interaction/PinchRotate.d.ts.map +1 -1
- package/interaction/PinchZoom.d.ts +1 -1
- package/interaction/PinchZoom.d.ts.map +1 -1
- package/interaction/Pointer.d.ts +1 -1
- package/interaction/Pointer.d.ts.map +1 -1
- package/interaction/Select.d.ts +5 -5
- package/interaction/Select.d.ts.map +1 -1
- package/interaction/Snap.d.ts +1 -1
- package/interaction/Snap.d.ts.map +1 -1
- package/interaction/Snap.js +10 -4
- package/interaction/Translate.d.ts +4 -4
- package/interaction/Translate.d.ts.map +1 -1
- package/interaction/Translate.js +18 -3
- package/interaction/defaults.d.ts +1 -1
- package/interaction/defaults.d.ts.map +1 -1
- package/interaction.d.ts +1 -0
- package/interaction.js +1 -0
- package/layer/Base.d.ts +4 -3
- package/layer/Base.d.ts.map +1 -1
- package/layer/Base.js +3 -2
- package/layer/BaseImage.d.ts +1 -1
- package/layer/BaseImage.d.ts.map +1 -1
- package/layer/BaseTile.d.ts +1 -1
- package/layer/BaseTile.d.ts.map +1 -1
- package/layer/BaseVector.d.ts +10 -4
- package/layer/BaseVector.d.ts.map +1 -1
- package/layer/BaseVector.js +9 -3
- package/layer/Graticule.d.ts +6 -6
- package/layer/Graticule.d.ts.map +1 -1
- package/layer/Group.d.ts +4 -4
- package/layer/Group.d.ts.map +1 -1
- package/layer/Heatmap.d.ts +2 -2
- package/layer/Heatmap.d.ts.map +1 -1
- package/layer/Image.d.ts +2 -2
- package/layer/Image.d.ts.map +1 -1
- package/layer/Layer.d.ts +14 -11
- package/layer/Layer.d.ts.map +1 -1
- package/layer/Layer.js +28 -8
- package/layer/MapboxVector.d.ts +1 -1
- package/layer/MapboxVector.d.ts.map +1 -1
- package/layer/Tile.d.ts +2 -2
- package/layer/Tile.d.ts.map +1 -1
- package/layer/Vector.d.ts +2 -2
- package/layer/Vector.d.ts.map +1 -1
- package/layer/VectorImage.d.ts +2 -2
- package/layer/VectorImage.d.ts.map +1 -1
- package/layer/VectorTile.d.ts +2 -2
- package/layer/VectorTile.d.ts.map +1 -1
- package/layer/WebGLPoints.d.ts +4 -4
- package/layer/WebGLPoints.d.ts.map +1 -1
- package/layer/WebGLPoints.js +13 -4
- package/layer/WebGLTile.d.ts +9 -2
- package/layer/WebGLTile.d.ts.map +1 -1
- package/layer/WebGLTile.js +6 -6
- package/package.json +2 -2
- package/proj/proj4.d.ts +2 -2
- package/proj/proj4.d.ts.map +1 -1
- package/proj/proj4.js +1 -1
- package/proj.d.ts +9 -9
- package/proj.d.ts.map +1 -1
- package/proj.js +9 -8
- package/render/Box.d.ts +1 -1
- package/render/Box.d.ts.map +1 -1
- package/render/Event.d.ts +1 -1
- package/render/Event.d.ts.map +1 -1
- package/render/Feature.d.ts +7 -7
- package/render/Feature.d.ts.map +1 -1
- package/render/canvas/Builder.d.ts +1 -1
- package/render/canvas/Builder.d.ts.map +1 -1
- package/render/canvas/ImageBuilder.d.ts +1 -1
- package/render/canvas/ImageBuilder.d.ts.map +1 -1
- package/render/canvas/Immediate.d.ts +1 -1
- package/render/canvas/Immediate.d.ts.map +1 -1
- package/render/canvas/Immediate.js +9 -1
- package/render/canvas/LineStringBuilder.d.ts +1 -1
- package/render/canvas/LineStringBuilder.d.ts.map +1 -1
- package/render/canvas/PolygonBuilder.d.ts +1 -1
- package/render/canvas/PolygonBuilder.d.ts.map +1 -1
- package/render/canvas/TextBuilder.d.ts +1 -1
- package/render/canvas/TextBuilder.d.ts.map +1 -1
- package/render/canvas.d.ts +1 -1
- package/render/canvas.d.ts.map +1 -1
- package/render/webgl/MixedGeometryBatch.d.ts +37 -131
- package/render/webgl/MixedGeometryBatch.d.ts.map +1 -1
- package/render/webgl/MixedGeometryBatch.js +230 -147
- package/render/webgl/VectorStyleRenderer.d.ts +256 -0
- package/render/webgl/VectorStyleRenderer.d.ts.map +1 -0
- package/render/webgl/VectorStyleRenderer.js +440 -0
- package/render/webgl/constants.d.ts +1 -1
- package/render/webgl/constants.js +1 -1
- package/render/webgl/renderinstructions.d.ts +36 -0
- package/render/webgl/renderinstructions.d.ts.map +1 -0
- package/render/webgl/renderinstructions.js +241 -0
- package/render/webgl/utils.d.ts +4 -4
- package/render/webgl/utils.d.ts.map +1 -1
- package/render/webgl/utils.js +9 -9
- package/render.d.ts +1 -1
- package/render.d.ts.map +1 -1
- package/renderer/Composite.d.ts +1 -1
- package/renderer/Composite.d.ts.map +1 -1
- package/renderer/Layer.d.ts +1 -1
- package/renderer/Layer.d.ts.map +1 -1
- package/renderer/Map.d.ts +1 -1
- package/renderer/Map.d.ts.map +1 -1
- package/renderer/canvas/ImageLayer.d.ts +1 -1
- package/renderer/canvas/ImageLayer.d.ts.map +1 -1
- package/renderer/canvas/Layer.d.ts +1 -1
- package/renderer/canvas/Layer.d.ts.map +1 -1
- package/renderer/canvas/TileLayer.d.ts +1 -1
- package/renderer/canvas/TileLayer.d.ts.map +1 -1
- package/renderer/canvas/VectorImageLayer.d.ts +1 -1
- package/renderer/canvas/VectorImageLayer.d.ts.map +1 -1
- package/renderer/canvas/VectorLayer.d.ts +3 -3
- package/renderer/canvas/VectorLayer.d.ts.map +1 -1
- package/renderer/canvas/VectorTileLayer.d.ts +2 -2
- package/renderer/canvas/VectorTileLayer.d.ts.map +1 -1
- package/renderer/webgl/Layer.d.ts +2 -2
- package/renderer/webgl/Layer.d.ts.map +1 -1
- package/renderer/webgl/PointsLayer.d.ts +3 -3
- package/renderer/webgl/PointsLayer.d.ts.map +1 -1
- package/renderer/webgl/PointsLayer.js +5 -8
- package/renderer/webgl/TileLayer.d.ts +32 -99
- package/renderer/webgl/TileLayer.d.ts.map +1 -1
- package/renderer/webgl/TileLayer.js +103 -644
- package/renderer/webgl/TileLayerBase.d.ts +194 -0
- package/renderer/webgl/TileLayerBase.d.ts.map +1 -0
- package/renderer/webgl/TileLayerBase.js +750 -0
- package/renderer/webgl/VectorLayer.d.ts +59 -60
- package/renderer/webgl/VectorLayer.d.ts.map +1 -1
- package/renderer/webgl/VectorLayer.js +118 -156
- package/renderer/webgl/VectorTileLayer.d.ts +87 -0
- package/renderer/webgl/VectorTileLayer.d.ts.map +1 -0
- package/renderer/webgl/VectorTileLayer.js +201 -0
- package/reproj/DataTile.d.ts +1 -1
- package/reproj/DataTile.d.ts.map +1 -1
- package/reproj/Image.d.ts +1 -1
- package/reproj/Image.d.ts.map +1 -1
- package/reproj/Image.js +22 -8
- package/reproj/Tile.d.ts +1 -1
- package/reproj/Tile.d.ts.map +1 -1
- package/reproj/Triangulation.js +2 -2
- package/source/BingMaps.d.ts +1 -1
- package/source/BingMaps.d.ts.map +1 -1
- package/source/CartoDB.d.ts +1 -1
- package/source/CartoDB.d.ts.map +1 -1
- package/source/Cluster.d.ts +3 -3
- package/source/Cluster.d.ts.map +1 -1
- package/source/DataTile.d.ts +4 -4
- package/source/DataTile.d.ts.map +1 -1
- package/source/DataTile.js +1 -1
- package/source/GeoTIFF.d.ts +1 -1
- package/source/GeoTIFF.d.ts.map +1 -1
- package/source/IIIF.d.ts +1 -1
- package/source/IIIF.d.ts.map +1 -1
- package/source/Image.d.ts +2 -2
- package/source/Image.d.ts.map +1 -1
- package/source/ImageArcGISRest.d.ts +1 -1
- package/source/ImageArcGISRest.d.ts.map +1 -1
- package/source/ImageCanvas.d.ts +1 -1
- package/source/ImageCanvas.d.ts.map +1 -1
- package/source/ImageMapGuide.d.ts +1 -1
- package/source/ImageMapGuide.d.ts.map +1 -1
- package/source/ImageStatic.d.ts +1 -1
- package/source/ImageStatic.d.ts.map +1 -1
- package/source/ImageWMS.d.ts +1 -1
- package/source/ImageWMS.d.ts.map +1 -1
- package/source/OGCMapTile.d.ts +1 -1
- package/source/OGCMapTile.d.ts.map +1 -1
- package/source/OGCVectorTile.d.ts +1 -1
- package/source/OGCVectorTile.d.ts.map +1 -1
- package/source/OSM.d.ts +1 -1
- package/source/OSM.d.ts.map +1 -1
- package/source/Raster.d.ts +3 -3
- package/source/Raster.d.ts.map +1 -1
- package/source/Source.d.ts +5 -5
- package/source/Source.d.ts.map +1 -1
- package/source/Source.js +2 -2
- package/source/Stamen.d.ts +1 -1
- package/source/Stamen.d.ts.map +1 -1
- package/source/Tile.d.ts +2 -2
- package/source/Tile.d.ts.map +1 -1
- package/source/TileArcGISRest.d.ts +1 -1
- package/source/TileArcGISRest.d.ts.map +1 -1
- package/source/TileDebug.d.ts +1 -1
- package/source/TileDebug.d.ts.map +1 -1
- package/source/TileImage.d.ts +4 -4
- package/source/TileImage.d.ts.map +1 -1
- package/source/TileJSON.d.ts +1 -1
- package/source/TileJSON.d.ts.map +1 -1
- package/source/TileWMS.d.ts +1 -1
- package/source/TileWMS.d.ts.map +1 -1
- package/source/UTFGrid.d.ts +2 -2
- package/source/UTFGrid.d.ts.map +1 -1
- package/source/UrlTile.d.ts +1 -1
- package/source/UrlTile.d.ts.map +1 -1
- package/source/Vector.d.ts +3 -3
- package/source/Vector.d.ts.map +1 -1
- package/source/Vector.js +6 -3
- package/source/VectorTile.d.ts +4 -4
- package/source/VectorTile.d.ts.map +1 -1
- package/source/WMTS.d.ts +1 -1
- package/source/WMTS.d.ts.map +1 -1
- package/source/XYZ.d.ts +1 -1
- package/source/XYZ.d.ts.map +1 -1
- package/source/Zoomify.d.ts +2 -2
- package/source/Zoomify.d.ts.map +1 -1
- package/structs/LRUCache.d.ts.map +1 -1
- package/structs/LRUCache.js +2 -1
- package/style/Circle.d.ts +1 -1
- package/style/Circle.d.ts.map +1 -1
- package/style/Icon.d.ts +4 -78
- package/style/Icon.d.ts.map +1 -1
- package/style/Icon.js +89 -86
- package/style/IconImage.d.ts +1 -1
- package/style/IconImage.d.ts.map +1 -1
- package/style/RegularShape.d.ts +1 -1
- package/style/RegularShape.d.ts.map +1 -1
- package/style/RegularShape.js +1 -1
- package/style/Style.d.ts +2 -2
- package/style/Style.d.ts.map +1 -1
- package/style/Text.d.ts +5 -5
- package/style/Text.d.ts.map +1 -1
- package/style/Text.js +2 -2
- package/style/expressions.d.ts +42 -17
- package/style/expressions.d.ts.map +1 -1
- package/style/expressions.js +258 -118
- package/style/flat.d.ts +14 -0
- package/style/flat.d.ts.map +1 -1
- package/style/flat.js +6 -0
- package/style/literal.d.ts +204 -3
- package/style/literal.d.ts.map +1 -1
- package/style/literal.js +106 -3
- package/tilegrid/TileGrid.d.ts +1 -9
- package/tilegrid/TileGrid.d.ts.map +1 -1
- package/tilegrid/TileGrid.js +0 -18
- package/tilegrid/WMTS.d.ts +1 -1
- package/tilegrid/WMTS.d.ts.map +1 -1
- package/tilegrid.d.ts +1 -1
- package/tilegrid.d.ts.map +1 -1
- package/util.d.ts.map +1 -1
- package/util.js +1 -1
- package/webgl/BaseTileRepresentation.d.ts +72 -0
- package/webgl/BaseTileRepresentation.d.ts.map +1 -0
- package/webgl/BaseTileRepresentation.js +108 -0
- package/webgl/Buffer.d.ts +9 -6
- package/webgl/Buffer.d.ts.map +1 -1
- package/webgl/Buffer.js +6 -0
- package/webgl/Helper.d.ts +19 -12
- package/webgl/Helper.d.ts.map +1 -1
- package/webgl/Helper.js +79 -71
- package/webgl/ShaderBuilder.d.ts +75 -65
- package/webgl/ShaderBuilder.d.ts.map +1 -1
- package/webgl/ShaderBuilder.js +382 -241
- package/webgl/TileGeometry.d.ts +29 -0
- package/webgl/TileGeometry.d.ts.map +1 -0
- package/webgl/TileGeometry.js +73 -0
- package/webgl/TileTexture.d.ts +8 -51
- package/webgl/TileTexture.d.ts.map +1 -1
- package/webgl/TileTexture.js +11 -62
- package/webgl/styleparser.d.ts +61 -0
- package/webgl/styleparser.d.ts.map +1 -0
- package/webgl/styleparser.js +406 -0
- package/worker/webgl.js +1 -1
- package/events/KeyCode.d.ts +0 -8
- package/events/KeyCode.d.ts.map +0 -1
- package/events/KeyCode.js +0 -14
- package/render/webgl/BatchRenderer.d.ts +0 -92
- package/render/webgl/BatchRenderer.d.ts.map +0 -1
- package/render/webgl/BatchRenderer.js +0 -200
- package/render/webgl/LineStringBatchRenderer.d.ts +0 -27
- package/render/webgl/LineStringBatchRenderer.d.ts.map +0 -1
- package/render/webgl/LineStringBatchRenderer.js +0 -114
- package/render/webgl/PointBatchRenderer.d.ts +0 -26
- package/render/webgl/PointBatchRenderer.d.ts.map +0 -1
- package/render/webgl/PointBatchRenderer.js +0 -95
- package/render/webgl/PolygonBatchRenderer.d.ts +0 -25
- package/render/webgl/PolygonBatchRenderer.d.ts.map +0 -1
- package/render/webgl/PolygonBatchRenderer.js +0 -115
- package/renderer/webgl/shaders.d.ts +0 -43
- package/renderer/webgl/shaders.d.ts.map +0 -1
- package/renderer/webgl/shaders.js +0 -198
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module ol/webgl/BaseTileRepresentation
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import EventTarget from '../events/Target.js';
|
|
6
|
+
import EventType from '../events/EventType.js';
|
|
7
|
+
import ImageTile from '../ImageTile.js';
|
|
8
|
+
import TileState from '../TileState.js';
|
|
9
|
+
import {abstract} from '../util.js';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @typedef {import("../Tile.js").default} BaseTileType
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @template {BaseTileType} TileType
|
|
17
|
+
* @typedef {Object} TileRepresentationOptions
|
|
18
|
+
* @property {TileType} tile The tile.
|
|
19
|
+
* @property {import("../tilegrid/TileGrid.js").default} grid Tile grid.
|
|
20
|
+
* @property {import("../webgl/Helper.js").default} helper WebGL helper.
|
|
21
|
+
* @property {number} [gutter=0] The size in pixels of the gutter around image tiles to ignore.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @classdesc
|
|
26
|
+
* Base class for representing a tile in a webgl context
|
|
27
|
+
* @template {import("../Tile.js").default} TileType
|
|
28
|
+
* @abstract
|
|
29
|
+
*/
|
|
30
|
+
class BaseTileRepresentation extends EventTarget {
|
|
31
|
+
/**
|
|
32
|
+
* @param {TileRepresentationOptions<TileType>} options The tile representation options.
|
|
33
|
+
*/
|
|
34
|
+
constructor(options) {
|
|
35
|
+
super();
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @type {TileType}
|
|
39
|
+
*/
|
|
40
|
+
this.tile;
|
|
41
|
+
this.handleTileChange_ = this.handleTileChange_.bind(this);
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @type {number}
|
|
45
|
+
* @protected
|
|
46
|
+
*/
|
|
47
|
+
this.gutter_ = options.gutter || 0;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* @type {import("../webgl/Helper.js").default}
|
|
51
|
+
* @protected
|
|
52
|
+
*/
|
|
53
|
+
this.helper_ = options.helper;
|
|
54
|
+
|
|
55
|
+
this.loaded = false;
|
|
56
|
+
this.ready = false;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @param {TileType} tile Tile.
|
|
61
|
+
*/
|
|
62
|
+
setTile(tile) {
|
|
63
|
+
if (tile !== this.tile) {
|
|
64
|
+
if (this.tile) {
|
|
65
|
+
this.tile.removeEventListener(EventType.CHANGE, this.handleTileChange_);
|
|
66
|
+
}
|
|
67
|
+
this.tile = tile;
|
|
68
|
+
this.loaded = tile.getState() === TileState.LOADED;
|
|
69
|
+
if (this.loaded) {
|
|
70
|
+
this.uploadTile();
|
|
71
|
+
} else {
|
|
72
|
+
if (tile instanceof ImageTile) {
|
|
73
|
+
const image = tile.getImage();
|
|
74
|
+
if (image instanceof Image && !image.crossOrigin) {
|
|
75
|
+
image.crossOrigin = 'anonymous';
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
tile.addEventListener(EventType.CHANGE, this.handleTileChange_);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* @abstract
|
|
85
|
+
* @protected
|
|
86
|
+
*/
|
|
87
|
+
uploadTile() {
|
|
88
|
+
abstract();
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
setReady() {
|
|
92
|
+
this.ready = true;
|
|
93
|
+
this.dispatchEvent(EventType.CHANGE);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
handleTileChange_() {
|
|
97
|
+
if (this.tile.getState() === TileState.LOADED) {
|
|
98
|
+
this.loaded = true;
|
|
99
|
+
this.uploadTile();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
disposeInternal() {
|
|
104
|
+
this.tile.removeEventListener(EventType.CHANGE, this.handleTileChange_);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export default BaseTileRepresentation;
|
package/webgl/Buffer.d.ts
CHANGED
|
@@ -15,9 +15,9 @@ export namespace BufferUsage {
|
|
|
15
15
|
export { DYNAMIC_DRAW };
|
|
16
16
|
}
|
|
17
17
|
export default WebGLArrayBuffer;
|
|
18
|
-
import { STATIC_DRAW } from
|
|
19
|
-
import { STREAM_DRAW } from
|
|
20
|
-
import { DYNAMIC_DRAW } from
|
|
18
|
+
import { STATIC_DRAW } from '../webgl.js';
|
|
19
|
+
import { STREAM_DRAW } from '../webgl.js';
|
|
20
|
+
import { DYNAMIC_DRAW } from '../webgl.js';
|
|
21
21
|
/**
|
|
22
22
|
* @classdesc
|
|
23
23
|
* Object used to store an array of data as well as usage information for that data.
|
|
@@ -59,19 +59,22 @@ declare class WebGLArrayBuffer {
|
|
|
59
59
|
/**
|
|
60
60
|
* Populates the buffer with an array of the given size (all values will be zeroes).
|
|
61
61
|
* @param {number} size Array size
|
|
62
|
+
* @return {WebGLArrayBuffer} This
|
|
62
63
|
*/
|
|
63
|
-
ofSize(size: number):
|
|
64
|
+
ofSize(size: number): WebGLArrayBuffer;
|
|
64
65
|
/**
|
|
65
66
|
* Populates the buffer with an array of the given size.
|
|
66
67
|
* @param {Array<number>} array Numerical array
|
|
68
|
+
* @return {WebGLArrayBuffer} This
|
|
67
69
|
*/
|
|
68
|
-
fromArray(array: Array<number>):
|
|
70
|
+
fromArray(array: Array<number>): WebGLArrayBuffer;
|
|
69
71
|
/**
|
|
70
72
|
* Populates the buffer with a raw binary array buffer.
|
|
71
73
|
* @param {ArrayBuffer} buffer Raw binary buffer to populate the array with. Note that this buffer must have been
|
|
72
74
|
* initialized for the same typed array class.
|
|
75
|
+
* @return {WebGLArrayBuffer} This
|
|
73
76
|
*/
|
|
74
|
-
fromArrayBuffer(buffer: ArrayBuffer):
|
|
77
|
+
fromArrayBuffer(buffer: ArrayBuffer): WebGLArrayBuffer;
|
|
75
78
|
/**
|
|
76
79
|
* @return {number} Buffer type.
|
|
77
80
|
*/
|
package/webgl/Buffer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Buffer.d.ts","sourceRoot":"","sources":["Buffer.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Buffer.d.ts","sourceRoot":"","sources":["Buffer.js"],"names":[],"mappings":"AAiIA;;;;GAIG;AACH,2CAHW,MAAM,GACL,uBAAuB,GAAC,sBAAsB,CAWzD;;;;;0BAhIS,MAAM;;;;;;;4BANT,aAAa;4BAAb,aAAa;6BAAb,aAAa;AAcpB;;;;;;;;;;;;;;;GAeG;AACH;IACE;;;;OAIG;IACH,kBAJW,MAAM,8BAwBhB;IAnBC;;;OAGG;IACH,cAAiB;IAEjB;;;OAGG;IACH,aAAgB;IAIhB;;;OAGG;IACH,cAAkE;IAGpE;;;;OAIG;IACH,aAHW,MAAM,GACL,gBAAgB,CAK3B;IAED;;;;OAIG;IACH,iBAHW,MAAM,MAAM,CAAC,GACZ,gBAAgB,CAK3B;IAED;;;;;OAKG;IACH,wBAJW,WAAW,GAEV,gBAAgB,CAK3B;IAED;;OAEG;IACH,WAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,YAFY,YAAY,GAAC,WAAW,CAInC;IAED;;OAEG;IACH,YAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,WAFY,MAAM,CAIjB;CACF"}
|
package/webgl/Buffer.js
CHANGED
|
@@ -68,26 +68,32 @@ class WebGLArrayBuffer {
|
|
|
68
68
|
/**
|
|
69
69
|
* Populates the buffer with an array of the given size (all values will be zeroes).
|
|
70
70
|
* @param {number} size Array size
|
|
71
|
+
* @return {WebGLArrayBuffer} This
|
|
71
72
|
*/
|
|
72
73
|
ofSize(size) {
|
|
73
74
|
this.array = new (getArrayClassForType(this.type))(size);
|
|
75
|
+
return this;
|
|
74
76
|
}
|
|
75
77
|
|
|
76
78
|
/**
|
|
77
79
|
* Populates the buffer with an array of the given size.
|
|
78
80
|
* @param {Array<number>} array Numerical array
|
|
81
|
+
* @return {WebGLArrayBuffer} This
|
|
79
82
|
*/
|
|
80
83
|
fromArray(array) {
|
|
81
84
|
this.array = getArrayClassForType(this.type).from(array);
|
|
85
|
+
return this;
|
|
82
86
|
}
|
|
83
87
|
|
|
84
88
|
/**
|
|
85
89
|
* Populates the buffer with a raw binary array buffer.
|
|
86
90
|
* @param {ArrayBuffer} buffer Raw binary buffer to populate the array with. Note that this buffer must have been
|
|
87
91
|
* initialized for the same typed array class.
|
|
92
|
+
* @return {WebGLArrayBuffer} This
|
|
88
93
|
*/
|
|
89
94
|
fromArrayBuffer(buffer) {
|
|
90
95
|
this.array = new (getArrayClassForType(this.type))(buffer);
|
|
96
|
+
return this;
|
|
91
97
|
}
|
|
92
98
|
|
|
93
99
|
/**
|
package/webgl/Helper.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export namespace DefaultUniform {
|
|
|
24
24
|
const TIME: string;
|
|
25
25
|
const ZOOM: string;
|
|
26
26
|
const RESOLUTION: string;
|
|
27
|
-
const
|
|
27
|
+
const VIEWPORT_SIZE_PX: string;
|
|
28
28
|
const PIXEL_RATIO: string;
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
@@ -140,10 +140,10 @@ export type CanvasCacheItem = {
|
|
|
140
140
|
*/
|
|
141
141
|
users: number;
|
|
142
142
|
};
|
|
143
|
-
import { UNSIGNED_BYTE } from
|
|
144
|
-
import { UNSIGNED_SHORT } from
|
|
145
|
-
import { UNSIGNED_INT } from
|
|
146
|
-
import { FLOAT } from
|
|
143
|
+
import { UNSIGNED_BYTE } from '../webgl.js';
|
|
144
|
+
import { UNSIGNED_SHORT } from '../webgl.js';
|
|
145
|
+
import { UNSIGNED_INT } from '../webgl.js';
|
|
146
|
+
import { FLOAT } from '../webgl.js';
|
|
147
147
|
/**
|
|
148
148
|
* @classdesc
|
|
149
149
|
* This class is intended to provide low-level functions related to WebGL rendering, so that accessing
|
|
@@ -324,14 +324,14 @@ declare class WebGLHelper extends Disposable {
|
|
|
324
324
|
private tmpMat4_;
|
|
325
325
|
/**
|
|
326
326
|
* @private
|
|
327
|
-
* @type {Object<string, WebGLUniformLocation
|
|
327
|
+
* @type {Object<string, Object<string, WebGLUniformLocation>>}
|
|
328
328
|
*/
|
|
329
|
-
private
|
|
329
|
+
private uniformLocationsByProgram_;
|
|
330
330
|
/**
|
|
331
331
|
* @private
|
|
332
|
-
* @type {Object<string, number
|
|
332
|
+
* @type {Object<string, Object<string, number>>}
|
|
333
333
|
*/
|
|
334
|
-
private
|
|
334
|
+
private attribLocationsByProgram_;
|
|
335
335
|
/**
|
|
336
336
|
* Holds info about custom uniforms used in the post processing pass.
|
|
337
337
|
* If the uniform is a texture, the WebGL Texture object will be stored here.
|
|
@@ -400,6 +400,13 @@ declare class WebGLHelper extends Disposable {
|
|
|
400
400
|
* @param {boolean} [disableAlphaBlend] If true, no alpha blending will happen.
|
|
401
401
|
*/
|
|
402
402
|
prepareDraw(frameState: import("../Map.js").FrameState, disableAlphaBlend?: boolean | undefined): void;
|
|
403
|
+
/**
|
|
404
|
+
* Prepare a program to use a texture.
|
|
405
|
+
* @param {WebGLTexture} texture The texture.
|
|
406
|
+
* @param {number} slot The texture slot.
|
|
407
|
+
* @param {string} uniformName The corresponding uniform name.
|
|
408
|
+
*/
|
|
409
|
+
bindTexture(texture: WebGLTexture, slot: number, uniformName: string): void;
|
|
403
410
|
/**
|
|
404
411
|
* Clear the render target & bind it for future draw operations.
|
|
405
412
|
* This is similar to `prepareDraw`, only post processes will not be applied.
|
|
@@ -478,8 +485,8 @@ declare class WebGLHelper extends Disposable {
|
|
|
478
485
|
*/
|
|
479
486
|
getAttributeLocation(name: string): number;
|
|
480
487
|
/**
|
|
481
|
-
*
|
|
482
|
-
* The resulting transform can be used to convert world space coordinates to view coordinates.
|
|
488
|
+
* Sets the given transform to apply the rotation/translation/scaling of the given frame state.
|
|
489
|
+
* The resulting transform can be used to convert world space coordinates to view coordinates in the [-1, 1] range.
|
|
483
490
|
* @param {import("../Map.js").FrameState} frameState Frame state.
|
|
484
491
|
* @param {import("../transform").Transform} transform Transform to update.
|
|
485
492
|
* @return {import("../transform").Transform} The updated transform object.
|
|
@@ -549,5 +556,5 @@ declare class WebGLHelper extends Disposable {
|
|
|
549
556
|
*/
|
|
550
557
|
createTexture(size: Array<number>, data?: HTMLCanvasElement | HTMLImageElement | ImageData | undefined, texture?: WebGLTexture | undefined): WebGLTexture;
|
|
551
558
|
}
|
|
552
|
-
import Disposable from
|
|
559
|
+
import Disposable from '../Disposable.js';
|
|
553
560
|
//# sourceMappingURL=Helper.d.ts.map
|
package/webgl/Helper.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Helper.d.ts","sourceRoot":"","sources":["Helper.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Helper.d.ts","sourceRoot":"","sources":["Helper.js"],"names":[],"mappings":"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"}
|
package/webgl/Helper.js
CHANGED
|
@@ -49,7 +49,7 @@ export const DefaultUniform = {
|
|
|
49
49
|
TIME: 'u_time',
|
|
50
50
|
ZOOM: 'u_zoom',
|
|
51
51
|
RESOLUTION: 'u_resolution',
|
|
52
|
-
|
|
52
|
+
VIEWPORT_SIZE_PX: 'u_viewportSizePx',
|
|
53
53
|
PIXEL_RATIO: 'u_pixelRatio',
|
|
54
54
|
};
|
|
55
55
|
|
|
@@ -389,15 +389,15 @@ class WebGLHelper extends Disposable {
|
|
|
389
389
|
|
|
390
390
|
/**
|
|
391
391
|
* @private
|
|
392
|
-
* @type {Object<string, WebGLUniformLocation
|
|
392
|
+
* @type {Object<string, Object<string, WebGLUniformLocation>>}
|
|
393
393
|
*/
|
|
394
|
-
this.
|
|
394
|
+
this.uniformLocationsByProgram_ = {};
|
|
395
395
|
|
|
396
396
|
/**
|
|
397
397
|
* @private
|
|
398
|
-
* @type {Object<string, number
|
|
398
|
+
* @type {Object<string, Object<string, number>>}
|
|
399
399
|
*/
|
|
400
|
-
this.
|
|
400
|
+
this.attribLocationsByProgram_ = {};
|
|
401
401
|
|
|
402
402
|
/**
|
|
403
403
|
* Holds info about custom uniforms used in the post processing pass.
|
|
@@ -410,8 +410,6 @@ class WebGLHelper extends Disposable {
|
|
|
410
410
|
this.setUniforms(options.uniforms);
|
|
411
411
|
}
|
|
412
412
|
|
|
413
|
-
const gl = this.getGL();
|
|
414
|
-
|
|
415
413
|
/**
|
|
416
414
|
* An array of PostProcessingPass objects is kept in this variable, built from the steps provided in the
|
|
417
415
|
* options. If no post process was given, a default one is used (so as not to have to make an exception to
|
|
@@ -420,16 +418,17 @@ class WebGLHelper extends Disposable {
|
|
|
420
418
|
* @private
|
|
421
419
|
*/
|
|
422
420
|
this.postProcessPasses_ = options.postProcesses
|
|
423
|
-
? options.postProcesses.map(
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
421
|
+
? options.postProcesses.map(
|
|
422
|
+
(options) =>
|
|
423
|
+
new WebGLPostProcessingPass({
|
|
424
|
+
webGlContext: this.gl_,
|
|
425
|
+
scaleRatio: options.scaleRatio,
|
|
426
|
+
vertexShader: options.vertexShader,
|
|
427
|
+
fragmentShader: options.fragmentShader,
|
|
428
|
+
uniforms: options.uniforms,
|
|
429
|
+
})
|
|
430
|
+
)
|
|
431
|
+
: [new WebGLPostProcessingPass({webGlContext: this.gl_})];
|
|
433
432
|
|
|
434
433
|
/**
|
|
435
434
|
* @type {string|null}
|
|
@@ -455,7 +454,6 @@ class WebGLHelper extends Disposable {
|
|
|
455
454
|
value: uniforms[name],
|
|
456
455
|
});
|
|
457
456
|
}
|
|
458
|
-
this.uniformLocations_ = {};
|
|
459
457
|
}
|
|
460
458
|
|
|
461
459
|
/**
|
|
@@ -488,7 +486,7 @@ class WebGLHelper extends Disposable {
|
|
|
488
486
|
* @param {import("./Buffer").default} buffer Buffer.
|
|
489
487
|
*/
|
|
490
488
|
bindBuffer(buffer) {
|
|
491
|
-
const gl = this.
|
|
489
|
+
const gl = this.gl_;
|
|
492
490
|
const bufferKey = getUid(buffer);
|
|
493
491
|
let bufferCache = this.bufferCache_[bufferKey];
|
|
494
492
|
if (!bufferCache) {
|
|
@@ -508,7 +506,7 @@ class WebGLHelper extends Disposable {
|
|
|
508
506
|
* @param {import("./Buffer").default} buffer Buffer.
|
|
509
507
|
*/
|
|
510
508
|
flushBufferData(buffer) {
|
|
511
|
-
const gl = this.
|
|
509
|
+
const gl = this.gl_;
|
|
512
510
|
this.bindBuffer(buffer);
|
|
513
511
|
gl.bufferData(buffer.getType(), buffer.getArray(), buffer.getUsage());
|
|
514
512
|
}
|
|
@@ -517,7 +515,7 @@ class WebGLHelper extends Disposable {
|
|
|
517
515
|
* @param {import("./Buffer.js").default} buf Buffer.
|
|
518
516
|
*/
|
|
519
517
|
deleteBuffer(buf) {
|
|
520
|
-
const gl = this.
|
|
518
|
+
const gl = this.gl_;
|
|
521
519
|
const bufferKey = getUid(buf);
|
|
522
520
|
const bufferCacheEntry = this.bufferCache_[bufferKey];
|
|
523
521
|
if (bufferCacheEntry && !gl.isContextLost()) {
|
|
@@ -553,15 +551,20 @@ class WebGLHelper extends Disposable {
|
|
|
553
551
|
* @param {boolean} [disableAlphaBlend] If true, no alpha blending will happen.
|
|
554
552
|
*/
|
|
555
553
|
prepareDraw(frameState, disableAlphaBlend) {
|
|
556
|
-
const gl = this.
|
|
554
|
+
const gl = this.gl_;
|
|
557
555
|
const canvas = this.getCanvas();
|
|
558
556
|
const size = frameState.size;
|
|
559
557
|
const pixelRatio = frameState.pixelRatio;
|
|
560
558
|
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
559
|
+
if (
|
|
560
|
+
canvas.width !== size[0] * pixelRatio ||
|
|
561
|
+
canvas.height !== size[1] * pixelRatio
|
|
562
|
+
) {
|
|
563
|
+
canvas.width = size[0] * pixelRatio;
|
|
564
|
+
canvas.height = size[1] * pixelRatio;
|
|
565
|
+
canvas.style.width = size[0] + 'px';
|
|
566
|
+
canvas.style.height = size[1] + 'px';
|
|
567
|
+
}
|
|
565
568
|
|
|
566
569
|
// loop backwards in post processes list
|
|
567
570
|
for (let i = this.postProcessPasses_.length - 1; i >= 0; i--) {
|
|
@@ -577,6 +580,19 @@ class WebGLHelper extends Disposable {
|
|
|
577
580
|
gl.blendFunc(gl.ONE, disableAlphaBlend ? gl.ZERO : gl.ONE_MINUS_SRC_ALPHA);
|
|
578
581
|
}
|
|
579
582
|
|
|
583
|
+
/**
|
|
584
|
+
* Prepare a program to use a texture.
|
|
585
|
+
* @param {WebGLTexture} texture The texture.
|
|
586
|
+
* @param {number} slot The texture slot.
|
|
587
|
+
* @param {string} uniformName The corresponding uniform name.
|
|
588
|
+
*/
|
|
589
|
+
bindTexture(texture, slot, uniformName) {
|
|
590
|
+
const gl = this.gl_;
|
|
591
|
+
gl.activeTexture(gl.TEXTURE0 + slot);
|
|
592
|
+
gl.bindTexture(gl.TEXTURE_2D, texture);
|
|
593
|
+
gl.uniform1i(this.getUniformLocation(uniformName), slot);
|
|
594
|
+
}
|
|
595
|
+
|
|
580
596
|
/**
|
|
581
597
|
* Clear the render target & bind it for future draw operations.
|
|
582
598
|
* This is similar to `prepareDraw`, only post processes will not be applied.
|
|
@@ -586,7 +602,7 @@ class WebGLHelper extends Disposable {
|
|
|
586
602
|
* @param {boolean} [disableAlphaBlend] If true, no alpha blending will happen.
|
|
587
603
|
*/
|
|
588
604
|
prepareDrawToRenderTarget(frameState, renderTarget, disableAlphaBlend) {
|
|
589
|
-
const gl = this.
|
|
605
|
+
const gl = this.gl_;
|
|
590
606
|
const size = renderTarget.getSize();
|
|
591
607
|
|
|
592
608
|
gl.bindFramebuffer(gl.FRAMEBUFFER, renderTarget.getFramebuffer());
|
|
@@ -604,7 +620,7 @@ class WebGLHelper extends Disposable {
|
|
|
604
620
|
* @param {number} end End index.
|
|
605
621
|
*/
|
|
606
622
|
drawElements(start, end) {
|
|
607
|
-
const gl = this.
|
|
623
|
+
const gl = this.gl_;
|
|
608
624
|
this.getExtension('OES_element_index_uint');
|
|
609
625
|
|
|
610
626
|
const elementType = gl.UNSIGNED_INT;
|
|
@@ -691,7 +707,10 @@ class WebGLHelper extends Disposable {
|
|
|
691
707
|
frameState.viewState.resolution
|
|
692
708
|
);
|
|
693
709
|
this.setUniformFloatValue(DefaultUniform.PIXEL_RATIO, pixelRatio);
|
|
694
|
-
this.setUniformFloatVec2(DefaultUniform.
|
|
710
|
+
this.setUniformFloatVec2(DefaultUniform.VIEWPORT_SIZE_PX, [
|
|
711
|
+
size[0],
|
|
712
|
+
size[1],
|
|
713
|
+
]);
|
|
695
714
|
}
|
|
696
715
|
|
|
697
716
|
/**
|
|
@@ -699,7 +718,7 @@ class WebGLHelper extends Disposable {
|
|
|
699
718
|
* @param {import("../Map.js").FrameState} frameState Frame state.
|
|
700
719
|
*/
|
|
701
720
|
applyUniforms(frameState) {
|
|
702
|
-
const gl = this.
|
|
721
|
+
const gl = this.gl_;
|
|
703
722
|
|
|
704
723
|
let value;
|
|
705
724
|
let textureSlot = 0;
|
|
@@ -790,11 +809,9 @@ class WebGLHelper extends Disposable {
|
|
|
790
809
|
* @param {import("../Map.js").FrameState} frameState Frame state.
|
|
791
810
|
*/
|
|
792
811
|
useProgram(program, frameState) {
|
|
793
|
-
const gl = this.
|
|
812
|
+
const gl = this.gl_;
|
|
794
813
|
gl.useProgram(program);
|
|
795
814
|
this.currentProgram_ = program;
|
|
796
|
-
this.uniformLocations_ = {};
|
|
797
|
-
this.attribLocations_ = {};
|
|
798
815
|
this.applyFrameState(frameState);
|
|
799
816
|
this.applyUniforms(frameState);
|
|
800
817
|
}
|
|
@@ -809,7 +826,7 @@ class WebGLHelper extends Disposable {
|
|
|
809
826
|
* @return {WebGLShader} Shader object
|
|
810
827
|
*/
|
|
811
828
|
compileShader(source, type) {
|
|
812
|
-
const gl = this.
|
|
829
|
+
const gl = this.gl_;
|
|
813
830
|
const shader = gl.createShader(type);
|
|
814
831
|
gl.shaderSource(shader, source);
|
|
815
832
|
gl.compileShader(shader);
|
|
@@ -823,7 +840,7 @@ class WebGLHelper extends Disposable {
|
|
|
823
840
|
* @return {WebGLProgram} Program
|
|
824
841
|
*/
|
|
825
842
|
getProgram(fragmentShaderSource, vertexShaderSource) {
|
|
826
|
-
const gl = this.
|
|
843
|
+
const gl = this.gl_;
|
|
827
844
|
|
|
828
845
|
const fragmentShader = this.compileShader(
|
|
829
846
|
fragmentShaderSource,
|
|
@@ -857,8 +874,8 @@ class WebGLHelper extends Disposable {
|
|
|
857
874
|
gl.deleteShader(vertexShader);
|
|
858
875
|
|
|
859
876
|
if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
|
|
860
|
-
const message = `GL program linking failed: ${gl.
|
|
861
|
-
|
|
877
|
+
const message = `GL program linking failed: ${gl.getProgramInfoLog(
|
|
878
|
+
program
|
|
862
879
|
)}`;
|
|
863
880
|
throw new Error(message);
|
|
864
881
|
}
|
|
@@ -872,13 +889,15 @@ class WebGLHelper extends Disposable {
|
|
|
872
889
|
* @return {WebGLUniformLocation} uniformLocation
|
|
873
890
|
*/
|
|
874
891
|
getUniformLocation(name) {
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
892
|
+
const programUid = getUid(this.currentProgram_);
|
|
893
|
+
if (this.uniformLocationsByProgram_[programUid] === undefined) {
|
|
894
|
+
this.uniformLocationsByProgram_[programUid] = {};
|
|
895
|
+
}
|
|
896
|
+
if (this.uniformLocationsByProgram_[programUid][name] === undefined) {
|
|
897
|
+
this.uniformLocationsByProgram_[programUid][name] =
|
|
898
|
+
this.gl_.getUniformLocation(this.currentProgram_, name);
|
|
880
899
|
}
|
|
881
|
-
return this.
|
|
900
|
+
return this.uniformLocationsByProgram_[programUid][name];
|
|
882
901
|
}
|
|
883
902
|
|
|
884
903
|
/**
|
|
@@ -887,18 +906,20 @@ class WebGLHelper extends Disposable {
|
|
|
887
906
|
* @return {number} attribLocation
|
|
888
907
|
*/
|
|
889
908
|
getAttributeLocation(name) {
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
909
|
+
const programUid = getUid(this.currentProgram_);
|
|
910
|
+
if (this.attribLocationsByProgram_[programUid] === undefined) {
|
|
911
|
+
this.attribLocationsByProgram_[programUid] = {};
|
|
912
|
+
}
|
|
913
|
+
if (this.attribLocationsByProgram_[programUid][name] === undefined) {
|
|
914
|
+
this.attribLocationsByProgram_[programUid][name] =
|
|
915
|
+
this.gl_.getAttribLocation(this.currentProgram_, name);
|
|
895
916
|
}
|
|
896
|
-
return this.
|
|
917
|
+
return this.attribLocationsByProgram_[programUid][name];
|
|
897
918
|
}
|
|
898
919
|
|
|
899
920
|
/**
|
|
900
|
-
*
|
|
901
|
-
* The resulting transform can be used to convert world space coordinates to view coordinates.
|
|
921
|
+
* Sets the given transform to apply the rotation/translation/scaling of the given frame state.
|
|
922
|
+
* The resulting transform can be used to convert world space coordinates to view coordinates in the [-1, 1] range.
|
|
902
923
|
* @param {import("../Map.js").FrameState} frameState Frame state.
|
|
903
924
|
* @param {import("../transform").Transform} transform Transform to update.
|
|
904
925
|
* @return {import("../transform").Transform} The updated transform object.
|
|
@@ -908,8 +929,6 @@ class WebGLHelper extends Disposable {
|
|
|
908
929
|
const rotation = frameState.viewState.rotation;
|
|
909
930
|
const resolution = frameState.viewState.resolution;
|
|
910
931
|
const center = frameState.viewState.center;
|
|
911
|
-
|
|
912
|
-
resetTransform(transform);
|
|
913
932
|
composeTransform(
|
|
914
933
|
transform,
|
|
915
934
|
0,
|
|
@@ -929,7 +948,7 @@ class WebGLHelper extends Disposable {
|
|
|
929
948
|
* @param {number} value Value
|
|
930
949
|
*/
|
|
931
950
|
setUniformFloatValue(uniform, value) {
|
|
932
|
-
this.
|
|
951
|
+
this.gl_.uniform1f(this.getUniformLocation(uniform), value);
|
|
933
952
|
}
|
|
934
953
|
|
|
935
954
|
/**
|
|
@@ -938,7 +957,7 @@ class WebGLHelper extends Disposable {
|
|
|
938
957
|
* @param {Array<number>} value Array of length 4.
|
|
939
958
|
*/
|
|
940
959
|
setUniformFloatVec2(uniform, value) {
|
|
941
|
-
this.
|
|
960
|
+
this.gl_.uniform2fv(this.getUniformLocation(uniform), value);
|
|
942
961
|
}
|
|
943
962
|
|
|
944
963
|
/**
|
|
@@ -947,7 +966,7 @@ class WebGLHelper extends Disposable {
|
|
|
947
966
|
* @param {Array<number>} value Array of length 4.
|
|
948
967
|
*/
|
|
949
968
|
setUniformFloatVec4(uniform, value) {
|
|
950
|
-
this.
|
|
969
|
+
this.gl_.uniform4fv(this.getUniformLocation(uniform), value);
|
|
951
970
|
}
|
|
952
971
|
|
|
953
972
|
/**
|
|
@@ -956,11 +975,7 @@ class WebGLHelper extends Disposable {
|
|
|
956
975
|
* @param {Array<number>} value Matrix value
|
|
957
976
|
*/
|
|
958
977
|
setUniformMatrixValue(uniform, value) {
|
|
959
|
-
this.
|
|
960
|
-
this.getUniformLocation(uniform),
|
|
961
|
-
false,
|
|
962
|
-
value
|
|
963
|
-
);
|
|
978
|
+
this.gl_.uniformMatrix4fv(this.getUniformLocation(uniform), false, value);
|
|
964
979
|
}
|
|
965
980
|
|
|
966
981
|
/**
|
|
@@ -979,15 +994,8 @@ class WebGLHelper extends Disposable {
|
|
|
979
994
|
if (location < 0) {
|
|
980
995
|
return;
|
|
981
996
|
}
|
|
982
|
-
this.
|
|
983
|
-
this.
|
|
984
|
-
location,
|
|
985
|
-
size,
|
|
986
|
-
type,
|
|
987
|
-
false,
|
|
988
|
-
stride,
|
|
989
|
-
offset
|
|
990
|
-
);
|
|
997
|
+
this.gl_.enableVertexAttribArray(location);
|
|
998
|
+
this.gl_.vertexAttribPointer(location, size, type, false, stride, offset);
|
|
991
999
|
}
|
|
992
1000
|
|
|
993
1001
|
/**
|
|
@@ -1038,7 +1046,7 @@ class WebGLHelper extends Disposable {
|
|
|
1038
1046
|
* @return {WebGLTexture} The generated texture
|
|
1039
1047
|
*/
|
|
1040
1048
|
createTexture(size, data, texture) {
|
|
1041
|
-
const gl = this.
|
|
1049
|
+
const gl = this.gl_;
|
|
1042
1050
|
texture = texture || gl.createTexture();
|
|
1043
1051
|
|
|
1044
1052
|
// set params & size
|