@openglobus/og 0.19.4 → 0.20.1
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/README.md +3 -3
- package/css/og.css +18 -4
- package/lib/@openglobus/js/Clock.d.ts +106 -0
- package/lib/@openglobus/js/Deferred.d.ts +6 -0
- package/lib/@openglobus/js/Events.d.ts +90 -0
- package/lib/@openglobus/js/Extent.d.ts +145 -0
- package/lib/@openglobus/js/Globe.d.ts +134 -0
- package/lib/@openglobus/js/ImageCanvas.d.ts +128 -0
- package/lib/@openglobus/js/Lock.d.ts +15 -0
- package/lib/@openglobus/js/LonLat.d.ts +128 -0
- package/lib/@openglobus/js/Object3d.d.ts +64 -0
- package/lib/@openglobus/js/Popup.d.ts +46 -0
- package/lib/@openglobus/js/QueueArray.d.ts +16 -0
- package/lib/@openglobus/js/Rectangle.d.ts +76 -0
- package/lib/@openglobus/js/Stack.d.ts +20 -0
- package/lib/@openglobus/js/astro/astro.d.ts +39 -0
- package/lib/@openglobus/js/astro/earth.d.ts +8 -0
- package/lib/@openglobus/js/astro/jd.d.ts +234 -0
- package/lib/@openglobus/js/astro/orbit.d.ts +5 -0
- package/lib/@openglobus/js/astro/rotation.d.ts +2 -0
- package/lib/@openglobus/js/bv/Box.d.ts +32 -0
- package/lib/@openglobus/js/bv/Sphere.d.ts +37 -0
- package/lib/@openglobus/js/bv/index.d.ts +3 -0
- package/lib/@openglobus/js/camera/Camera.d.ts +314 -0
- package/lib/@openglobus/js/camera/Frustum.d.ts +139 -0
- package/lib/@openglobus/js/camera/PlanetCamera.d.ts +234 -0
- package/lib/@openglobus/js/camera/index.d.ts +3 -0
- package/lib/@openglobus/js/cons.d.ts +40 -0
- package/lib/@openglobus/js/control/Atmosphere.d.ts +16 -0
- package/lib/@openglobus/js/control/CompassButton.d.ts +16 -0
- package/lib/@openglobus/js/control/Control.d.ts +100 -0
- package/lib/@openglobus/js/control/DebugInfo.d.ts +25 -0
- package/lib/@openglobus/js/control/DrawingSwitcher.d.ts +13 -0
- package/lib/@openglobus/js/control/EarthCoordinates.d.ts +41 -0
- package/lib/@openglobus/js/control/EarthNavigation.d.ts +50 -0
- package/lib/@openglobus/js/control/GeoImageDragControl.d.ts +22 -0
- package/lib/@openglobus/js/control/KeyboardNavigation.d.ts +28 -0
- package/lib/@openglobus/js/control/LayerAnimation.d.ts +71 -0
- package/lib/@openglobus/js/control/LayerSwitcher.d.ts +36 -0
- package/lib/@openglobus/js/control/Lighting.d.ts +53 -0
- package/lib/@openglobus/js/control/MouseNavigation.d.ts +64 -0
- package/lib/@openglobus/js/control/MouseWheelZoomControl.d.ts +44 -0
- package/lib/@openglobus/js/control/RulerSwitcher.d.ts +17 -0
- package/lib/@openglobus/js/control/ScaleControl.d.ts +24 -0
- package/lib/@openglobus/js/control/SegmentBoundVisualization.d.ts +12 -0
- package/lib/@openglobus/js/control/ShowFps.d.ts +9 -0
- package/lib/@openglobus/js/control/SimpleNavigation.d.ts +25 -0
- package/lib/@openglobus/js/control/SimpleSkyBackground.d.ts +17 -0
- package/lib/@openglobus/js/control/Sun.d.ts +33 -0
- package/lib/@openglobus/js/control/ToggleWireframe.d.ts +14 -0
- package/lib/@openglobus/js/control/TouchNavigation.d.ts +52 -0
- package/lib/@openglobus/js/control/ZoomControl.d.ts +27 -0
- package/lib/@openglobus/js/control/drawing/DrawingControl.d.ts +12 -0
- package/lib/@openglobus/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
- package/lib/@openglobus/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
- package/lib/@openglobus/js/control/elevationProfile/ElevationProfile.d.ts +77 -0
- package/lib/@openglobus/js/control/elevationProfile/ElevationProfileButtonsView.d.ts +14 -0
- package/lib/@openglobus/js/control/elevationProfile/ElevationProfileControl.d.ts +33 -0
- package/lib/@openglobus/js/control/elevationProfile/ElevationProfileLegend.d.ts +20 -0
- package/lib/@openglobus/js/control/elevationProfile/ElevationProfileScene.d.ts +80 -0
- package/lib/@openglobus/js/control/elevationProfile/ElevationProfileView.d.ts +63 -0
- package/lib/@openglobus/js/control/elevationProfile/PointListDialog.d.ts +12 -0
- package/lib/@openglobus/js/control/heightRuler/HeightRuler.d.ts +7 -0
- package/lib/@openglobus/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
- package/lib/@openglobus/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
- package/lib/@openglobus/js/control/index.d.ts +29 -0
- package/lib/@openglobus/js/control/ruler/Ruler.d.ts +13 -0
- package/lib/@openglobus/js/control/ruler/RulerScene.d.ts +88 -0
- package/lib/@openglobus/js/control/selection/Selection.d.ts +55 -0
- package/lib/@openglobus/js/control/selection/SelectionScene.d.ts +44 -0
- package/lib/@openglobus/js/control/timeline/TimelineControl.d.ts +18 -0
- package/lib/@openglobus/js/control/timeline/TimelineModel.d.ts +41 -0
- package/lib/@openglobus/js/control/timeline/TimelineView.d.ts +85 -0
- package/lib/@openglobus/js/control/timeline/timelineUtils.d.ts +12 -0
- package/lib/@openglobus/js/control/visibleExtent/drawnode.d.ts +7 -0
- package/lib/@openglobus/js/ellipsoid/Ellipsoid.d.ts +193 -0
- package/lib/@openglobus/js/ellipsoid/index.d.ts +3 -0
- package/lib/@openglobus/js/ellipsoid/wgs84.d.ts +6 -0
- package/lib/@openglobus/js/entity/BaseBillboard.d.ts +222 -0
- package/lib/@openglobus/js/entity/BaseBillboardHandler.d.ts +81 -0
- package/lib/@openglobus/js/entity/Billboard.d.ts +113 -0
- package/lib/@openglobus/js/entity/BillboardHandler.d.ts +15 -0
- package/lib/@openglobus/js/entity/Entity.d.ts +354 -0
- package/lib/@openglobus/js/entity/EntityCollection.d.ts +363 -0
- package/lib/@openglobus/js/entity/GeoObject.d.ts +152 -0
- package/lib/@openglobus/js/entity/GeoObjectHandler.d.ts +104 -0
- package/lib/@openglobus/js/entity/Geometry.d.ts +124 -0
- package/lib/@openglobus/js/entity/GeometryHandler.d.ts +84 -0
- package/lib/@openglobus/js/entity/Label.d.ts +214 -0
- package/lib/@openglobus/js/entity/LabelHandler.d.ts +65 -0
- package/lib/@openglobus/js/entity/LabelWorker.d.ts +15 -0
- package/lib/@openglobus/js/entity/PointCloud.d.ts +179 -0
- package/lib/@openglobus/js/entity/PointCloudHandler.d.ts +42 -0
- package/lib/@openglobus/js/entity/Polyline.d.ts +345 -0
- package/lib/@openglobus/js/entity/PolylineHandler.d.ts +22 -0
- package/lib/@openglobus/js/entity/Ray.d.ts +133 -0
- package/lib/@openglobus/js/entity/RayHandler.d.ts +70 -0
- package/lib/@openglobus/js/entity/Strip.d.ts +139 -0
- package/lib/@openglobus/js/entity/StripHandler.d.ts +42 -0
- package/lib/@openglobus/js/entity/index.d.ts +10 -0
- package/lib/@openglobus/js/index.d.ts +33 -0
- package/lib/@openglobus/js/input/KeyboardHandler.d.ts +33 -0
- package/lib/@openglobus/js/input/MouseHandler.d.ts +16 -0
- package/lib/@openglobus/js/input/TouchHandler.d.ts +11 -0
- package/lib/@openglobus/js/input/input.d.ts +3 -0
- package/lib/@openglobus/js/layer/BaseGeoImage.d.ts +145 -0
- package/lib/@openglobus/js/layer/Bing.d.ts +4 -0
- package/lib/@openglobus/js/layer/CanvasTiles.d.ts +103 -0
- package/lib/@openglobus/js/layer/GeoImage.d.ts +61 -0
- package/lib/@openglobus/js/layer/GeoTexture2d.d.ts +17 -0
- package/lib/@openglobus/js/layer/GeoVideo.d.ts +68 -0
- package/lib/@openglobus/js/layer/KML.d.ts +72 -0
- package/lib/@openglobus/js/layer/Layer.d.ts +415 -0
- package/lib/@openglobus/js/layer/Material.d.ts +34 -0
- package/lib/@openglobus/js/layer/OpenStreetMap.d.ts +4 -0
- package/lib/@openglobus/js/layer/Vector.d.ts +246 -0
- package/lib/@openglobus/js/layer/WMS.d.ts +75 -0
- package/lib/@openglobus/js/layer/XYZ.d.ts +148 -0
- package/lib/@openglobus/js/layer/index.d.ts +12 -0
- package/lib/@openglobus/js/light/LightSource.d.ts +174 -0
- package/lib/@openglobus/js/math/Line2.d.ts +11 -0
- package/lib/@openglobus/js/math/Line3.d.ts +28 -0
- package/lib/@openglobus/js/math/Mat3.d.ts +77 -0
- package/lib/@openglobus/js/math/Mat4.d.ts +195 -0
- package/lib/@openglobus/js/math/Plane.d.ts +20 -0
- package/lib/@openglobus/js/math/Quat.d.ts +373 -0
- package/lib/@openglobus/js/math/Ray.d.ts +76 -0
- package/lib/@openglobus/js/math/Vec2.d.ts +310 -0
- package/lib/@openglobus/js/math/Vec3.d.ts +472 -0
- package/lib/@openglobus/js/math/Vec4.d.ts +163 -0
- package/lib/@openglobus/js/math/coder.d.ts +51 -0
- package/lib/@openglobus/js/math/index.d.ts +11 -0
- package/lib/@openglobus/js/math.d.ts +266 -0
- package/lib/@openglobus/js/mercator.d.ts +92 -0
- package/lib/@openglobus/js/proj/EPSG3857.d.ts +9 -0
- package/lib/@openglobus/js/proj/EPSG4326.d.ts +9 -0
- package/lib/@openglobus/js/proj/Proj.d.ts +43 -0
- package/lib/@openglobus/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
- package/lib/@openglobus/js/quadTree/EarthQuadTreeStrategy.d.ts +9 -0
- package/lib/@openglobus/js/quadTree/EntityCollectionNode.d.ts +54 -0
- package/lib/@openglobus/js/quadTree/MarsQuadTreeStrategy.d.ts +11 -0
- package/lib/@openglobus/js/quadTree/Node.d.ts +80 -0
- package/lib/@openglobus/js/quadTree/QuadTreeStrategy.d.ts +28 -0
- package/lib/@openglobus/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
- package/lib/@openglobus/js/quadTree/index.d.ts +12 -0
- package/lib/@openglobus/js/quadTree/quadTree.d.ts +40 -0
- package/lib/@openglobus/js/renderer/Renderer.d.ts +319 -0
- package/lib/@openglobus/js/renderer/RendererEvents.d.ts +240 -0
- package/lib/@openglobus/js/scene/Axes.d.ts +12 -0
- package/lib/@openglobus/js/scene/BaseNode.d.ts +61 -0
- package/lib/@openglobus/js/scene/Planet.d.ts +652 -0
- package/lib/@openglobus/js/scene/RenderNode.d.ts +150 -0
- package/lib/@openglobus/js/scene/SkyBox.d.ts +13 -0
- package/lib/@openglobus/js/scene/index.d.ts +5 -0
- package/lib/@openglobus/js/segment/Segment.d.ts +288 -0
- package/lib/@openglobus/js/segment/SegmentLonLat.d.ts +44 -0
- package/lib/@openglobus/js/segment/SegmentLonLatWgs84.d.ts +10 -0
- package/lib/@openglobus/js/segment/Slice.d.ts +13 -0
- package/lib/@openglobus/js/segment/segmentHelper.d.ts +18 -0
- package/lib/@openglobus/js/shaders/atmos.d.ts +4 -0
- package/lib/@openglobus/js/shaders/billboard.d.ts +3 -0
- package/lib/@openglobus/js/shaders/bloom.d.ts +2 -0
- package/lib/@openglobus/js/shaders/blur.d.ts +3 -0
- package/lib/@openglobus/js/shaders/depth.d.ts +2 -0
- package/lib/@openglobus/js/shaders/drawnode.d.ts +8 -0
- package/lib/@openglobus/js/shaders/geoObject.d.ts +3 -0
- package/lib/@openglobus/js/shaders/label.d.ts +4 -0
- package/lib/@openglobus/js/shaders/lumFilter.d.ts +2 -0
- package/lib/@openglobus/js/shaders/pointCloud.d.ts +2 -0
- package/lib/@openglobus/js/shaders/polyline.d.ts +3 -0
- package/lib/@openglobus/js/shaders/ray.d.ts +2 -0
- package/lib/@openglobus/js/shaders/screenFrame.d.ts +2 -0
- package/lib/@openglobus/js/shaders/skybox.d.ts +2 -0
- package/lib/@openglobus/js/shaders/toneMapping.d.ts +2 -0
- package/lib/@openglobus/js/shaders/utils.d.ts +1 -0
- package/lib/@openglobus/js/terrain/BilTerrain.d.ts +18 -0
- package/lib/@openglobus/js/terrain/EmptyTerrain.d.ts +113 -0
- package/lib/@openglobus/js/terrain/Geoid.d.ts +33 -0
- package/lib/@openglobus/js/terrain/GlobusRgbTerrain.d.ts +6 -0
- package/lib/@openglobus/js/terrain/GlobusTerrain.d.ts +137 -0
- package/lib/{js/terrain/MapboxTerrain.d.ts → @openglobus/js/terrain/RgbTerrain.d.ts} +5 -5
- package/lib/@openglobus/js/terrain/index.d.ts +6 -0
- package/lib/@openglobus/js/ui/Button.d.ts +32 -0
- package/lib/@openglobus/js/ui/ButtonGroup.d.ts +16 -0
- package/lib/@openglobus/js/ui/Color.d.ts +22 -0
- package/lib/@openglobus/js/ui/Dialog.d.ts +55 -0
- package/lib/@openglobus/js/ui/Slider.d.ts +38 -0
- package/lib/@openglobus/js/ui/ToggleButton.d.ts +20 -0
- package/lib/@openglobus/js/ui/View.d.ts +37 -0
- package/lib/@openglobus/js/ui/icons.d.ts +1 -0
- package/lib/@openglobus/js/utils/BaseWorker.d.ts +14 -0
- package/lib/@openglobus/js/utils/FontAtlas.d.ts +82 -0
- package/lib/@openglobus/js/utils/GeoImageCreator.d.ts +34 -0
- package/lib/@openglobus/js/utils/ImagesCacheManager.d.ts +22 -0
- package/lib/@openglobus/js/utils/Loader.d.ts +63 -0
- package/lib/@openglobus/js/utils/NormalMapCreator.d.ts +52 -0
- package/lib/@openglobus/js/utils/PlainSegmentWorker.d.ts +24 -0
- package/lib/@openglobus/js/utils/TerrainWorker.d.ts +28 -0
- package/lib/@openglobus/js/utils/TextureAtlas.d.ts +113 -0
- package/lib/@openglobus/js/utils/VectorTileCreator.d.ts +18 -0
- package/lib/@openglobus/js/utils/colorTable.d.ts +3 -0
- package/lib/@openglobus/js/utils/earcut.d.ts +7 -0
- package/lib/@openglobus/js/utils/objParser.d.ts +24 -0
- package/lib/@openglobus/js/utils/shared.d.ts +263 -0
- package/lib/@openglobus/js/utils/units.d.ts +16 -0
- package/lib/@openglobus/js/webgl/BaseFramebuffer.d.ts +53 -0
- package/lib/@openglobus/js/webgl/Framebuffer.d.ts +69 -0
- package/lib/@openglobus/js/webgl/Handler.d.ts +473 -0
- package/lib/@openglobus/js/webgl/Multisample.d.ts +27 -0
- package/lib/@openglobus/js/webgl/Program.d.ts +159 -0
- package/lib/@openglobus/js/webgl/ProgramController.d.ts +86 -0
- package/lib/@openglobus/js/webgl/index.d.ts +6 -0
- package/lib/@openglobus/js/webgl/types.d.ts +9 -0
- package/lib/@openglobus/js/webgl/variableHandlers.d.ts +22 -0
- package/lib/@openglobus/og.css +1 -1
- package/lib/@openglobus/og.esm.js +1 -1
- package/lib/@openglobus/og.esm.js.map +1 -1
- package/lib/@openglobus/og.umd.js +1 -1
- package/lib/@openglobus/og.umd.js.map +1 -1
- package/lib/js/Extent.js +2 -2
- package/lib/js/Globe.d.ts +1 -1
- package/lib/js/Object3d.d.ts +8 -1
- package/lib/js/Object3d.js +12 -2
- package/lib/js/camera/Frustum.d.ts +1 -1
- package/lib/js/camera/Frustum.js +3 -2
- package/lib/js/control/DebugInfo.js +19 -18
- package/lib/js/control/Lighting.d.ts +4 -0
- package/lib/js/control/Lighting.js +51 -12
- package/lib/js/control/SimpleSkyBackground.d.ts +2 -0
- package/lib/js/control/SimpleSkyBackground.js +13 -3
- package/lib/js/control/drawing/PolygonDrawingScene.js +2 -2
- package/lib/js/control/visibleExtent/drawnode.js +1 -1
- package/lib/js/entity/GeoObject.d.ts +12 -3
- package/lib/js/entity/GeoObject.js +34 -2
- package/lib/js/entity/GeoObjectHandler.d.ts +5 -0
- package/lib/js/entity/GeoObjectHandler.js +47 -0
- package/lib/js/entity/Geometry.d.ts +24 -11
- package/lib/js/entity/Geometry.js +17 -9
- package/lib/js/entity/GeometryHandler.js +5 -5
- package/lib/js/entity/Label.d.ts +7 -0
- package/lib/js/entity/Label.js +11 -0
- package/lib/js/entity/Polyline.d.ts +15 -7
- package/lib/js/entity/Polyline.js +54 -6
- package/lib/js/entity/Strip.d.ts +12 -0
- package/lib/js/entity/Strip.js +16 -0
- package/lib/js/entity/StripHandler.js +1 -1
- package/lib/js/entity/index.d.ts +10 -11
- package/lib/js/entity/index.js +10 -11
- package/lib/js/index.d.ts +5 -5
- package/lib/js/index.js +5 -5
- package/lib/js/layer/Bing.d.ts +4 -0
- package/lib/js/layer/Bing.js +40 -0
- package/lib/js/layer/GeoImage.d.ts +1 -1
- package/lib/js/layer/GeoVideo.d.ts +1 -1
- package/lib/js/layer/Layer.d.ts +1 -1
- package/lib/js/layer/Layer.js +2 -2
- package/lib/js/layer/OpenStreetMap.d.ts +4 -0
- package/lib/js/layer/OpenStreetMap.js +19 -0
- package/lib/js/layer/Vector.d.ts +3 -0
- package/lib/js/layer/Vector.js +3 -3
- package/lib/js/layer/index.d.ts +12 -11
- package/lib/js/layer/index.js +12 -11
- package/lib/js/math/Mat4.js +18 -17
- package/lib/js/mercator.js +2 -1
- package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +4 -5
- package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +3 -0
- package/lib/js/quadTree/EarthQuadTreeStrategy.js +40 -5
- package/lib/js/quadTree/EntityCollectionNode.d.ts +2 -2
- package/lib/js/quadTree/EntityCollectionNode.js +13 -14
- package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +5 -0
- package/lib/js/quadTree/MarsQuadTreeStrategy.js +31 -5
- package/lib/js/quadTree/Node.d.ts +2 -1
- package/lib/js/quadTree/Node.js +38 -28
- package/lib/js/quadTree/QuadTreeStrategy.d.ts +3 -0
- package/lib/js/quadTree/QuadTreeStrategy.js +17 -0
- package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +3 -3
- package/lib/js/renderer/Renderer.js +1 -0
- package/lib/js/scene/Planet.js +6 -4
- package/lib/js/segment/Segment.d.ts +12 -9
- package/lib/js/segment/Segment.js +47 -24
- package/lib/js/segment/SegmentLonLat.d.ts +1 -5
- package/lib/js/segment/SegmentLonLat.js +8 -100
- package/lib/js/segment/SegmentLonLatWgs84.js +5 -3
- package/lib/js/shaders/billboard.js +4 -4
- package/lib/js/shaders/drawnode.js +16 -19
- package/lib/js/shaders/geoObject.js +4 -5
- package/lib/js/shaders/ray.js +7 -3
- package/lib/js/terrain/BilTerrain.d.ts +1 -1
- package/lib/js/terrain/BilTerrain.js +7 -6
- package/lib/js/terrain/EmptyTerrain.d.ts +7 -0
- package/lib/js/terrain/EmptyTerrain.js +7 -0
- package/lib/js/terrain/GlobusRgbTerrain.d.ts +6 -0
- package/lib/js/terrain/GlobusRgbTerrain.js +25 -0
- package/lib/js/terrain/GlobusTerrain.d.ts +5 -5
- package/lib/js/terrain/GlobusTerrain.js +35 -30
- package/lib/js/terrain/RgbTerrain.d.ts +22 -0
- package/lib/js/terrain/RgbTerrain.js +415 -0
- package/lib/js/terrain/index.d.ts +3 -2
- package/lib/js/terrain/index.js +3 -2
- package/lib/js/ui/Color.d.ts +22 -0
- package/lib/js/ui/Color.js +58 -0
- package/lib/js/utils/GeoImageCreator.js +1 -1
- package/lib/js/utils/NormalMapCreator.js +1 -1
- package/lib/js/utils/VectorTileCreator.js +3 -3
- package/lib/js/utils/shared.d.ts +1 -8
- package/lib/js/utils/shared.js +17 -8
- package/package.json +2 -1
- package/lib/js/terrain/MapboxTerrain.js +0 -305
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Handler } from "./Handler";
|
|
2
|
+
export interface IBaseFramebufferParams {
|
|
3
|
+
internalFormat?: string | string[];
|
|
4
|
+
width?: number;
|
|
5
|
+
height?: number;
|
|
6
|
+
useDepth?: boolean;
|
|
7
|
+
depthComponent?: string;
|
|
8
|
+
size?: number;
|
|
9
|
+
filter?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class BaseFramebuffer {
|
|
12
|
+
handler: Handler;
|
|
13
|
+
_fbo: WebGLFramebuffer | null;
|
|
14
|
+
protected _depthRenderbuffer: WebGLRenderbuffer | null;
|
|
15
|
+
_width: number;
|
|
16
|
+
_height: number;
|
|
17
|
+
protected _depthComponent: string;
|
|
18
|
+
protected _size: number;
|
|
19
|
+
protected _active: boolean;
|
|
20
|
+
protected _useDepth: boolean;
|
|
21
|
+
protected _filter: string;
|
|
22
|
+
constructor(handler: Handler, options?: IBaseFramebufferParams);
|
|
23
|
+
get width(): number;
|
|
24
|
+
get height(): number;
|
|
25
|
+
/**
|
|
26
|
+
* Sets framebuffer viewport size.
|
|
27
|
+
* @public
|
|
28
|
+
* @param {number} width - Framebuffer width.
|
|
29
|
+
* @param {number} height - Framebuffer height.
|
|
30
|
+
* @param {boolean} [forceDestroy] -
|
|
31
|
+
*/
|
|
32
|
+
setSize(width: number, height: number, forceDestroy?: boolean): void;
|
|
33
|
+
init(): void;
|
|
34
|
+
destroy(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Returns framebuffer completed.
|
|
37
|
+
* @public
|
|
38
|
+
* @returns {boolean} -
|
|
39
|
+
*/
|
|
40
|
+
isComplete(): boolean;
|
|
41
|
+
checkStatus(): number;
|
|
42
|
+
/**
|
|
43
|
+
* Activate framebuffer frame to draw.
|
|
44
|
+
* @public
|
|
45
|
+
* @returns {Framebuffer} Returns Current framebuffer.
|
|
46
|
+
*/
|
|
47
|
+
activate(): this;
|
|
48
|
+
/**
|
|
49
|
+
* Deactivate framebuffer frame.
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
deactivate(): void;
|
|
53
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { BaseFramebuffer, IBaseFramebufferParams } from "./BaseFramebuffer";
|
|
2
|
+
import { Handler } from "./Handler";
|
|
3
|
+
export interface IFrameBufferParams extends IBaseFramebufferParams {
|
|
4
|
+
isBare?: boolean;
|
|
5
|
+
format?: string | string[];
|
|
6
|
+
type?: string | string[];
|
|
7
|
+
attachment?: string | string[];
|
|
8
|
+
renderbufferTarget?: string;
|
|
9
|
+
textures?: WebGLTexture[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Class represents framebuffer.
|
|
13
|
+
* @class
|
|
14
|
+
* @param {Handler} handler - WebGL handler.
|
|
15
|
+
* @param {IFrameBufferParams} [options] - Framebuffer options:
|
|
16
|
+
*/
|
|
17
|
+
export declare class Framebuffer extends BaseFramebuffer {
|
|
18
|
+
protected _isBare: boolean;
|
|
19
|
+
protected _internalFormatArr: string[];
|
|
20
|
+
protected _formatArr: string[];
|
|
21
|
+
protected _typeArr: string[];
|
|
22
|
+
protected _attachmentArr: string[];
|
|
23
|
+
protected _renderbufferTarget: string;
|
|
24
|
+
/**
|
|
25
|
+
* Framebuffer texture.
|
|
26
|
+
* @public
|
|
27
|
+
* @type {number}
|
|
28
|
+
*/
|
|
29
|
+
textures: WebGLTexture[];
|
|
30
|
+
constructor(handler: Handler, options?: IFrameBufferParams);
|
|
31
|
+
destroy(): void;
|
|
32
|
+
/**
|
|
33
|
+
* Framebuffer initialization.
|
|
34
|
+
* @public
|
|
35
|
+
* @override
|
|
36
|
+
*/
|
|
37
|
+
init(): void;
|
|
38
|
+
/**
|
|
39
|
+
* Bind buffer texture.
|
|
40
|
+
* @public
|
|
41
|
+
* @param {WebGLTexture} texture - Output texture.
|
|
42
|
+
* @param {number} [glAttachment=0] - color attachment index.
|
|
43
|
+
*/
|
|
44
|
+
bindOutputTexture(texture: WebGLTexture, glAttachment?: number): void;
|
|
45
|
+
/**
|
|
46
|
+
* Gets pixel RGBA color from framebuffer by coordinates.
|
|
47
|
+
* @public
|
|
48
|
+
* @param {Uint8Array} res - Normalized x - coordinate.
|
|
49
|
+
* @param {number} nx - Normalized x - coordinate.
|
|
50
|
+
* @param {number} ny - Normalized y - coordinate.
|
|
51
|
+
* @param {number} [w=1] - Normalized width.
|
|
52
|
+
* @param {number} [h=1] - Normalized height.
|
|
53
|
+
* @param {number} [index=0] - color attachment index.
|
|
54
|
+
*/
|
|
55
|
+
readPixels(res: Uint8Array, nx: number, ny: number, index?: number, w?: number, h?: number): void;
|
|
56
|
+
/**
|
|
57
|
+
* Reads all pixels(RGBA colors) from framebuffer.
|
|
58
|
+
* @public
|
|
59
|
+
* @param {Uint8Array} res - Result array.
|
|
60
|
+
* @param {number} [attachmentIndex=0] - color attachment index.
|
|
61
|
+
*/
|
|
62
|
+
readAllPixels(res: Uint8Array, attachmentIndex?: number): void;
|
|
63
|
+
/**
|
|
64
|
+
* Gets JavaScript image that in the framebuffer.
|
|
65
|
+
* @public
|
|
66
|
+
* @returns {HTMLImageElement} -
|
|
67
|
+
*/
|
|
68
|
+
getImage(): HTMLImageElement;
|
|
69
|
+
}
|
|
@@ -0,0 +1,473 @@
|
|
|
1
|
+
import { BaseFramebuffer } from "./BaseFramebuffer";
|
|
2
|
+
import { Clock } from "../Clock";
|
|
3
|
+
import { EventsHandler } from "../Events";
|
|
4
|
+
import { TypedArray } from "../utils/shared";
|
|
5
|
+
import { NumberArray2, Vec2 } from "../math/Vec2";
|
|
6
|
+
import { ProgramController } from "./ProgramController";
|
|
7
|
+
import { Program } from "./Program";
|
|
8
|
+
import { Stack } from "../Stack";
|
|
9
|
+
export type WebGLContextExt = {
|
|
10
|
+
type: string;
|
|
11
|
+
} & WebGL2RenderingContext;
|
|
12
|
+
export type WebGLBufferExt = {
|
|
13
|
+
numItems: number;
|
|
14
|
+
itemSize: number;
|
|
15
|
+
} & WebGLBuffer;
|
|
16
|
+
export type WebGLTextureExt = {
|
|
17
|
+
default?: boolean;
|
|
18
|
+
} & WebGLTexture;
|
|
19
|
+
export type ImageSource = HTMLCanvasElement | ImageBitmap | ImageData | HTMLImageElement | HTMLVideoElement;
|
|
20
|
+
type CreateTextureFunc = (image: ImageSource, internalFormat?: number, texture?: WebGLTextureExt) => WebGLTextureExt | null;
|
|
21
|
+
export interface IHandlerParameters {
|
|
22
|
+
anisotropy?: number;
|
|
23
|
+
width?: number;
|
|
24
|
+
height?: number;
|
|
25
|
+
pixelRatio?: number;
|
|
26
|
+
context?: {
|
|
27
|
+
stencil?: boolean;
|
|
28
|
+
alpha?: boolean;
|
|
29
|
+
antialias?: boolean;
|
|
30
|
+
premultipliedAlpha?: boolean;
|
|
31
|
+
};
|
|
32
|
+
extensions?: string[];
|
|
33
|
+
autoActivate?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface Texture3DParams {
|
|
36
|
+
nx: string;
|
|
37
|
+
px: string;
|
|
38
|
+
py: string;
|
|
39
|
+
ny: string;
|
|
40
|
+
pz: string;
|
|
41
|
+
nz: string;
|
|
42
|
+
}
|
|
43
|
+
export interface IDefaultTextureParams {
|
|
44
|
+
color?: string;
|
|
45
|
+
url?: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* A WebGL handler for accessing low-level WebGL capabilities.
|
|
49
|
+
* @class
|
|
50
|
+
* @param {string | HTMLCanvasElement} canvasTarget - Canvas element target.
|
|
51
|
+
* or undefined creates hidden canvas and handler becomes hidden.
|
|
52
|
+
* @param {Object} [params] - Handler options:
|
|
53
|
+
* @param {number} [params.anisotropy] - Anisotropy filter degree. 8 is default.
|
|
54
|
+
* @param {number} [params.width] - Hidden handler width. 256 is default.
|
|
55
|
+
* @param {number} [params.height] - Hidden handler height. 256 is default.
|
|
56
|
+
* @param {Array.<string>} [params.extensions] - Additional WebGL extension list. Available by default: EXT_texture_filter_anisotropic.
|
|
57
|
+
*/
|
|
58
|
+
declare class Handler {
|
|
59
|
+
/**
|
|
60
|
+
* Events.
|
|
61
|
+
* @public
|
|
62
|
+
* @type {EventsHandler<["visibilitychange", "resize"]>}
|
|
63
|
+
*/
|
|
64
|
+
events: EventsHandler<["visibilitychange", "resize"]>;
|
|
65
|
+
/**
|
|
66
|
+
* Application default timer.
|
|
67
|
+
* @public
|
|
68
|
+
* @type {Clock}
|
|
69
|
+
*/
|
|
70
|
+
defaultClock: Clock;
|
|
71
|
+
/**
|
|
72
|
+
* Custom timers.
|
|
73
|
+
* @protected
|
|
74
|
+
* @type{Clock[]}
|
|
75
|
+
*/
|
|
76
|
+
protected _clocks: Clock[];
|
|
77
|
+
/**
|
|
78
|
+
* Draw frame time in milliseconds.
|
|
79
|
+
* @public
|
|
80
|
+
* @type {number}
|
|
81
|
+
*/
|
|
82
|
+
deltaTime: number;
|
|
83
|
+
/**
|
|
84
|
+
* WebGL rendering canvas element.
|
|
85
|
+
* @public
|
|
86
|
+
* @type {HTMLCanvasElement | null}
|
|
87
|
+
*/
|
|
88
|
+
canvas: HTMLCanvasElement | null;
|
|
89
|
+
/**
|
|
90
|
+
* WebGL context.
|
|
91
|
+
* @public
|
|
92
|
+
* @type {WebGLContextExt | null}
|
|
93
|
+
*/
|
|
94
|
+
gl: WebGLContextExt | null;
|
|
95
|
+
/**
|
|
96
|
+
* Shader program controller list.
|
|
97
|
+
* @public
|
|
98
|
+
* @type {Record<string, ProgramController>}
|
|
99
|
+
*/
|
|
100
|
+
programs: Record<string, ProgramController>;
|
|
101
|
+
/**
|
|
102
|
+
* Current active shader program controller.
|
|
103
|
+
* @public
|
|
104
|
+
* @type {ProgramController}
|
|
105
|
+
*/
|
|
106
|
+
activeProgram: ProgramController | null;
|
|
107
|
+
/**
|
|
108
|
+
* Handler parameters.
|
|
109
|
+
* @private
|
|
110
|
+
* @type {Object}
|
|
111
|
+
*/
|
|
112
|
+
protected _params: {
|
|
113
|
+
anisotropy: number;
|
|
114
|
+
width: number;
|
|
115
|
+
height: number;
|
|
116
|
+
pixelRatio: number;
|
|
117
|
+
context: {
|
|
118
|
+
stencil?: boolean;
|
|
119
|
+
alpha?: boolean;
|
|
120
|
+
antialias?: boolean;
|
|
121
|
+
premultipliedAlpha?: boolean;
|
|
122
|
+
};
|
|
123
|
+
extensions: string[];
|
|
124
|
+
};
|
|
125
|
+
_oneByHeight: number;
|
|
126
|
+
/**
|
|
127
|
+
* Current WebGL extensions. Becomes here after context initialization.
|
|
128
|
+
* @public
|
|
129
|
+
* @type {Record<string, any>}
|
|
130
|
+
*/
|
|
131
|
+
extensions: Record<string, any>;
|
|
132
|
+
/**
|
|
133
|
+
* HTML Canvas target.
|
|
134
|
+
* @private
|
|
135
|
+
* @type {string | HTMLCanvasElement | undefined}
|
|
136
|
+
*/
|
|
137
|
+
protected _canvasTarget: string | HTMLCanvasElement | undefined;
|
|
138
|
+
protected _lastAnimationFrameTime: number;
|
|
139
|
+
protected _initialized: boolean;
|
|
140
|
+
/**
|
|
141
|
+
* Animation frame function assigned from outside(Ex. from Renderer).
|
|
142
|
+
* @private
|
|
143
|
+
* @type {Function}
|
|
144
|
+
*/
|
|
145
|
+
protected _frameCallback: Function;
|
|
146
|
+
protected _canvasSize: NumberArray2;
|
|
147
|
+
transparentTexture: WebGLTextureExt | null;
|
|
148
|
+
defaultTexture: WebGLTextureExt | null;
|
|
149
|
+
framebufferStack: Stack<BaseFramebuffer>;
|
|
150
|
+
createTexture: Record<string, CreateTextureFunc>;
|
|
151
|
+
createTextureDefault: CreateTextureFunc;
|
|
152
|
+
ONCANVASRESIZE: Function | null;
|
|
153
|
+
createTexture_n: CreateTextureFunc;
|
|
154
|
+
createTexture_l: CreateTextureFunc;
|
|
155
|
+
createTexture_mm: CreateTextureFunc;
|
|
156
|
+
createTexture_a: CreateTextureFunc;
|
|
157
|
+
intersectionObserver?: IntersectionObserver;
|
|
158
|
+
resizeObserver?: ResizeObserver;
|
|
159
|
+
protected _requestAnimationFrameId: number;
|
|
160
|
+
constructor(canvasTarget: string | HTMLCanvasElement | undefined, params?: IHandlerParameters);
|
|
161
|
+
isInitialized(): boolean;
|
|
162
|
+
protected _createCanvas(): void;
|
|
163
|
+
/**
|
|
164
|
+
* The return value is null if the extension is not supported, or an extension object otherwise.
|
|
165
|
+
* @param {WebGLRenderingContext | WebGL2RenderingContext | null} gl - WebGl context pointer.
|
|
166
|
+
* @param {string} name - Extension name.
|
|
167
|
+
* @returns {any} -
|
|
168
|
+
*/
|
|
169
|
+
static getExtension(gl: WebGLRenderingContext | WebGL2RenderingContext | null, name: string): any | undefined;
|
|
170
|
+
/**
|
|
171
|
+
* Returns a drawing context on the canvas, or null if the context identifier is not supported.
|
|
172
|
+
* @param {HTMLCanvasElement} canvas - HTML canvas object.
|
|
173
|
+
* @param {any} [contextAttributes] - See canvas.getContext contextAttributes.
|
|
174
|
+
* @returns {WebGLContextExt | null} -
|
|
175
|
+
*/
|
|
176
|
+
static getContext(canvas: HTMLCanvasElement, contextAttributes?: any): WebGLContextExt | null;
|
|
177
|
+
/**
|
|
178
|
+
* Sets animation frame function.
|
|
179
|
+
* @public
|
|
180
|
+
* @param {Function} callback - Frame callback.
|
|
181
|
+
*/
|
|
182
|
+
setFrameCallback(callback: Function): void;
|
|
183
|
+
/**
|
|
184
|
+
* Creates empty texture.
|
|
185
|
+
* @public
|
|
186
|
+
* @param {number} [width=1] - Specifies the width of the texture image.
|
|
187
|
+
* @param {number} [height=1] - Specifies the width of the texture image.
|
|
188
|
+
* @param {string} [filter="NEAREST"] - Specifies GL_TEXTURE_MIN(MAX)_FILTER texture value.
|
|
189
|
+
* @param {string} [internalFormat="RGBA"] - Specifies the color components in the texture.
|
|
190
|
+
* @param {string} [format="RGBA"] - Specifies the format of the texel data.
|
|
191
|
+
* @param {string} [type="UNSIGNED_BYTE"] - Specifies the data type of the texel data.
|
|
192
|
+
* @param {number} [level=0] - Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
|
|
193
|
+
* @returns {WebGLTexture | null} - WebGL texture object.
|
|
194
|
+
*/
|
|
195
|
+
createEmptyTexture2DExt(width?: number, height?: number, filter?: string, internalFormat?: string, format?: string, type?: string, level?: number): WebGLTexture | null;
|
|
196
|
+
/**
|
|
197
|
+
* Creates Empty NEAREST filtered texture.
|
|
198
|
+
* @public
|
|
199
|
+
* @param {number} width - Empty texture width.
|
|
200
|
+
* @param {number} height - Empty texture height.
|
|
201
|
+
* @param {number} [internalFormat]
|
|
202
|
+
* @returns {WebGLTexture | null} - WebGL texture object.
|
|
203
|
+
*/
|
|
204
|
+
createEmptyTexture_n(width: number, height: number, internalFormat?: number): WebGLTexture | null;
|
|
205
|
+
/**
|
|
206
|
+
* Creates empty LINEAR filtered texture.
|
|
207
|
+
* @public
|
|
208
|
+
* @param {number} width - Empty texture width.
|
|
209
|
+
* @param {number} height - Empty texture height.
|
|
210
|
+
* @param {number} [internalFormat]
|
|
211
|
+
* @returns {WebGLTexture | null} - WebGL texture object.
|
|
212
|
+
*/
|
|
213
|
+
createEmptyTexture_l(width: number, height: number, internalFormat?: number): WebGLTexture | null;
|
|
214
|
+
/**
|
|
215
|
+
* Creates NEAREST filter texture.
|
|
216
|
+
* @public
|
|
217
|
+
* @param {HTMLCanvasElement | Image} image - Image or Canvas object.
|
|
218
|
+
* @param {number} [internalFormat]
|
|
219
|
+
* @param {WebGLTexture | null} [texture=null]
|
|
220
|
+
* @returns {WebGLTexture | null} - WebGL texture object.
|
|
221
|
+
*/
|
|
222
|
+
createTexture_n_webgl1(image: ImageSource, internalFormat?: number, texture?: WebGLTexture | null): WebGLTexture | null;
|
|
223
|
+
/**
|
|
224
|
+
* Creates LINEAR filter texture.
|
|
225
|
+
* @public
|
|
226
|
+
* @param {ImageSource} image - Image or Canvas object.
|
|
227
|
+
* @param {number} [internalFormat]
|
|
228
|
+
* @param {WebGLTexture | null} [texture]
|
|
229
|
+
* @returns {WebGLTexture | null} - WebGL texture object.
|
|
230
|
+
*/
|
|
231
|
+
createTexture_l_webgl1(image: ImageSource, internalFormat?: number, texture?: WebGLTexture | null): WebGLTexture | null;
|
|
232
|
+
/**
|
|
233
|
+
* Creates MIPMAP filter texture.
|
|
234
|
+
* @public
|
|
235
|
+
* @param {ImageSource} image - Image or Canvas object.
|
|
236
|
+
* @param {number} [internalFormat]
|
|
237
|
+
* @param {WebGLTexture | null} [texture]
|
|
238
|
+
* @returns {WebGLTexture | null} - WebGL texture object.
|
|
239
|
+
*/
|
|
240
|
+
createTexture_mm_webgl1(image: ImageSource, internalFormat?: number, texture?: WebGLTexture | null): WebGLTexture | null;
|
|
241
|
+
/**
|
|
242
|
+
* Creates ANISOTROPY filter texture.
|
|
243
|
+
* @public
|
|
244
|
+
* @param {ImageSource} image - Image or Canvas object.
|
|
245
|
+
* @param {number} [internalFormat]
|
|
246
|
+
* @param {WebGLTexture | null} [texture]
|
|
247
|
+
* @returns {WebGLTexture | null} - WebGL texture object.
|
|
248
|
+
*/
|
|
249
|
+
createTexture_a_webgl1(image: ImageSource, internalFormat?: number, texture?: WebGLTexture | null): WebGLTexture | null;
|
|
250
|
+
/**
|
|
251
|
+
* Creates NEAREST filter texture.
|
|
252
|
+
* @public
|
|
253
|
+
* @param {ImageSource} image - Image or Canvas object.
|
|
254
|
+
* @param {number} [internalFormat]
|
|
255
|
+
* @param {WebGLTexture | null} [texture]
|
|
256
|
+
* @returns {WebGLTexture | null} - WebGL texture object.
|
|
257
|
+
*/
|
|
258
|
+
createTexture_n_webgl2(image: ImageSource, internalFormat?: number, texture?: WebGLTexture | null): WebGLTexture | null;
|
|
259
|
+
/**
|
|
260
|
+
* Creates LINEAR filter texture.
|
|
261
|
+
* @public
|
|
262
|
+
* @param {ImageSource} image - Image or Canvas object.
|
|
263
|
+
* @param {number} [internalFormat]
|
|
264
|
+
* @param {WebGLTexture | null} [texture]
|
|
265
|
+
* @returns {WebGLTexture | null} - WebGL texture object.
|
|
266
|
+
*/
|
|
267
|
+
createTexture_l_webgl2(image: ImageSource, internalFormat?: number, texture?: WebGLTexture | null): WebGLTexture | null;
|
|
268
|
+
/**
|
|
269
|
+
* Creates MIPMAP filter texture.
|
|
270
|
+
* @public
|
|
271
|
+
* @param {ImageSource} image - Image or Canvas object.
|
|
272
|
+
* @param {number} [internalFormat]
|
|
273
|
+
* @param {WebGLTexture | null} [texture]
|
|
274
|
+
* @returns {WebGLTexture | null} - WebGL texture object.
|
|
275
|
+
*/
|
|
276
|
+
createTexture_mm_webgl2(image: ImageSource, internalFormat?: number, texture?: WebGLTexture | null): WebGLTexture | null;
|
|
277
|
+
/**
|
|
278
|
+
* Creates ANISOTROPY filter texture.
|
|
279
|
+
* @public
|
|
280
|
+
* @param {ImageSource} image - Image or Canvas object.
|
|
281
|
+
* @param {number} [internalFormat]
|
|
282
|
+
* @param {WebGLTexture | null} [texture]
|
|
283
|
+
* @returns {WebGLTexture | null} - WebGL texture object.
|
|
284
|
+
*/
|
|
285
|
+
createTexture_a_webgl2(image: ImageSource, internalFormat?: number, texture?: WebGLTexture | null): WebGLTexture | null;
|
|
286
|
+
/**
|
|
287
|
+
* Creates cube texture.
|
|
288
|
+
* @public
|
|
289
|
+
* @param {Texture3DParams} params - Face image urls:
|
|
290
|
+
* @param {string} params.px - Positive X or right image url.
|
|
291
|
+
* @param {string} params.nx - Negative X or left image url.
|
|
292
|
+
* @param {string} params.py - Positive Y or up image url.
|
|
293
|
+
* @param {string} params.ny - Negative Y or bottom image url.
|
|
294
|
+
* @param {string} params.pz - Positive Z or face image url.
|
|
295
|
+
* @param {string} params.nz - Negative Z or back image url.
|
|
296
|
+
* @returns {WebGLTexture | null} - WebGL texture object.
|
|
297
|
+
*/
|
|
298
|
+
loadCubeMapTexture(params: Texture3DParams): WebGLTexture | null;
|
|
299
|
+
/**
|
|
300
|
+
* Adds shader program to the handler.
|
|
301
|
+
* @public
|
|
302
|
+
* @param {Program} program - Shader program.
|
|
303
|
+
* @param {boolean} [notActivate] - If it's true program will not compile.
|
|
304
|
+
* @return {Program} -
|
|
305
|
+
*/
|
|
306
|
+
addProgram(program: Program, notActivate?: boolean): Program;
|
|
307
|
+
/**
|
|
308
|
+
* Removes shader program from handler.
|
|
309
|
+
* @public
|
|
310
|
+
* @param {string} name - Shader program name.
|
|
311
|
+
*/
|
|
312
|
+
removeProgram(name: string): void;
|
|
313
|
+
/**
|
|
314
|
+
* Adds shader programs to the handler.
|
|
315
|
+
* @public
|
|
316
|
+
* @param {Array.<Program>} programsArr - Shader program array.
|
|
317
|
+
*/
|
|
318
|
+
addPrograms(programsArr: Program[]): void;
|
|
319
|
+
/**
|
|
320
|
+
* Used in addProgram
|
|
321
|
+
* @protected
|
|
322
|
+
* @param {ProgramController} sc - Program controller
|
|
323
|
+
*/
|
|
324
|
+
protected _initProgramController(sc: ProgramController): void;
|
|
325
|
+
/**
|
|
326
|
+
* Used in init function.
|
|
327
|
+
* @private
|
|
328
|
+
*/
|
|
329
|
+
protected _initPrograms(): void;
|
|
330
|
+
/**
|
|
331
|
+
* Initialize additional WebGL extensions.
|
|
332
|
+
* @public
|
|
333
|
+
* @param {string} extensionStr - Extension name.
|
|
334
|
+
* @param {boolean} showLog - Show logging.
|
|
335
|
+
* @return {any} -
|
|
336
|
+
*/
|
|
337
|
+
initializeExtension(extensionStr: string, showLog?: boolean): any;
|
|
338
|
+
/**
|
|
339
|
+
* Main function that initialize handler.
|
|
340
|
+
* @public
|
|
341
|
+
*/
|
|
342
|
+
initialize(): void;
|
|
343
|
+
protected _toggleVisibilityChange(visibility: boolean): void;
|
|
344
|
+
/**
|
|
345
|
+
* Sets default gl render parameters. Used in init function.
|
|
346
|
+
* @protected
|
|
347
|
+
*/
|
|
348
|
+
protected _setDefaults(): void;
|
|
349
|
+
getCanvasSize(): NumberArray2;
|
|
350
|
+
/**
|
|
351
|
+
* Creates STREAM_DRAW ARRAY buffer.
|
|
352
|
+
* @public
|
|
353
|
+
* @param {number} itemSize - Array item size.
|
|
354
|
+
* @param {number} numItems - Items quantity.
|
|
355
|
+
* @param {number} [usage=STATIC_DRAW] - Parameter of the bufferData call can be one of STATIC_DRAW, DYNAMIC_DRAW, or STREAM_DRAW.
|
|
356
|
+
* @param {number} [bytes=4] -
|
|
357
|
+
* @return {WebGLBufferExt} -
|
|
358
|
+
*/
|
|
359
|
+
createStreamArrayBuffer(itemSize: number, numItems: number, usage?: number, bytes?: number): WebGLBufferExt;
|
|
360
|
+
/**
|
|
361
|
+
* Sets stream buffer.
|
|
362
|
+
* @public
|
|
363
|
+
* @param {WebGLBufferExt} buffer -
|
|
364
|
+
* @param {TypedArray} array -
|
|
365
|
+
* @param {number} [offset=0] -
|
|
366
|
+
* @return {WebGLBufferExt} -
|
|
367
|
+
*/
|
|
368
|
+
setStreamArrayBuffer(buffer: WebGLBufferExt, array: TypedArray, offset?: number): WebGLBufferExt;
|
|
369
|
+
/**
|
|
370
|
+
* Creates ARRAY buffer.
|
|
371
|
+
* @public
|
|
372
|
+
* @param {TypedArray} array - Input array.
|
|
373
|
+
* @param {number} itemSize - Array item size.
|
|
374
|
+
* @param {number} numItems - Items quantity.
|
|
375
|
+
* @param {number} [usage=STATIC_DRAW] - Parameter of the bufferData call can be one of STATIC_DRAW, DYNAMIC_DRAW, or STREAM_DRAW.
|
|
376
|
+
* @return {WebGLBufferExt} -
|
|
377
|
+
*/
|
|
378
|
+
createArrayBuffer(array: TypedArray, itemSize: number, numItems: number, usage?: number): WebGLBufferExt;
|
|
379
|
+
/**
|
|
380
|
+
* Creates ARRAY buffer specific length.
|
|
381
|
+
* @public
|
|
382
|
+
* @param {number} size -
|
|
383
|
+
* @param {number} [usage=STATIC_DRAW] - Parameter of the bufferData call can be one of STATIC_DRAW, DYNAMIC_DRAW, or STREAM_DRAW.
|
|
384
|
+
* @return {WebGLBufferExt} -
|
|
385
|
+
*/
|
|
386
|
+
createArrayBufferLength(size: number, usage?: number): WebGLBufferExt;
|
|
387
|
+
/**
|
|
388
|
+
* Creates ELEMENT ARRAY buffer.
|
|
389
|
+
* @public
|
|
390
|
+
* @param {TypedArray} array - Input array.
|
|
391
|
+
* @param {number} itemSize - Array item size.
|
|
392
|
+
* @param {number} numItems - Items quantity.
|
|
393
|
+
* @param {number} [usage=STATIC_DRAW] - Parameter of the bufferData call can be one of STATIC_DRAW, DYNAMIC_DRAW, or STREAM_DRAW.
|
|
394
|
+
* @return {Object} -
|
|
395
|
+
*/
|
|
396
|
+
createElementArrayBuffer(array: TypedArray, itemSize: number, numItems?: number, usage?: number): WebGLBufferExt;
|
|
397
|
+
/**
|
|
398
|
+
* Sets handler canvas size.
|
|
399
|
+
* @public
|
|
400
|
+
* @param {number} w - Canvas width.
|
|
401
|
+
* @param {number} h - Canvas height.
|
|
402
|
+
*/
|
|
403
|
+
setSize(w: number, h: number): void;
|
|
404
|
+
get pixelRatio(): number;
|
|
405
|
+
set pixelRatio(pr: number);
|
|
406
|
+
/**
|
|
407
|
+
* Returns context screen width.
|
|
408
|
+
* @public
|
|
409
|
+
* @returns {number} -
|
|
410
|
+
*/
|
|
411
|
+
getWidth(): number;
|
|
412
|
+
/**
|
|
413
|
+
* Returns context screen height.
|
|
414
|
+
* @public
|
|
415
|
+
* @returns {number} -
|
|
416
|
+
*/
|
|
417
|
+
getHeight(): number;
|
|
418
|
+
/**
|
|
419
|
+
* Returns canvas aspect ratio.
|
|
420
|
+
* @public
|
|
421
|
+
* @returns {number} -
|
|
422
|
+
*/
|
|
423
|
+
getClientAspect(): number;
|
|
424
|
+
/**
|
|
425
|
+
* Returns canvas center coordinates.
|
|
426
|
+
* @public
|
|
427
|
+
* @returns {number} -
|
|
428
|
+
*/
|
|
429
|
+
getCenter(): Vec2;
|
|
430
|
+
/**
|
|
431
|
+
* Draw single frame.
|
|
432
|
+
* @public
|
|
433
|
+
*/
|
|
434
|
+
drawFrame(): void;
|
|
435
|
+
/**
|
|
436
|
+
* Clearing gl frame.
|
|
437
|
+
* @public
|
|
438
|
+
*/
|
|
439
|
+
clearFrame(): void;
|
|
440
|
+
/**
|
|
441
|
+
* Starts animation loop.
|
|
442
|
+
* @public
|
|
443
|
+
*/
|
|
444
|
+
start(): void;
|
|
445
|
+
stop(): void;
|
|
446
|
+
isStopped(): boolean;
|
|
447
|
+
/**
|
|
448
|
+
* Check is gl context type equals webgl2
|
|
449
|
+
* @public
|
|
450
|
+
*/
|
|
451
|
+
isWebGl2(): boolean;
|
|
452
|
+
/**
|
|
453
|
+
* Make animation.
|
|
454
|
+
* @protected
|
|
455
|
+
*/
|
|
456
|
+
protected _animationFrameCallback(): void;
|
|
457
|
+
/**
|
|
458
|
+
* Creates default texture object
|
|
459
|
+
* @public
|
|
460
|
+
* @param {IDefaultTextureParams | null} params - Texture parameters:
|
|
461
|
+
* @param {(texture: WebGLTextureExt) => void} [success] - Creation callback
|
|
462
|
+
*/
|
|
463
|
+
createDefaultTexture(params: IDefaultTextureParams | null, success: (texture: WebGLTextureExt) => void): void;
|
|
464
|
+
deleteTexture(texture: WebGLTextureExt | null | undefined): void;
|
|
465
|
+
/**
|
|
466
|
+
* @public
|
|
467
|
+
*/
|
|
468
|
+
destroy(): void;
|
|
469
|
+
addClock(clock: Clock): void;
|
|
470
|
+
addClocks(clockArr: Clock[]): void;
|
|
471
|
+
removeClock(clock: Clock): void;
|
|
472
|
+
}
|
|
473
|
+
export { Handler };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { BaseFramebuffer, IBaseFramebufferParams } from "./BaseFramebuffer";
|
|
2
|
+
import { Handler } from "./Handler";
|
|
3
|
+
interface IMultisampleParams extends IBaseFramebufferParams {
|
|
4
|
+
msaa?: number;
|
|
5
|
+
internalFormat?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Class represents multisample framebuffer.
|
|
9
|
+
* @class
|
|
10
|
+
* @param {Handler} handler - WebGL handler.
|
|
11
|
+
* @param {Object} [options] - Framebuffer options:
|
|
12
|
+
*/
|
|
13
|
+
export declare class Multisample extends BaseFramebuffer {
|
|
14
|
+
protected _internalFormat: string;
|
|
15
|
+
protected _msaa: number;
|
|
16
|
+
protected _glFilter: number;
|
|
17
|
+
renderbuffers: WebGLRenderbuffer[];
|
|
18
|
+
constructor(handler: Handler, options?: IMultisampleParams);
|
|
19
|
+
destroy(): void;
|
|
20
|
+
/**
|
|
21
|
+
* Framebuffer initialization.
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
init(): void;
|
|
25
|
+
blitTo(framebuffer: BaseFramebuffer, attachmentIndex?: number): void;
|
|
26
|
+
}
|
|
27
|
+
export {};
|