@openglobus/og 0.28.7 → 1.0.0-rc10
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/LICENSE.md +218 -4
- package/README.md +33 -18
- package/lib/Deferred.d.ts +2 -2
- package/lib/Events.d.ts +1 -1
- package/lib/Globe.d.ts +22 -11
- package/lib/Object3d.d.ts +18 -15
- package/lib/Popup.d.ts +2 -2
- package/lib/assets/LabelWorker.worker-C24YLEkW.js.map +1 -0
- package/lib/assets/PlainSegmentWorker.worker-DJHXd0bF.js.map +1 -0
- package/lib/assets/TerrainWorker.worker-B4Gp0jCy.js.map +1 -0
- package/lib/bv/index.d.ts +2 -2
- package/lib/camera/Camera.d.ts +320 -33
- package/lib/camera/Frustum.d.ts +136 -15
- package/lib/camera/PlanetCamera.d.ts +114 -11
- package/lib/camera/index.d.ts +2 -2
- package/lib/control/CompassButton.d.ts +2 -2
- package/lib/control/EarthCoordinates.d.ts +5 -2
- package/lib/control/FramebufferPreview.d.ts +20 -4
- package/lib/control/GeoImageDragControl.d.ts +1 -1
- package/lib/control/LayerAnimation.d.ts +2 -2
- package/lib/control/LayerSwitcher.d.ts +3 -0
- package/lib/control/Lighting.d.ts +7 -2
- package/lib/control/Navigation.d.ts +27 -12
- package/lib/control/OrthoSwitcher.d.ts +18 -0
- package/lib/control/SimpleTouchNavigation.d.ts +44 -0
- package/lib/control/Sun.d.ts +4 -2
- package/lib/control/TouchNavigation.d.ts +4 -8
- package/lib/control/atmosphere/Atmosphere.d.ts +2 -0
- package/lib/control/atmosphere/AtmosphereConfig.d.ts +2 -6
- package/lib/control/depthCamera/DepthCamera.d.ts +118 -0
- package/lib/control/depthCamera/DepthCameraHandler.d.ts +25 -0
- package/lib/control/depthCamera/depth_camera.d.ts +2 -0
- package/lib/control/drawing/LineStringDrawingScene.d.ts +1 -0
- package/lib/control/drawing/PolygonDrawingScene.d.ts +14 -14
- package/lib/control/elevationProfile/ElevationProfile.d.ts +1 -1
- package/lib/control/elevationProfile/ElevationProfileLegend.d.ts +1 -1
- package/lib/control/elevationProfile/ElevationProfileScene.d.ts +9 -12
- package/lib/control/elevationProfile/ElevationProfileView.d.ts +16 -5
- package/lib/control/entityEditor/CameraEditorView.d.ts +62 -0
- package/lib/control/entityEditor/EntityEditor.d.ts +20 -0
- package/lib/control/entityEditor/EntityEditorDialog.d.ts +38 -0
- package/lib/control/{geoObjectEditor/GeoObjectEditorScene.d.ts → entityEditor/EntityEditorScene.d.ts} +28 -12
- package/lib/control/{geoObjectEditor/GeoObjectEditorDialog.d.ts → entityEditor/EntityEditorView.d.ts} +22 -23
- package/lib/control/entityEditor/ProjectorEditorView.d.ts +31 -0
- package/lib/control/{geoObjectEditor → entityEditor}/RotateEntity.d.ts +5 -1
- package/lib/control/{geoObjectEditor → entityEditor}/colors.d.ts +2 -2
- package/lib/control/entityTree/EntityTree.d.ts +46 -0
- package/lib/control/entityTree/EntityTreeView.d.ts +24 -0
- package/lib/control/heightRuler/HeightRulerScene.d.ts +3 -2
- package/lib/control/index.d.ts +7 -6
- package/lib/control/ruler/RulerScene.d.ts +8 -8
- package/lib/control/selection/SelectionScene.d.ts +6 -6
- package/lib/control/timeline/TimelineControl.d.ts +19 -2
- package/lib/control/timeline/TimelineModel.d.ts +1 -1
- package/lib/control/timeline/TimelineView.d.ts +52 -13
- package/lib/control/visibleExtent/segment.d.ts +7 -0
- package/lib/ellipsoid/index.d.ts +4 -4
- package/lib/entity/Entity.d.ts +114 -100
- package/lib/entity/EntityCollection.d.ts +140 -72
- package/lib/entity/{BaseBillboard.d.ts → billboard/BaseBillboard.d.ts} +16 -17
- package/lib/entity/{BaseBillboardHandler.d.ts → billboard/BaseBillboardHandler.d.ts} +24 -9
- package/lib/entity/{Billboard.d.ts → billboard/Billboard.d.ts} +11 -7
- package/lib/entity/{BillboardHandler.d.ts → billboard/BillboardHandler.d.ts} +1 -1
- package/lib/entity/{GeoObject.d.ts → geoObject/GeoObject.d.ts} +7 -6
- package/lib/entity/{GeoObjectHandler.d.ts → geoObject/GeoObjectHandler.d.ts} +32 -11
- package/lib/entity/{InstanceData.d.ts → geoObject/InstanceData.d.ts} +18 -13
- package/lib/entity/{Geometry.d.ts → geometry/Geometry.d.ts} +10 -10
- package/lib/entity/{GeometryHandler.d.ts → geometry/GeometryHandler.d.ts} +7 -7
- package/lib/entity/index.d.ts +8 -8
- package/lib/entity/{Label.d.ts → label/Label.d.ts} +12 -13
- package/lib/entity/{LabelHandler.d.ts → label/LabelHandler.d.ts} +31 -7
- package/lib/entity/{LabelWorker.d.ts → label/LabelWorker.d.ts} +3 -3
- package/lib/entity/{PointCloud.d.ts → pointCloud/PointCloud.d.ts} +18 -12
- package/lib/entity/{PointCloudHandler.d.ts → pointCloud/PointCloudHandler.d.ts} +4 -4
- package/lib/entity/polyline/Polyline.d.ts +242 -0
- package/lib/entity/polyline/PolylineBatchRenderer.d.ts +443 -0
- package/lib/entity/{PolylineHandler.d.ts → polyline/PolylineHandler.d.ts} +19 -7
- package/lib/entity/{Ray.d.ts → ray/Ray.d.ts} +29 -9
- package/lib/entity/{RayHandler.d.ts → ray/RayHandler.d.ts} +18 -8
- package/lib/entity/{Strip.d.ts → strip/Strip.d.ts} +21 -17
- package/lib/entity/{StripHandler.d.ts → strip/StripHandler.d.ts} +11 -6
- package/lib/index.d.ts +59 -42
- package/lib/layer/BaseGeoImage.d.ts +20 -17
- package/lib/layer/BaseTileMaterialLayer.d.ts +36 -0
- package/lib/layer/CanvasTiles.d.ts +20 -22
- package/lib/layer/GeoImage.d.ts +1 -1
- package/lib/layer/GeoTexture2d.d.ts +2 -2
- package/lib/layer/KML.d.ts +19 -18
- package/lib/layer/Layer.d.ts +72 -53
- package/lib/layer/Vector.d.ts +106 -37
- package/lib/layer/WMS.d.ts +1 -1
- package/lib/layer/XYZ.d.ts +14 -31
- package/lib/layer/index.d.ts +12 -12
- package/lib/math/Line2.d.ts +10 -1
- package/lib/math/Line3.d.ts +1 -1
- package/lib/math/Mat3.d.ts +3 -13
- package/lib/math/Mat4.d.ts +16 -10
- package/lib/math/Plane.d.ts +1 -1
- package/lib/math/Quat.d.ts +14 -12
- package/lib/math/Ray.d.ts +4 -3
- package/lib/math/Vec2.d.ts +25 -17
- package/lib/math/Vec3.d.ts +33 -31
- package/lib/math/Vec4.d.ts +1 -1
- package/lib/math/coder.d.ts +1 -1
- package/lib/math/index.d.ts +13 -14
- package/lib/mercator.d.ts +4 -4
- package/lib/og.css +2 -1
- package/lib/og.es.js +1 -1
- package/lib/og.es.js.map +1 -1
- package/lib/quadTree/EntityCollectionNode.d.ts +10 -10
- package/lib/quadTree/EntityCollectionsTreeStrategy.d.ts +8 -5
- package/lib/quadTree/QuadTreeStrategy.d.ts +6 -5
- package/lib/quadTree/earth/EarthEntityCollectionNodeLonLat.d.ts +4 -4
- package/lib/quadTree/earth/EarthEntityCollectionsTreeStrategy.d.ts +7 -4
- package/lib/quadTree/equi/EquiEntityCollectionsTreeStrategy.d.ts +3 -0
- package/lib/renderer/AtmosphereDeferredShading.d.ts +12 -0
- package/lib/renderer/IDeferredShadingPass.d.ts +8 -0
- package/lib/renderer/ITransparencyPass.d.ts +8 -0
- package/lib/renderer/PhongDeferredShading.d.ts +18 -0
- package/lib/renderer/Renderer.d.ts +195 -100
- package/lib/renderer/RendererEvents.d.ts +16 -5
- package/lib/renderer/WOITPass.d.ts +14 -0
- package/lib/renderer/cascadeShadows/CascadeShadowManager.d.ts +34 -0
- package/lib/renderer/cascadeShadows/CascadeShadowMap.d.ts +112 -0
- package/lib/renderer/cascadeShadows/cascade_shadow_depth.d.ts +2 -0
- package/lib/renderer/projectors/Projector.d.ts +66 -0
- package/lib/renderer/projectors/ProjectorManager.d.ts +85 -0
- package/lib/renderer/projectors/ProjectorsPass.d.ts +37 -0
- package/lib/renderer/shadows/ShadowManager.d.ts +40 -0
- package/lib/renderer/shadows/ShadowMap.d.ts +21 -0
- package/lib/renderer/textureUnits.d.ts +6 -0
- package/lib/res/fonts/Ephesis-Regular.json +1 -0
- package/lib/res/fonts/Ephesis-Regular.png +0 -0
- package/lib/res/fonts/Karla-Bold.json +1 -0
- package/lib/res/fonts/Karla-Bold.png +0 -0
- package/lib/res/fonts/Karla-Italic.json +1 -0
- package/lib/res/fonts/Karla-Italic.png +0 -0
- package/lib/res/fonts/Karla-Light.json +1 -0
- package/lib/res/fonts/Karla-Light.png +0 -0
- package/lib/res/fonts/Karla-Medium.json +1 -0
- package/lib/res/fonts/Karla-Medium.png +0 -0
- package/lib/res/fonts/Roboto-Regular.json +1 -37147
- package/lib/res/fonts/Roboto-Regular.png +0 -0
- package/lib/res/fonts/arial.json +1 -4321
- package/lib/res/fonts/arial.png +0 -0
- package/lib/res/night-4326.png +0 -0
- package/lib/res/night.png +0 -0
- package/lib/scene/AltitudeNearPlaneStrategy.d.ts +17 -0
- package/lib/scene/Axes.d.ts +4 -3
- package/lib/scene/Planet.d.ts +268 -72
- package/lib/scene/{RenderNode.d.ts → Scene.d.ts} +47 -51
- package/lib/scene/SkyBox.d.ts +7 -4
- package/lib/scene/index.d.ts +2 -2
- package/lib/segment/Segment.d.ts +38 -15
- package/lib/segment/SegmentLonLat.d.ts +0 -1
- package/lib/shadeModeConstants.d.ts +7 -0
- package/lib/shaders/applyDeferredDepth.d.ts +2 -0
- package/lib/shaders/atmos/atmos.d.ts +3 -3
- package/lib/shaders/billboard/billboard.d.ts +4 -3
- package/lib/shaders/common/uniforms.d.ts +27 -0
- package/lib/shaders/deferredShading/deferredShading.d.ts +2 -0
- package/lib/shaders/deferredShading/deferredShadingAtmos.d.ts +3 -0
- package/lib/shaders/depth.d.ts +2 -2
- package/lib/shaders/geo_object/geo_object.d.ts +9 -4
- package/lib/shaders/label/label.d.ts +4 -4
- package/lib/shaders/pointCloud.d.ts +2 -2
- package/lib/shaders/polyline/polyline.d.ts +7 -3
- package/lib/shaders/projectorsPass/projectorsPass.d.ts +2 -0
- package/lib/shaders/ray/ray.d.ts +3 -2
- package/lib/shaders/screenFrame.d.ts +2 -2
- package/lib/shaders/segment/segment.d.ts +7 -0
- package/lib/shaders/skybox.d.ts +2 -2
- package/lib/shaders/strip/strip.d.ts +3 -0
- package/lib/shaders/tone_mapping/toneMapping.d.ts +2 -2
- package/lib/shaders/varianceBlur.d.ts +2 -0
- package/lib/shaders/weightedOITResolve.d.ts +2 -0
- package/lib/terrain/BilTerrain.d.ts +1 -1
- package/lib/terrain/EmptyTerrain.d.ts +6 -7
- package/lib/terrain/GlobusTerrain.d.ts +18 -23
- package/lib/terrain/MapterhornTerrain.d.ts +10 -0
- package/lib/terrain/RgbTerrain.d.ts +19 -8
- package/lib/terrain/index.d.ts +10 -6
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/ui/Button.d.ts +7 -5
- package/lib/ui/ButtonGroup.d.ts +1 -1
- package/lib/ui/Checkbox.d.ts +2 -2
- package/lib/ui/Color.d.ts +7 -4
- package/lib/ui/Dialog.d.ts +30 -3
- package/lib/ui/Input.d.ts +19 -3
- package/lib/ui/Slider.d.ts +5 -2
- package/lib/ui/TitleBarView.d.ts +21 -0
- package/lib/ui/ToggleButton.d.ts +2 -2
- package/lib/ui/View.d.ts +1 -1
- package/lib/ui/icons.d.ts +1 -1
- package/lib/ui/index.d.ts +10 -9
- package/lib/utils/FontAtlas.d.ts +61 -10
- package/lib/utils/GeoImageCreator.d.ts +2 -2
- package/lib/utils/ImagesCacheManager.d.ts +3 -3
- package/lib/utils/Loader.d.ts +2 -2
- package/lib/utils/PlainSegmentWorker.d.ts +2 -2
- package/lib/utils/TerrainWorker.d.ts +2 -2
- package/lib/utils/TextureAtlas.d.ts +7 -2
- package/lib/utils/TextureResourceManager.d.ts +162 -0
- package/lib/utils/VectorTileCreator.d.ts +1 -1
- package/lib/utils/colorSpace.d.ts +9 -0
- package/lib/utils/gltf/gltfParser.d.ts +9 -2
- package/lib/utils/gltf/types.d.ts +24 -5
- package/lib/utils/shared.d.ts +12 -5
- package/lib/utils/textureResourceMeta.d.ts +9 -0
- package/lib/webgl/BaseFramebuffer.d.ts +35 -0
- package/lib/webgl/Framebuffer.d.ts +14 -13
- package/lib/webgl/Handler.d.ts +94 -99
- package/lib/webgl/ShaderProgram.d.ts +190 -0
- package/lib/webgl/index.d.ts +2 -2
- package/lib/webgl/variableHandlers.d.ts +2 -1
- package/package.json +79 -76
- package/lib/assets/LabelWorker.worker-BT1uJgYn.js.map +0 -1
- package/lib/assets/PlainSegmentWorker.worker-CT1cj8jj.js.map +0 -1
- package/lib/assets/TerrainWorker.worker-DmikdfB2.js.map +0 -1
- package/lib/control/CameraFrameComposer.d.ts +0 -19
- package/lib/control/CameraFrameHandler.d.ts +0 -26
- package/lib/control/OldMouseNavigation.d.ts +0 -65
- package/lib/control/ZoomControl.d.ts +0 -28
- package/lib/control/cameraDepthHandler/CameraDepthHandler.d.ts +0 -28
- package/lib/control/cameraDepthHandler/camera_depth.d.ts +0 -2
- package/lib/control/geoObjectEditor/GeoObjectEditor.d.ts +0 -13
- package/lib/control/visibleExtent/drawnode.d.ts +0 -7
- package/lib/entity/Polyline.d.ts +0 -417
- package/lib/light/LightSource.d.ts +0 -36
- package/lib/res/fonts/Roboto-Regular.ttf.cfg +0 -1340
- package/lib/res/fonts/Roboto-Regular.ttf.png +0 -0
- package/lib/res/fonts/arial.ttf.cfg +0 -1570
- package/lib/res/fonts/arial.ttf.png +0 -0
- package/lib/scene/BaseNode.d.ts +0 -61
- package/lib/shaders/drawnode/drawnode.d.ts +0 -8
- package/lib/webgl/Program.d.ts +0 -161
- package/lib/webgl/ProgramController.d.ts +0 -87
- /package/lib/control/{geoObjectEditor → entityEditor}/ArrowEntity.d.ts +0 -0
- /package/lib/control/{geoObjectEditor → entityEditor}/AxisTrackEntity.d.ts +0 -0
- /package/lib/control/{geoObjectEditor → entityEditor}/MoveAxisEntity.d.ts +0 -0
- /package/lib/control/{geoObjectEditor → entityEditor}/MovePlaneEntity.d.ts +0 -0
- /package/lib/entity/{LabelWorker.worker.d.ts → label/LabelWorker.worker.d.ts} +0 -0
|
@@ -2,26 +2,41 @@ import { Camera } from "../camera/Camera";
|
|
|
2
2
|
import { Control } from "../control/Control";
|
|
3
3
|
import type { IBaseInputState, RendererEventsHandler } from "./RendererEvents";
|
|
4
4
|
import { EntityCollection } from "../entity/EntityCollection";
|
|
5
|
-
import { Framebuffer, Multisample } from "../webgl/index";
|
|
5
|
+
import { Framebuffer, Multisample, ShaderProgram } from "../webgl/index";
|
|
6
6
|
import { FontAtlas } from "../utils/FontAtlas";
|
|
7
7
|
import { Handler } from "../webgl/Handler";
|
|
8
|
-
import type { WebGLBufferExt } from "../webgl/Handler";
|
|
9
|
-
import { LabelWorker } from "../entity/LabelWorker";
|
|
10
|
-
import {
|
|
8
|
+
import type { WebGLBufferExt, WebGLTextureExt } from "../webgl/Handler";
|
|
9
|
+
import { LabelWorker } from "../entity/label/LabelWorker";
|
|
10
|
+
import { Scene } from "../scene/Scene";
|
|
11
|
+
import type { IDeferredShadingPass } from "./IDeferredShadingPass";
|
|
12
|
+
import type { ITransparencyPass } from "./ITransparencyPass";
|
|
13
|
+
import { ProjectorManager } from "./projectors/ProjectorManager";
|
|
14
|
+
import { CascadeShadowManager } from "./cascadeShadows/CascadeShadowManager";
|
|
15
|
+
import { ShadowManager } from "./shadows/ShadowManager";
|
|
16
|
+
import { TextureResourceManager } from "../utils/TextureResourceManager";
|
|
17
|
+
import type { RendererTextureRequest } from "../utils/TextureResourceManager";
|
|
11
18
|
import { TextureAtlas } from "../utils/TextureAtlas";
|
|
12
19
|
import { Vec2 } from "../math/Vec2";
|
|
13
20
|
import { Vec3 } from "../math/Vec3";
|
|
14
21
|
import type { NumberArray3 } from "../math/Vec3";
|
|
15
22
|
import { Vec4 } from "../math/Vec4";
|
|
23
|
+
import type { NumberArray4 } from "../math/Vec4";
|
|
16
24
|
export interface IRendererParams {
|
|
17
25
|
controls?: Control[];
|
|
18
26
|
msaa?: number;
|
|
19
27
|
autoActivate?: boolean;
|
|
28
|
+
deferredDisabled?: boolean;
|
|
20
29
|
fontsSrc?: string;
|
|
21
30
|
gamma?: number;
|
|
22
31
|
exposure?: number;
|
|
32
|
+
frameOpacity?: number;
|
|
33
|
+
toneMapping?: string;
|
|
23
34
|
dpi?: number;
|
|
24
35
|
clearColor?: [number, number, number, number];
|
|
36
|
+
lightPosition?: NumberArray3;
|
|
37
|
+
lightAmbient?: NumberArray3;
|
|
38
|
+
lightDiffuse?: NumberArray3;
|
|
39
|
+
lightSpecular?: NumberArray4;
|
|
25
40
|
}
|
|
26
41
|
interface IPickingObject {
|
|
27
42
|
_pickingColor?: Vec3;
|
|
@@ -33,37 +48,52 @@ interface IFrameCallbackHandler {
|
|
|
33
48
|
sender: any;
|
|
34
49
|
}
|
|
35
50
|
/**
|
|
36
|
-
*
|
|
51
|
+
* High-level WebGL interface that runs the WebGL handler in real time.
|
|
37
52
|
* @class
|
|
38
|
-
* @param {Handler} handler - WebGL handler
|
|
39
|
-
* @param {
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* @fires
|
|
56
|
-
* @fires
|
|
57
|
-
* @fires
|
|
58
|
-
* @fires
|
|
59
|
-
* @fires
|
|
60
|
-
* @fires
|
|
61
|
-
* @fires
|
|
62
|
-
* @fires
|
|
63
|
-
* @fires
|
|
64
|
-
* @fires
|
|
65
|
-
* @fires
|
|
66
|
-
* @fires
|
|
53
|
+
* @param {Handler | string | HTMLCanvasElement} handler - WebGL handler instance or canvas target selector/element.
|
|
54
|
+
* @param {IRendererParams} [params={}] - Renderer parameters:
|
|
55
|
+
* - controls: Control instances to add to the renderer
|
|
56
|
+
* - msaa: MSAA (Multi-Sample Anti-Aliasing) level
|
|
57
|
+
* - autoActivate: Start rendering automatically after creation
|
|
58
|
+
* - deferredDisabled: Disable deferred shading pipeline and render deferred objects with forward shaders
|
|
59
|
+
* - fontsSrc: Path to font resources
|
|
60
|
+
* - gamma: Gamma correction value
|
|
61
|
+
* - exposure: HDR exposure value
|
|
62
|
+
* - frameOpacity: Scene objects opacity used with transparentBackground to achieve an AR effect
|
|
63
|
+
* - toneMapping: HDR tone mapping operator
|
|
64
|
+
* - dpi: Device pixel ratio
|
|
65
|
+
* - clearColor: RGBA clear color array
|
|
66
|
+
* - lightPosition: Light position `[x, y, z]`
|
|
67
|
+
* - lightAmbient: Light ambient color `[r, g, b]`
|
|
68
|
+
* - lightDiffuse: Light diffuse color `[r, g, b]`
|
|
69
|
+
* - lightSpecular: Light specular `[r, g, b, shininess]`
|
|
70
|
+
* @fires predraw - Triggered before each frame is rendered.
|
|
71
|
+
* @fires resize - Triggered when the canvas is resized.
|
|
72
|
+
* @fires mousemove - Triggered when the mouse moves over the canvas.
|
|
73
|
+
* @fires mousestop - Triggered when the mouse stops moving.
|
|
74
|
+
* @fires lclick - Triggered on left mouse button click.
|
|
75
|
+
* @fires rclick - Triggered on right mouse button click.
|
|
76
|
+
* @fires mclick - Triggered on middle mouse button click.
|
|
77
|
+
* @fires ldblclick - Triggered on left mouse button double-click.
|
|
78
|
+
* @fires rdblclick - Triggered on right mouse button double-click.
|
|
79
|
+
* @fires mdblclick - Triggered on middle mouse button double-click.
|
|
80
|
+
* @fires lup - Triggered when the left mouse button is released.
|
|
81
|
+
* @fires rup - Triggered when the right mouse button is released.
|
|
82
|
+
* @fires mup - Triggered when the middle mouse button is released.
|
|
83
|
+
* @fires ldown - Triggered when the left mouse button is pressed.
|
|
84
|
+
* @fires rdown - Triggered when the right mouse button is pressed.
|
|
85
|
+
* @fires mdown - Triggered when the middle mouse button is pressed.
|
|
86
|
+
* @fires lhold - Triggered while the left mouse button is held.
|
|
87
|
+
* @fires rhold - Triggered while the right mouse button is held.
|
|
88
|
+
* @fires mhold - Triggered while the middle mouse button is held.
|
|
89
|
+
* @fires mousewheel - Triggered on mouse wheel scroll.
|
|
90
|
+
* @fires touchstart - Triggered on touch start.
|
|
91
|
+
* @fires touchend - Triggered on the touch end.
|
|
92
|
+
* @fires touchcancel - Triggered on touch cancel.
|
|
93
|
+
* @fires touchmove - Triggered on touch move.
|
|
94
|
+
* @fires doubletouch - Triggered on double touch.
|
|
95
|
+
* @fires touchleave - Triggered when touch leaves the canvas.
|
|
96
|
+
* @fires touchenter - Triggered when touch enters the canvas.
|
|
67
97
|
*/
|
|
68
98
|
export interface HTMLDivElementExt extends HTMLDivElement {
|
|
69
99
|
attributions?: HTMLElement;
|
|
@@ -75,6 +105,9 @@ declare class Renderer {
|
|
|
75
105
|
* @type {HTMLElement | null}
|
|
76
106
|
*/
|
|
77
107
|
div: HTMLDivElementExt | null;
|
|
108
|
+
protected _topLeftContainer: HTMLDivElement;
|
|
109
|
+
protected _topRightContainer: HTMLDivElement;
|
|
110
|
+
protected _bottomRightContainer: HTMLDivElement;
|
|
78
111
|
/**
|
|
79
112
|
* WebGL handler context.
|
|
80
113
|
* @public
|
|
@@ -84,19 +117,20 @@ declare class Renderer {
|
|
|
84
117
|
exposure: number;
|
|
85
118
|
gamma: number;
|
|
86
119
|
whitepoint: number;
|
|
120
|
+
protected _toneMapping: string;
|
|
87
121
|
brightThreshold: number;
|
|
88
122
|
/**
|
|
89
123
|
* Render nodes drawing queue.
|
|
90
124
|
* @public
|
|
91
|
-
* @type {Array.<
|
|
125
|
+
* @type {Array.<Scene>}
|
|
92
126
|
*/
|
|
93
|
-
|
|
127
|
+
_scenesArr: Scene[];
|
|
94
128
|
/**
|
|
95
129
|
* Render nodes store for the comfortable access by the node name.
|
|
96
130
|
* @public
|
|
97
|
-
* @type {Object.<
|
|
131
|
+
* @type {Object.<Scene>}
|
|
98
132
|
*/
|
|
99
|
-
|
|
133
|
+
scenes: Record<string, Scene>;
|
|
100
134
|
/**
|
|
101
135
|
* Current active camera.
|
|
102
136
|
* @public
|
|
@@ -104,7 +138,7 @@ declare class Renderer {
|
|
|
104
138
|
*/
|
|
105
139
|
activeCamera: Camera;
|
|
106
140
|
/**
|
|
107
|
-
* Renderer events. Represents interface for setting events like mousemove,
|
|
141
|
+
* Renderer events. Represents interface for setting events like mousemove, predraw, keypress etc.
|
|
108
142
|
* @public
|
|
109
143
|
* @type {RendererEvents}
|
|
110
144
|
*/
|
|
@@ -133,7 +167,7 @@ declare class Renderer {
|
|
|
133
167
|
*/
|
|
134
168
|
protected _pickingCallbacks: IFrameCallbackHandler[];
|
|
135
169
|
/**
|
|
136
|
-
* Picking objects(labels and billboards) framebuffer.
|
|
170
|
+
* Picking objects (labels and billboards) framebuffer.
|
|
137
171
|
* @public
|
|
138
172
|
* @type {Framebuffer}
|
|
139
173
|
*/
|
|
@@ -146,15 +180,18 @@ declare class Renderer {
|
|
|
146
180
|
depthFramebuffer: Framebuffer | null;
|
|
147
181
|
protected _msaa: number;
|
|
148
182
|
protected _internalFormat: string;
|
|
149
|
-
protected
|
|
150
|
-
protected _type: string;
|
|
183
|
+
protected _depthComponent: string;
|
|
151
184
|
protected _depthRefreshRequired: boolean;
|
|
152
|
-
|
|
153
|
-
protected
|
|
185
|
+
forwardFramebuffer: Multisample | null;
|
|
186
|
+
protected hdrFramebuffer: Framebuffer | null;
|
|
187
|
+
deferredDisabled: boolean;
|
|
188
|
+
frameOpacity: number;
|
|
189
|
+
deferredShadingPass: IDeferredShadingPass;
|
|
190
|
+
transparencyPass: ITransparencyPass;
|
|
154
191
|
protected toneMappingFramebuffer: Framebuffer | null;
|
|
155
192
|
protected _initialized: boolean;
|
|
156
193
|
/**
|
|
157
|
-
* Texture atlas for the
|
|
194
|
+
* Texture atlas for the billboard images.
|
|
158
195
|
* @public
|
|
159
196
|
* @type {TextureAtlas}
|
|
160
197
|
*/
|
|
@@ -166,99 +203,140 @@ declare class Renderer {
|
|
|
166
203
|
*/
|
|
167
204
|
fontAtlas: FontAtlas;
|
|
168
205
|
/**
|
|
169
|
-
* Texture atlas for the rays, polylines and strips entities.
|
|
206
|
+
* Texture atlas for the rays, polylines, and strips entities.
|
|
170
207
|
* @public
|
|
171
208
|
* @type {TextureAtlas}
|
|
172
209
|
*/
|
|
173
210
|
strokeTextureAtlas: TextureAtlas;
|
|
174
211
|
protected _entityCollections: EntityCollection[][];
|
|
175
212
|
protected _currentOutput: string;
|
|
176
|
-
protected _fnScreenFrame: Function | null;
|
|
177
213
|
labelWorker: LabelWorker;
|
|
178
214
|
screenDepthFramebuffer: Framebuffer | null;
|
|
179
215
|
screenFramePositionBuffer: WebGLBufferExt | null;
|
|
180
216
|
screenTexture: Record<string, WebGLTexture>;
|
|
181
217
|
outputTexture: WebGLTexture | null;
|
|
182
|
-
protected _readPickingBuffer: () => void;
|
|
183
218
|
clearColor: Float32Array;
|
|
219
|
+
protected _textureResourceManager: TextureResourceManager;
|
|
220
|
+
_lightPosition: Float32Array;
|
|
221
|
+
_lightAmbient: Float32Array;
|
|
222
|
+
_lightDiffuse: Float32Array;
|
|
223
|
+
_lightSpecular: Float32Array;
|
|
224
|
+
projectors: ProjectorManager;
|
|
225
|
+
cascadeShadowManager: CascadeShadowManager;
|
|
226
|
+
shadows: ShadowManager;
|
|
184
227
|
constructor(handler: Handler | string | HTMLCanvasElement, params?: IRendererParams);
|
|
185
228
|
enableBlendOneSrcAlpha(): void;
|
|
229
|
+
set lightAmbient(lightAmbient: NumberArray3 | Float32Array);
|
|
230
|
+
get lightAmbient(): NumberArray3;
|
|
231
|
+
set lightDiffuse(lightDiffuse: NumberArray3 | Float32Array);
|
|
232
|
+
get lightDiffuse(): NumberArray3;
|
|
233
|
+
set lightSpecular(lightSpecular: NumberArray4 | Float32Array);
|
|
234
|
+
get lightSpecular(): NumberArray4;
|
|
235
|
+
/**
|
|
236
|
+
* Sets HDR tone mapping operator and recompiles tone mapping shader.
|
|
237
|
+
* @public
|
|
238
|
+
* @param {string} operator - Tone mapping operator name.
|
|
239
|
+
*/
|
|
240
|
+
setToneMapping(operator: string): this;
|
|
241
|
+
/**
|
|
242
|
+
* Returns HDR tone mapping operator.
|
|
243
|
+
* @public
|
|
244
|
+
* @returns {string}
|
|
245
|
+
*/
|
|
246
|
+
getToneMapping(): string;
|
|
186
247
|
enableBlendDefault(): void;
|
|
248
|
+
enableBlendWoit(): void;
|
|
249
|
+
/**
|
|
250
|
+
* Sets depth compare and clear value for the camera (reverse-Z vs classic).
|
|
251
|
+
* Pass null to restore the classic depth state:
|
|
252
|
+
* depthFunc(LESS), clearDepth(1), and clip-control NEGATIVE_ONE_TO_ONE.
|
|
253
|
+
*/
|
|
254
|
+
applyDepthForCamera(camera?: Camera | null): void;
|
|
187
255
|
setRelativeCenter(c?: Vec3): void;
|
|
188
256
|
/**
|
|
189
|
-
*
|
|
190
|
-
* @
|
|
257
|
+
* Enables or disables renderer events.
|
|
258
|
+
* @public
|
|
259
|
+
* @param {boolean} activity - Events activity flag.
|
|
191
260
|
*/
|
|
192
261
|
setEventsActivity(activity: boolean): void;
|
|
193
262
|
addDepthCallback(sender: any, callback: Function): number;
|
|
194
263
|
removeDepthCallback(id: number): void;
|
|
195
264
|
/**
|
|
196
|
-
* Adds picking
|
|
197
|
-
* @
|
|
198
|
-
* @param {
|
|
199
|
-
* @
|
|
265
|
+
* Adds a picking render callback.
|
|
266
|
+
* @public
|
|
267
|
+
* @param {any} sender - Callback context.
|
|
268
|
+
* @param {Function} callback - Render callback function.
|
|
269
|
+
* @returns {number} Callback ID.
|
|
200
270
|
*/
|
|
201
271
|
addPickingCallback(sender: any, callback: Function): number;
|
|
202
272
|
/**
|
|
203
|
-
* Removes picking
|
|
204
|
-
* @
|
|
273
|
+
* Removes a picking render callback.
|
|
274
|
+
* @public
|
|
275
|
+
* @param {number} id - Callback ID to remove.
|
|
205
276
|
*/
|
|
206
277
|
removePickingCallback(id: number): void;
|
|
207
278
|
getPickingObject<T>(r: number, g: number, b: number): T;
|
|
208
279
|
getPickingObjectArr<T>(arr: NumberArray3 | Uint8Array): T;
|
|
209
280
|
getPickingObject3v<T>(vec: Vec3 | Vec4): T;
|
|
210
281
|
/**
|
|
211
|
-
*
|
|
282
|
+
* Assigns a picking color to an object.
|
|
212
283
|
* @public
|
|
213
|
-
* @param {Object} obj - Object that
|
|
284
|
+
* @param {Object} obj - Object that receives a picking color.
|
|
214
285
|
*/
|
|
215
286
|
assignPickingColor<T>(obj: T & IPickingObject): void;
|
|
216
287
|
/**
|
|
217
|
-
* Removes picking color from object.
|
|
288
|
+
* Removes the picking color from an object.
|
|
218
289
|
* @public
|
|
219
|
-
* @param {Object} obj - Object to
|
|
290
|
+
* @param {Object} obj - Object to clear the picking color from.
|
|
220
291
|
*/
|
|
221
292
|
clearPickingColor<T>(obj: T & IPickingObject): void;
|
|
293
|
+
get viewportWidth(): number;
|
|
294
|
+
get viewportHeight(): number;
|
|
295
|
+
get internalFormat(): string;
|
|
296
|
+
get depthComponent(): string;
|
|
222
297
|
/**
|
|
223
|
-
*
|
|
298
|
+
* Returns the canvas client width.
|
|
224
299
|
* @public
|
|
225
|
-
* @returns {number}
|
|
300
|
+
* @returns {number}
|
|
226
301
|
*/
|
|
227
302
|
getWidth(): number;
|
|
228
303
|
/**
|
|
229
|
-
*
|
|
304
|
+
* Returns the canvas client height.
|
|
230
305
|
* @public
|
|
231
|
-
* @returns {number}
|
|
306
|
+
* @returns {number}
|
|
232
307
|
*/
|
|
233
308
|
getHeight(): number;
|
|
234
309
|
/**
|
|
235
|
-
*
|
|
310
|
+
* Returns the canvas viewport center.
|
|
236
311
|
* @public
|
|
237
|
-
* @returns {Vec2}
|
|
312
|
+
* @returns {Vec2}
|
|
238
313
|
*/
|
|
239
|
-
|
|
314
|
+
getViewportCenter(): Vec2;
|
|
240
315
|
/**
|
|
241
|
-
*
|
|
316
|
+
* Adds a control to the renderer.
|
|
242
317
|
* @public
|
|
243
|
-
* @returns {Vec2} -
|
|
244
|
-
*/
|
|
245
|
-
getClientCenter(): Vec2;
|
|
246
|
-
/**
|
|
247
|
-
* Add the given control to the renderer.
|
|
248
318
|
* @param {Control} control - Control.
|
|
249
319
|
*/
|
|
250
320
|
addControl(control: Control): void;
|
|
251
321
|
/**
|
|
252
|
-
*
|
|
322
|
+
* Adds an array of controls to the renderer.
|
|
323
|
+
* @public
|
|
253
324
|
* @param {Array.<Control>} cArr - Control array.
|
|
254
325
|
*/
|
|
255
326
|
addControls(cArr: Control[]): void;
|
|
256
327
|
/**
|
|
257
|
-
*
|
|
258
|
-
* @
|
|
328
|
+
* Removes a control from the renderer.
|
|
329
|
+
* @public
|
|
330
|
+
* @param {Control} control - Control.
|
|
259
331
|
*/
|
|
260
332
|
removeControl(control: Control): void;
|
|
261
333
|
isInitialized(): boolean;
|
|
334
|
+
protected _appendControlContainers(): void;
|
|
335
|
+
acquireTexture(params: RendererTextureRequest): WebGLTextureExt | null;
|
|
336
|
+
releaseTexture(texture: WebGLTextureExt | null | undefined): void;
|
|
337
|
+
topLeftContainer(): HTMLDivElement;
|
|
338
|
+
topRightContainer(): HTMLDivElement;
|
|
339
|
+
bottomRightContainer(): HTMLDivElement;
|
|
262
340
|
/**
|
|
263
341
|
* Renderer initialization.
|
|
264
342
|
* @public
|
|
@@ -269,42 +347,43 @@ declare class Renderer {
|
|
|
269
347
|
setCurrentScreen(screenName: string): void;
|
|
270
348
|
_resizeStart(): void;
|
|
271
349
|
_resizeEnd(): void;
|
|
272
|
-
removeNode(
|
|
350
|
+
removeNode(scene: Scene): void;
|
|
273
351
|
/**
|
|
274
|
-
* Adds
|
|
352
|
+
* Adds a scene to the renderer.
|
|
275
353
|
* @public
|
|
276
|
-
* @param {
|
|
354
|
+
* @param {Scene} scene - Scene.
|
|
277
355
|
*/
|
|
278
|
-
|
|
279
|
-
protected
|
|
356
|
+
addScene(scene: Scene): void;
|
|
357
|
+
protected _initializeScenes(): void;
|
|
280
358
|
/**
|
|
281
|
-
* Adds
|
|
359
|
+
* Adds a scene to the renderer before a specific node.
|
|
282
360
|
* @public
|
|
283
|
-
* @param {
|
|
284
|
-
* @param {
|
|
361
|
+
* @param {Scene} scene - Render node.
|
|
362
|
+
* @param {Scene} sceneBefore - Insert before the sceneBefore node.
|
|
285
363
|
*/
|
|
286
|
-
|
|
364
|
+
addSceneBefore(scene: Scene, sceneBefore: Scene): void;
|
|
287
365
|
/**
|
|
288
|
-
* Adds
|
|
366
|
+
* Adds scenes to the renderer.
|
|
289
367
|
* @public
|
|
290
|
-
* @param {Array.<
|
|
368
|
+
* @param {Array.<Scene>} nodesArr - Render nodes array.
|
|
291
369
|
*/
|
|
292
|
-
|
|
293
|
-
getMaxMSAA(internalFormat: string):
|
|
370
|
+
addScenes(nodesArr: Scene[]): void;
|
|
371
|
+
getMaxMSAA(internalFormat: string): number;
|
|
294
372
|
getMSAA(): number;
|
|
295
373
|
/**
|
|
296
|
-
* TODO: replace with cache
|
|
374
|
+
* TODO: replace with cache-friendly linked list by BillboardHandler, LabelHandler etc.
|
|
297
375
|
*/
|
|
298
376
|
enqueueEntityCollectionsToDraw(ecArr: EntityCollection[], depthOrder?: number): void;
|
|
299
377
|
/**
|
|
300
378
|
* Forces the depth buffer to be refreshed in the next frame.
|
|
301
|
-
* Has effect for terrain altitude estimate precision.
|
|
379
|
+
* Has an effect for terrain altitude estimate precision.
|
|
302
380
|
*/
|
|
303
381
|
markForDepthRefresh(): void;
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
protected
|
|
382
|
+
protected _drawGBufferEntityCollections(depthOrder: number): void;
|
|
383
|
+
protected _drawForwardEntityCollections(depthOrder: number): void;
|
|
384
|
+
protected _drawLabelsForwardEntityCollections(depthOrder: number): void;
|
|
385
|
+
protected _drawTransparentEntityCollections(depthOrder: number): void;
|
|
386
|
+
protected _drawTransparentEntityCollectionsForward(depthOrder: number): void;
|
|
308
387
|
protected _drawPickingEntityCollections(depthOrder: number): void;
|
|
309
388
|
protected _drawDepthEntityCollections(depthOrder: number): void;
|
|
310
389
|
protected _clearEntityCollectionQueue(depthOrder: number): void;
|
|
@@ -313,9 +392,7 @@ declare class Renderer {
|
|
|
313
392
|
* @public
|
|
314
393
|
*/
|
|
315
394
|
draw(): void;
|
|
316
|
-
|
|
317
|
-
protected _screenFrameMSAA(): void;
|
|
318
|
-
protected _screenFrameNoMSAA(): void;
|
|
395
|
+
protected _screenFrame(): void;
|
|
319
396
|
/**
|
|
320
397
|
* Draw picking objects framebuffer.
|
|
321
398
|
* @private
|
|
@@ -323,8 +400,7 @@ declare class Renderer {
|
|
|
323
400
|
protected _drawPickingBuffer(depthOrder: number): void;
|
|
324
401
|
protected _drawDepthBuffer(depthOrder: number): void;
|
|
325
402
|
protected _readDepthBuffer(callback?: () => void): void;
|
|
326
|
-
protected
|
|
327
|
-
protected _readPickingBuffer_webgl2(): void;
|
|
403
|
+
protected _readPickingBuffer(): void;
|
|
328
404
|
readPickingColor(x: number, y: number, outColor: NumberArray3 | Uint8Array): void;
|
|
329
405
|
readDepth(x: number, y: number, outDepth: NumberArray3 | Float32Array): void;
|
|
330
406
|
/**
|
|
@@ -351,5 +427,24 @@ declare class Renderer {
|
|
|
351
427
|
*/
|
|
352
428
|
start(): void;
|
|
353
429
|
destroy(): void;
|
|
430
|
+
/**
|
|
431
|
+
* Adds a shader program to the renderer if it has not been added yet.
|
|
432
|
+
* @public
|
|
433
|
+
* @param {ShaderProgram} program - ShaderProgram instance.
|
|
434
|
+
*/
|
|
435
|
+
addProgram(program: ShaderProgram): void;
|
|
436
|
+
/**
|
|
437
|
+
* Adds one or more programs to the renderer.
|
|
438
|
+
* Supports both individual programs and nested program arrays.
|
|
439
|
+
* @public
|
|
440
|
+
* @param {...(ShaderProgram | ShaderProgram[])} programs - ShaderProgram list.
|
|
441
|
+
*/
|
|
442
|
+
addPrograms(...programs: (ShaderProgram | ShaderProgram[])[]): void;
|
|
443
|
+
/**
|
|
444
|
+
* Alias for {@link Renderer.addPrograms}.
|
|
445
|
+
* @public
|
|
446
|
+
* @param {...(ShaderProgram | ShaderProgram[])} programs - ShaderProgram list.
|
|
447
|
+
*/
|
|
448
|
+
addShaders(...programs: (ShaderProgram | ShaderProgram[])[]): void;
|
|
354
449
|
}
|
|
355
450
|
export { Renderer };
|
|
@@ -7,13 +7,18 @@ import { Renderer } from "./Renderer";
|
|
|
7
7
|
import { PointerHandler, type PointerEventExt } from "../input/PointerHandler";
|
|
8
8
|
import { Vec2 } from "../math/Vec2";
|
|
9
9
|
import { Vec3 } from "../math/Vec3";
|
|
10
|
+
import { Ray } from "../math/Ray";
|
|
10
11
|
export type RendererEventsHandler = RendererEvents & EventsHandler<RendererEventsType>;
|
|
11
12
|
export declare function createRendererEvents(renderer: Renderer): RendererEvents;
|
|
12
13
|
export type RendererEventsType = [
|
|
13
14
|
"projchanged",
|
|
14
15
|
"changerelativecenter",
|
|
16
|
+
"predraw",
|
|
15
17
|
"draw",
|
|
16
|
-
"
|
|
18
|
+
"forwardpass",
|
|
19
|
+
"postforwardpass",
|
|
20
|
+
"transparentpass",
|
|
21
|
+
"gbufferpass",
|
|
17
22
|
"postdraw",
|
|
18
23
|
"resize",
|
|
19
24
|
"resizeend",
|
|
@@ -66,6 +71,12 @@ export interface IBaseInputState {
|
|
|
66
71
|
prev_y: number;
|
|
67
72
|
/** Screen touch position world direction. */
|
|
68
73
|
direction: Vec3;
|
|
74
|
+
/**
|
|
75
|
+
* World-space picking ray.
|
|
76
|
+
* Perspective: origin is camera.eye.
|
|
77
|
+
* Orthographic: origin is per-pixel on the view plane, direction is camera forward.
|
|
78
|
+
*/
|
|
79
|
+
ray: Ray;
|
|
69
80
|
/** Current touched(picking) object. */
|
|
70
81
|
pickingObject: any | null;
|
|
71
82
|
/** Renderer instance. */
|
|
@@ -106,9 +117,9 @@ export interface IMouseState extends IBaseInputState {
|
|
|
106
117
|
middleButtonClick: boolean;
|
|
107
118
|
/** Mouse has just stopped now. */
|
|
108
119
|
justStopped: boolean;
|
|
109
|
-
/**
|
|
120
|
+
/** Mouse double-click delay response time. */
|
|
110
121
|
doubleClickDelay: number;
|
|
111
|
-
/**
|
|
122
|
+
/** Mouse click delay response time. */
|
|
112
123
|
clickDelay: number;
|
|
113
124
|
/** Mouse wheel. */
|
|
114
125
|
wheelDelta: number;
|
|
@@ -125,9 +136,9 @@ export interface ITouchState extends IBaseInputState {
|
|
|
125
136
|
touchCancel: boolean;
|
|
126
137
|
/** Touched twice.*/
|
|
127
138
|
doubleTouch: boolean;
|
|
128
|
-
/** Double
|
|
139
|
+
/** Double-touch response delay. */
|
|
129
140
|
doubleTouchDelay: number;
|
|
130
|
-
/** Double
|
|
141
|
+
/** Double-touch response radius in screen pixels. */
|
|
131
142
|
doubleTouchRadius: number;
|
|
132
143
|
/** Currently touching.*/
|
|
133
144
|
touching: boolean;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Framebuffer } from "../webgl/Framebuffer";
|
|
2
|
+
import type { ITransparencyPass } from "./ITransparencyPass";
|
|
3
|
+
import type { Renderer } from "./Renderer";
|
|
4
|
+
export declare class WOITPass implements ITransparencyPass {
|
|
5
|
+
protected _renderer: Renderer;
|
|
6
|
+
protected _framebuffer: Framebuffer | null;
|
|
7
|
+
constructor(renderer: Renderer);
|
|
8
|
+
init(): void;
|
|
9
|
+
beginPass(): void;
|
|
10
|
+
endPass(): void;
|
|
11
|
+
resolve(): void;
|
|
12
|
+
resize(width: number, height: number): void;
|
|
13
|
+
dispose(): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Planet } from "../../scene/Planet";
|
|
2
|
+
import type { ShaderProgram } from "../../webgl/ShaderProgram";
|
|
3
|
+
import type { Renderer } from "../Renderer";
|
|
4
|
+
import { CascadeShadowMap } from "./CascadeShadowMap";
|
|
5
|
+
export declare class CascadeShadowManager {
|
|
6
|
+
protected _renderer: Renderer;
|
|
7
|
+
protected _planet: Planet | null;
|
|
8
|
+
protected _cascadeShadowMaps: CascadeShadowMap[];
|
|
9
|
+
protected _activeCascadeShadowMaps: CascadeShadowMap[];
|
|
10
|
+
protected _viewProjData: Float32Array;
|
|
11
|
+
protected _eyeRelData: Float32Array;
|
|
12
|
+
protected _paramsData: Float32Array;
|
|
13
|
+
protected _splitsData: Float32Array;
|
|
14
|
+
protected _viewForwardData: Float32Array;
|
|
15
|
+
protected _layerData: Int32Array;
|
|
16
|
+
protected _updateActiveCascadeShadowMaps: boolean;
|
|
17
|
+
protected _initialized: boolean;
|
|
18
|
+
constructor(renderer: Renderer);
|
|
19
|
+
get activeCount(): number;
|
|
20
|
+
get active(): CascadeShadowMap[];
|
|
21
|
+
init(): void;
|
|
22
|
+
bindPlanet(planet: Planet): void;
|
|
23
|
+
unbindPlanet(): void;
|
|
24
|
+
add(cascadeShadowMap: CascadeShadowMap): number;
|
|
25
|
+
update(cascadeShadowMap: CascadeShadowMap): boolean;
|
|
26
|
+
remove(cascadeShadowMap: CascadeShadowMap): boolean;
|
|
27
|
+
clear(): void;
|
|
28
|
+
destroy(): void;
|
|
29
|
+
bindForward(program: ShaderProgram, textureUnitStart?: number): number;
|
|
30
|
+
protected _initCascadeShadowMap(cascadeShadowMap: CascadeShadowMap): void;
|
|
31
|
+
protected _collectActiveCascadeShadowMaps(): CascadeShadowMap[];
|
|
32
|
+
protected _getActiveCascadeShadowMaps(): CascadeShadowMap[];
|
|
33
|
+
protected _onDraw: () => void;
|
|
34
|
+
}
|