@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
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BaseWorker } from "./BaseWorker";
|
|
2
2
|
import { Segment } from "../segment/Segment";
|
|
3
3
|
import type { NumberArray6 } from "../bv/Sphere";
|
|
4
|
+
import { NumberArray3 } from "../math/Vec3";
|
|
4
5
|
interface TerrainInfo {
|
|
5
6
|
segment: Segment;
|
|
6
7
|
elevations: Float32Array;
|
|
@@ -9,13 +10,12 @@ export interface ITerrainWorkerData {
|
|
|
9
10
|
id: number;
|
|
10
11
|
normalMapNormals: Float32Array | null;
|
|
11
12
|
normalMapVertices: Float64Array | null;
|
|
12
|
-
normalMapVerticesHigh: Float32Array | null;
|
|
13
|
-
normalMapVerticesLow: Float32Array | null;
|
|
14
13
|
terrainVertices: Float64Array | null;
|
|
15
14
|
terrainVerticesHigh: Float32Array | null;
|
|
16
15
|
terrainVerticesLow: Float32Array | null;
|
|
17
16
|
noDataVertices: Uint8Array | null;
|
|
18
17
|
bounds: NumberArray6;
|
|
18
|
+
relativeCenter: NumberArray3;
|
|
19
19
|
}
|
|
20
20
|
type MessageEventExt = MessageEvent & {
|
|
21
21
|
data: ITerrainWorkerData;
|
|
@@ -10,6 +10,7 @@ import type { WebGLTextureExt } from "../webgl/Handler";
|
|
|
10
10
|
* @class
|
|
11
11
|
* @param {number} [width=1024] - Texture atlas width, if it hasn't 1024 default.
|
|
12
12
|
* @param {number} [height=1024] - Texture atlas height, if it hasn't 1024 default.
|
|
13
|
+
* @param {string|number} [colorSpace="linear"] - Texture atlas color space. Available values: "linear", "srgb", 0, 1.
|
|
13
14
|
*/
|
|
14
15
|
declare class TextureAtlas {
|
|
15
16
|
/**
|
|
@@ -34,7 +35,11 @@ declare class TextureAtlas {
|
|
|
34
35
|
protected _images: HTMLImageElementExt[];
|
|
35
36
|
protected _btree: TextureAtlasNode | null;
|
|
36
37
|
protected _imagesCacheManager: ImagesCacheManager;
|
|
37
|
-
|
|
38
|
+
protected _colorSpace: number;
|
|
39
|
+
protected _internalFormat: number | null;
|
|
40
|
+
constructor(width?: number, height?: number, colorSpace?: string | number);
|
|
41
|
+
static getColorSpace(colorSpace?: string | number): number;
|
|
42
|
+
protected _updateInternalFormat(): void;
|
|
38
43
|
/**
|
|
39
44
|
* Returns atlas javascript image object.
|
|
40
45
|
* @public
|
|
@@ -87,7 +92,7 @@ declare class TextureAtlas {
|
|
|
87
92
|
* Creates atlas gl texture.
|
|
88
93
|
* @public
|
|
89
94
|
*/
|
|
90
|
-
createTexture(img?: HTMLImageElement | null
|
|
95
|
+
createTexture(img?: HTMLImageElement | null): void;
|
|
91
96
|
/**
|
|
92
97
|
* Asynchronous function that loads and creates image to the image cache, and call success callback when it's done.
|
|
93
98
|
* @public
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import type { Handler, ImageSource, WebGLTextureExt } from "../webgl/Handler";
|
|
2
|
+
interface TextureResourceEntry {
|
|
3
|
+
key: string;
|
|
4
|
+
texture: WebGLTextureExt;
|
|
5
|
+
refCount: number;
|
|
6
|
+
}
|
|
7
|
+
export interface RendererTextureRequest {
|
|
8
|
+
image: ImageSource;
|
|
9
|
+
resourceKey?: string;
|
|
10
|
+
sourceUri?: string;
|
|
11
|
+
mimeType?: string;
|
|
12
|
+
byteLength?: number;
|
|
13
|
+
internalFormat?: number | null;
|
|
14
|
+
texParami?: number | null;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Manages shared WebGL textures with reference counting.
|
|
18
|
+
* Reuses textures for the same resource key and deletes them when no owners remain.
|
|
19
|
+
*/
|
|
20
|
+
export declare class TextureResourceManager {
|
|
21
|
+
protected _handler: Handler;
|
|
22
|
+
protected _entriesByKey: Map<string, TextureResourceEntry>;
|
|
23
|
+
protected _keysByTexture: WeakMap<WebGLTextureExt, string>;
|
|
24
|
+
protected _objectKeys: WeakMap<ImageSource, number>;
|
|
25
|
+
protected _objectKeyCounter: number;
|
|
26
|
+
/**
|
|
27
|
+
* @param handler WebGL handler used to create and delete textures.
|
|
28
|
+
*/
|
|
29
|
+
constructor(handler: Handler);
|
|
30
|
+
/**
|
|
31
|
+
* Returns an existing texture for the same resource or creates a new one.
|
|
32
|
+
* Increases reference count for reused textures.
|
|
33
|
+
* @param params Texture source and GPU creation parameters.
|
|
34
|
+
* @returns Managed WebGL texture or null if creation failed.
|
|
35
|
+
*/
|
|
36
|
+
acquireTexture(params: RendererTextureRequest): WebGLTextureExt | null;
|
|
37
|
+
/**
|
|
38
|
+
* Releases one texture reference.
|
|
39
|
+
* Deletes GPU texture only when the reference count reaches zero.
|
|
40
|
+
* @param texture Managed texture previously returned by acquireTexture.
|
|
41
|
+
*/
|
|
42
|
+
releaseTexture(texture: WebGLTextureExt | null | undefined): void;
|
|
43
|
+
/**
|
|
44
|
+
* Deletes all managed GPU textures and clears manager state.
|
|
45
|
+
*/
|
|
46
|
+
clear(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Returns number of unique managed texture entries.
|
|
49
|
+
* @returns Number of entries in the manager.
|
|
50
|
+
*/
|
|
51
|
+
getEntryCount(): number;
|
|
52
|
+
/**
|
|
53
|
+
* Returns debug statistics for managed textures.
|
|
54
|
+
* @returns Object with number of entries and total reference count.
|
|
55
|
+
*/
|
|
56
|
+
getStats(): {
|
|
57
|
+
entries: number;
|
|
58
|
+
refs: number;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Builds a stable texture resource key.
|
|
62
|
+
*
|
|
63
|
+
* The key is composed of two logical parts:
|
|
64
|
+
*
|
|
65
|
+
* 1. Source image identity
|
|
66
|
+
* Describes where the original image comes from or how it can be uniquely identified.
|
|
67
|
+
*
|
|
68
|
+
* Supported prefixes:
|
|
69
|
+
*
|
|
70
|
+
* - res:
|
|
71
|
+
* A precomputed resource key provided by the GLTF parser.
|
|
72
|
+
* This is the preferred path for GLTF/GLB textures.
|
|
73
|
+
*
|
|
74
|
+
* Example:
|
|
75
|
+
* res:gltf-image|bytes:9a4c1f20|mime:image/png|len:24576
|
|
76
|
+
*
|
|
77
|
+
* - uri:
|
|
78
|
+
* A normalized external image URI.
|
|
79
|
+
* Used when the texture comes from an external image file.
|
|
80
|
+
* The URI should be resolved relative to the GLTF file path.
|
|
81
|
+
*
|
|
82
|
+
* Example:
|
|
83
|
+
* uri:https://example.com/models/tree/textures/baseColor.png
|
|
84
|
+
*
|
|
85
|
+
* - fp:
|
|
86
|
+
* A content fingerprint calculated from image pixels.
|
|
87
|
+
* This is an expensive fallback path because it may require canvas readback.
|
|
88
|
+
* It can also fail for cross-origin images.
|
|
89
|
+
*
|
|
90
|
+
* Example:
|
|
91
|
+
* fp:7f21ab09
|
|
92
|
+
*
|
|
93
|
+
* - obj:
|
|
94
|
+
* A last-resort object identity key.
|
|
95
|
+
* Used only when no resourceKey, URI, or content fingerprint is available.
|
|
96
|
+
* This avoids accidental sharing between unrelated images.
|
|
97
|
+
*
|
|
98
|
+
* Example:
|
|
99
|
+
* obj:3
|
|
100
|
+
*
|
|
101
|
+
* 2. GPU texture creation parameters.
|
|
102
|
+
* Describes how the source image is uploaded to WebGL.
|
|
103
|
+
* The same source image may require different GPU textures if creation parameters differ.
|
|
104
|
+
*
|
|
105
|
+
* Supported fields:
|
|
106
|
+
*
|
|
107
|
+
* - fmt:
|
|
108
|
+
* Internal texture format passed to Handler.createTextureDefault(...).
|
|
109
|
+
* If absent, "fmt:default" means the default internal format is used.
|
|
110
|
+
*
|
|
111
|
+
* Example:
|
|
112
|
+
* fmt:default
|
|
113
|
+
* fmt:6408
|
|
114
|
+
*
|
|
115
|
+
* - wrap:
|
|
116
|
+
* Texture wrapping/filtering parameter passed to Handler.createTextureDefault(...).
|
|
117
|
+
* If absent, "wrap:default" means the default texture parameter is used.
|
|
118
|
+
*
|
|
119
|
+
* Example:
|
|
120
|
+
* wrap:default
|
|
121
|
+
* wrap:10497
|
|
122
|
+
*
|
|
123
|
+
* - mime:
|
|
124
|
+
* MIME type of the original image, if available.
|
|
125
|
+
* Used as an additional discriminator and for debugging.
|
|
126
|
+
*
|
|
127
|
+
* Example:
|
|
128
|
+
* mime:image/png
|
|
129
|
+
*
|
|
130
|
+
* - len:
|
|
131
|
+
* Original image byte length, if available.
|
|
132
|
+
* Used as an additional cheap discriminator, but not as the primary identity.
|
|
133
|
+
*
|
|
134
|
+
* Example:
|
|
135
|
+
* len:24576
|
|
136
|
+
*
|
|
137
|
+
* Important:
|
|
138
|
+
*
|
|
139
|
+
* - GLTF texture/image name is intentionally not used as a primary identity key.
|
|
140
|
+
* Names may be missing, duplicated, or different for the same binary image.
|
|
141
|
+
*
|
|
142
|
+
* - The preferred identity source is resourceKey from the GLTF parser.
|
|
143
|
+
*
|
|
144
|
+
* - The fallback order is:
|
|
145
|
+
* resourceKey -> normalized URI -> content fingerprint -> object identity.
|
|
146
|
+
*
|
|
147
|
+
* - The final key must distinguish not only the source image, but also the GPU upload
|
|
148
|
+
* parameters that may affect the resulting WebGLTexture.
|
|
149
|
+
*/
|
|
150
|
+
protected _buildResourceKey(params: RendererTextureRequest): string;
|
|
151
|
+
protected _getObjectKey(image: ImageSource): number;
|
|
152
|
+
protected _getExternalImageUri(image: ImageSource): string | null;
|
|
153
|
+
protected _fingerprintImage(image: ImageSource): {
|
|
154
|
+
hash: string;
|
|
155
|
+
byteLength: number;
|
|
156
|
+
} | null;
|
|
157
|
+
protected _getImageSize(image: ImageSource): {
|
|
158
|
+
width: number;
|
|
159
|
+
height: number;
|
|
160
|
+
} | null;
|
|
161
|
+
}
|
|
162
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Vec3 } from "../math/Vec3";
|
|
2
|
+
import type { NumberArray3 } from "../math/Vec3";
|
|
3
|
+
export declare const LINEAR = 0;
|
|
4
|
+
export declare const SRGB = 1;
|
|
5
|
+
export declare function getColorSpace(colorSpace?: string | number, defaultColorSpace?: number): number;
|
|
6
|
+
export declare function srgbToLinearArr(arr: NumberArray3): NumberArray3;
|
|
7
|
+
export declare function srgbToLinear3v(v: Vec3): NumberArray3;
|
|
8
|
+
export declare function srgbToLinear(v: number): number;
|
|
9
|
+
export declare function linearToSrgbArr(arr: NumberArray3): NumberArray3;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Entity } from "../../entity";
|
|
2
2
|
import { Object3d } from "../../Object3d";
|
|
3
|
-
import { GltfData, Mesh } from "./types";
|
|
3
|
+
import { GltfData, Mesh, MimeType } from "./types";
|
|
4
4
|
export declare class Gltf {
|
|
5
5
|
private gltf;
|
|
6
6
|
private static _dracoDecoderModule;
|
|
@@ -9,13 +9,20 @@ export declare class Gltf {
|
|
|
9
9
|
private _materials;
|
|
10
10
|
private _images;
|
|
11
11
|
meshes: Mesh[];
|
|
12
|
-
|
|
12
|
+
protected _gltfBaseUri?: string;
|
|
13
|
+
constructor(gltf: GltfData, gltfBaseUri?: string);
|
|
13
14
|
getObjects3d(): Object3d[];
|
|
14
15
|
toEntities(): Entity[];
|
|
15
16
|
private _nodeToEntity;
|
|
16
17
|
meshToEntity(mesh: Mesh, parent?: Entity): Entity;
|
|
17
18
|
private _initImages;
|
|
18
19
|
private _getImage;
|
|
20
|
+
private _getTextureImage;
|
|
21
|
+
protected _buildImageResourceKey(mimeType?: MimeType, bufferViewIndex?: number, sourceUri?: string, rawUri?: string): string | undefined;
|
|
22
|
+
protected _getBufferViewBytes(bufferViewIndex: number): Uint8Array;
|
|
23
|
+
protected _hashBytes(bytes: Uint8Array): string;
|
|
24
|
+
protected _hashString(value: string): string;
|
|
25
|
+
protected _isDataUri(uri: string): boolean;
|
|
19
26
|
private _initMaterials;
|
|
20
27
|
private _initMeshes;
|
|
21
28
|
private _buildPrimitive;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Object3d } from "../../Object3d";
|
|
2
|
+
import type { TypedArray } from "../shared";
|
|
2
3
|
export interface GltfData {
|
|
3
4
|
bin: ArrayBuffer[];
|
|
4
5
|
gltf: GltfMetadata;
|
|
@@ -22,6 +23,21 @@ export interface GltfMetadata {
|
|
|
22
23
|
texCoord?: number;
|
|
23
24
|
};
|
|
24
25
|
};
|
|
26
|
+
extensions?: {
|
|
27
|
+
KHR_materials_pbrSpecularGlossiness?: {
|
|
28
|
+
diffuseFactor?: number[];
|
|
29
|
+
diffuseTexture?: {
|
|
30
|
+
index: number;
|
|
31
|
+
texCoord?: number;
|
|
32
|
+
};
|
|
33
|
+
specularFactor?: number[];
|
|
34
|
+
glossinessFactor?: number;
|
|
35
|
+
specularGlossinessTexture?: {
|
|
36
|
+
index: number;
|
|
37
|
+
texCoord?: number;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
};
|
|
25
41
|
normalTexture?: {
|
|
26
42
|
index: number;
|
|
27
43
|
texCoord?: number;
|
|
@@ -80,7 +96,7 @@ export interface GltfPrimitive {
|
|
|
80
96
|
}
|
|
81
97
|
export type PrimitiveAttributes = {
|
|
82
98
|
POSITION: number;
|
|
83
|
-
NORMAL
|
|
99
|
+
NORMAL?: number;
|
|
84
100
|
} & Record<string, number>;
|
|
85
101
|
export interface GltfNode {
|
|
86
102
|
camera?: number;
|
|
@@ -141,10 +157,10 @@ export interface Mesh {
|
|
|
141
157
|
}
|
|
142
158
|
export interface Primitive {
|
|
143
159
|
name: string;
|
|
144
|
-
indices?:
|
|
145
|
-
vertices:
|
|
146
|
-
normals
|
|
147
|
-
texCoords?:
|
|
160
|
+
indices?: TypedArray;
|
|
161
|
+
vertices: TypedArray;
|
|
162
|
+
normals?: TypedArray;
|
|
163
|
+
texCoords?: TypedArray;
|
|
148
164
|
material?: Material;
|
|
149
165
|
mode: PrimitiveMode;
|
|
150
166
|
object3d?: Object3d;
|
|
@@ -153,7 +169,10 @@ export interface Material {
|
|
|
153
169
|
name: string;
|
|
154
170
|
baseColorFactor?: number[];
|
|
155
171
|
baseColorTexture?: Texture;
|
|
172
|
+
metallicFactor?: number;
|
|
173
|
+
roughnessFactor?: number;
|
|
156
174
|
metallicRoughnessTexture?: Texture;
|
|
175
|
+
specularGlossinessTexture?: Texture;
|
|
157
176
|
normalTexture?: NormalTexture;
|
|
158
177
|
occlusionTexture?: OcclusionTexture;
|
|
159
178
|
emissiveTexture?: Texture;
|
package/lib/utils/shared.d.ts
CHANGED
|
@@ -20,6 +20,8 @@ export declare function isEmpty(v: any): boolean;
|
|
|
20
20
|
*/
|
|
21
21
|
export declare function isUndef(obj?: any): boolean;
|
|
22
22
|
export declare function isUndefExt(obj: any, defVal: any): any;
|
|
23
|
+
export declare function fnv1a32(bytes: Uint8Array | Uint8ClampedArray): string;
|
|
24
|
+
export declare function normalizeUri(src: string, baseUri?: string): string;
|
|
23
25
|
export declare function stamp(obj: any): number;
|
|
24
26
|
export declare function isString(s: any): boolean;
|
|
25
27
|
export declare function rgbToStringHTML(rgb: NumberArray3 | Vec3): string;
|
|
@@ -55,6 +57,7 @@ export declare function htmlColorToRgb(htmlColor: string): Vec3;
|
|
|
55
57
|
export declare function stringTemplate(template: string, params?: any): string;
|
|
56
58
|
/**
|
|
57
59
|
* Replace template substrings between '${...}' tokens.
|
|
60
|
+
* Also supports escaped '\${...}' tokens emitted by GLSL bundlers.
|
|
58
61
|
* @param {string} template - String with templates in "${" and "}"
|
|
59
62
|
* @param {Object} params - Template named object with subsrtings.
|
|
60
63
|
* @returns {string} -
|
|
@@ -74,8 +77,9 @@ export declare function parseHTML(htmlStr: string): HTMLElement[];
|
|
|
74
77
|
export declare function print2d(id: string, text: string, x: number, y: number): void;
|
|
75
78
|
export declare function isNumber(value: any): boolean;
|
|
76
79
|
export declare function defaultString(str?: string, def?: string): string;
|
|
77
|
-
export declare function
|
|
78
|
-
export declare function
|
|
80
|
+
export declare function createVec2(v?: number | Vec2 | NumberArray2 | null, def?: Vec2): Vec2;
|
|
81
|
+
export declare function createVec3(v?: number | Vec3 | Vec2 | NumberArray3 | NumberArray2 | null, def?: Vec3): Vec3;
|
|
82
|
+
export declare function createVec4(v?: Vec4 | NumberArray4 | null, def?: Vec4): Vec4;
|
|
79
83
|
export declare function createColorRGBA(c?: string | NumberArray4 | Vec4 | null, def?: Vec4): Vec4;
|
|
80
84
|
export declare function createColorRGB(c?: string | NumberArray3 | Vec3 | null, def?: Vec3): Vec3;
|
|
81
85
|
export declare function createExtent(e?: Extent | [[number, number], [number, number]] | null, def?: Extent): Extent;
|
|
@@ -193,6 +197,7 @@ export type TypedArray = Int8Array | Uint8Array | Uint8ClampedArray | Int16Array
|
|
|
193
197
|
* @param {TypedArray | number[]} b
|
|
194
198
|
*/
|
|
195
199
|
export declare function concatTypedArrays(a: TypedArray, b: TypedArray | number[]): TypedArray;
|
|
200
|
+
export declare function insertTypedArray<T extends TypedArray>(arr: T, starting: number, insert: T | number[]): T;
|
|
196
201
|
/**
|
|
197
202
|
* Concatenates two the same arrays
|
|
198
203
|
* @param {TypedArray | number[]} [a=[]] - First array
|
|
@@ -238,7 +243,7 @@ export declare function spliceTypedArray<T extends TypedArray>(arr: T, starting:
|
|
|
238
243
|
/**
|
|
239
244
|
* Returns 64-bit triangle coordinate array from inside of the source triangle array.
|
|
240
245
|
* @static
|
|
241
|
-
* @param {TypedArray | number[]}
|
|
246
|
+
* @param {TypedArray | number[]} srcArr - Source array
|
|
242
247
|
* @param {number} gridSize - Source array square matrix size
|
|
243
248
|
* @param {number} i0 - First row index source array matrix
|
|
244
249
|
* @param {number} j0 - First column index
|
|
@@ -246,7 +251,7 @@ export declare function spliceTypedArray<T extends TypedArray>(arr: T, starting:
|
|
|
246
251
|
* @return {Float64Array} Triangle coordinates array from the source array.
|
|
247
252
|
* @TODO: optimization
|
|
248
253
|
*/
|
|
249
|
-
export declare function getMatrixSubArray64(
|
|
254
|
+
export declare function getMatrixSubArray64(srcArr: TypedArray | number[], gridSize: number, i0: number, j0: number, size: number): Float64Array;
|
|
250
255
|
/**
|
|
251
256
|
* Returns 32-bit triangle coordinate array from inside of the source triangle array.
|
|
252
257
|
* @static
|
|
@@ -262,7 +267,7 @@ export declare function getMatrixSubArray32(sourceArr: TypedArray | number[], gr
|
|
|
262
267
|
* Returns two float32 triangle coordinate arrays from inside of the source triangle array.
|
|
263
268
|
* @TODO: optimization
|
|
264
269
|
*/
|
|
265
|
-
export declare function getMatrixSubArrayBoundsExt(
|
|
270
|
+
export declare function getMatrixSubArrayBoundsExt(srcArr: TypedArray | number[], noDataVertices: TypedArray | number[] | undefined, gridSize: number, i0: number, j0: number, size: number, srcRelativeCenter: Vec3, dstRelativeCenter: Vec3, outArr: TypedArray | number[], outArrHigh: TypedArray | number[], outArrLow: TypedArray | number[], outBounds: any, outNoDataVertices: TypedArray | number[]): void;
|
|
266
271
|
export declare function cloneArray(items: any[]): any[];
|
|
267
272
|
/**
|
|
268
273
|
* Promise for load images
|
|
@@ -271,6 +276,8 @@ export declare function cloneArray(items: any[]): any[];
|
|
|
271
276
|
* @returns {Promise<Image>} Returns promise.
|
|
272
277
|
*/
|
|
273
278
|
export declare function loadImage(url: string): Promise<HTMLImageElement>;
|
|
279
|
+
export declare function ensureImageReady(image: HTMLImageElement): Promise<boolean>;
|
|
280
|
+
export declare function prepareTextureImage(image: HTMLImageElement): Promise<HTMLImageElement | HTMLCanvasElement | null>;
|
|
274
281
|
/**
|
|
275
282
|
* Gets image is loaded
|
|
276
283
|
* @param {HTMLImageElement} image
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const OG_TEXTURE_RESOURCE_META_KEY: unique symbol;
|
|
2
|
+
export interface ITextureResourceMeta {
|
|
3
|
+
resourceKey?: string;
|
|
4
|
+
sourceUri?: string;
|
|
5
|
+
mimeType?: string;
|
|
6
|
+
byteLength?: number;
|
|
7
|
+
}
|
|
8
|
+
export declare function getTextureResourceMeta(target: object | null | undefined): ITextureResourceMeta | undefined;
|
|
9
|
+
export declare function setTextureResourceMeta(target: object | null | undefined, meta: ITextureResourceMeta | undefined): void;
|
|
@@ -6,6 +6,7 @@ export interface IBaseFramebufferParams {
|
|
|
6
6
|
depthComponent?: string;
|
|
7
7
|
size?: number;
|
|
8
8
|
filter?: string;
|
|
9
|
+
sharedDepthFramebuffer?: BaseFramebuffer | null;
|
|
9
10
|
}
|
|
10
11
|
export declare class BaseFramebuffer {
|
|
11
12
|
static __counter__: number;
|
|
@@ -13,6 +14,7 @@ export declare class BaseFramebuffer {
|
|
|
13
14
|
handler: Handler;
|
|
14
15
|
_fbo: WebGLFramebuffer | null;
|
|
15
16
|
protected _depthRenderbuffer: WebGLRenderbuffer | null;
|
|
17
|
+
protected _sharedDepthFramebuffer: BaseFramebuffer | null;
|
|
16
18
|
_width: number;
|
|
17
19
|
_height: number;
|
|
18
20
|
protected _depthComponent: string;
|
|
@@ -21,8 +23,13 @@ export declare class BaseFramebuffer {
|
|
|
21
23
|
protected _useDepth: boolean;
|
|
22
24
|
protected _filter: string;
|
|
23
25
|
constructor(handler: Handler, options?: IBaseFramebufferParams);
|
|
26
|
+
static blitTo(destFramebuffer: BaseFramebuffer, sourceFramebuffer: BaseFramebuffer, glAttachmentIndex: number | null, glMask: number, glFilter: number): void;
|
|
27
|
+
blitDepthFrom(sourceFramebuffer: BaseFramebuffer, glFilter?: number): void;
|
|
24
28
|
get width(): number;
|
|
25
29
|
get height(): number;
|
|
30
|
+
get depthRenderbuffer(): WebGLRenderbuffer | null;
|
|
31
|
+
get sharedDepthFramebuffer(): BaseFramebuffer | null;
|
|
32
|
+
get sharedDepthRenderbuffer(): WebGLRenderbuffer | null;
|
|
26
33
|
/**
|
|
27
34
|
* Sets framebuffer viewport size.
|
|
28
35
|
* @public
|
|
@@ -40,6 +47,34 @@ export declare class BaseFramebuffer {
|
|
|
40
47
|
*/
|
|
41
48
|
isComplete(): boolean;
|
|
42
49
|
checkStatus(): number;
|
|
50
|
+
/**
|
|
51
|
+
* Checks active framebuffer completeness and logs readable status on failure.
|
|
52
|
+
* @public
|
|
53
|
+
* @param {string} [message] - Warning message prefix.
|
|
54
|
+
* @returns {boolean} `true` when active framebuffer is complete.
|
|
55
|
+
*/
|
|
56
|
+
validateComplete(message?: string): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Binds a 2D texture to the active framebuffer color attachment.
|
|
59
|
+
* @public
|
|
60
|
+
* @param {WebGLTexture} texture - Output texture.
|
|
61
|
+
* @param {number} [glAttachment=COLOR_ATTACHMENT0] - GL color attachment.
|
|
62
|
+
*/
|
|
63
|
+
bindOutputTexture(texture: WebGLTexture, glAttachment?: number): void;
|
|
64
|
+
/**
|
|
65
|
+
* Binds a texture array layer to the active framebuffer color attachment.
|
|
66
|
+
* Activate framebuffer before calling this method.
|
|
67
|
+
* @public
|
|
68
|
+
* @param {WebGLTexture | null} texture - Output texture array.
|
|
69
|
+
* @param {number} layer - Array layer index.
|
|
70
|
+
* @param {number} [colorAttachmentIndex=0] - Color attachment index.
|
|
71
|
+
* @param {number} [level=0] - Mipmap level.
|
|
72
|
+
*/
|
|
73
|
+
bindOutputTextureLayer(texture: WebGLTexture | null, layer: number, colorAttachmentIndex?: number, level?: number): void;
|
|
74
|
+
/**
|
|
75
|
+
* Converts framebuffer status enum to readable text.
|
|
76
|
+
*/
|
|
77
|
+
statusToText(status: number): string;
|
|
43
78
|
/**
|
|
44
79
|
* Activate framebuffer frame to draw.
|
|
45
80
|
* @public
|
|
@@ -5,8 +5,6 @@ import type { TypedArray } from "../utils/shared";
|
|
|
5
5
|
import type { NumberArray4 } from "../math/Vec4";
|
|
6
6
|
export interface ITargetParams {
|
|
7
7
|
internalFormat?: string;
|
|
8
|
-
format?: string;
|
|
9
|
-
type?: string;
|
|
10
8
|
attachment?: string;
|
|
11
9
|
filter?: string;
|
|
12
10
|
readAsync?: boolean;
|
|
@@ -20,8 +18,8 @@ export interface IFrameBufferParams extends IBaseFramebufferParams {
|
|
|
20
18
|
type TypedArrayConstructor = Uint8ArrayConstructor | Float32ArrayConstructor;
|
|
21
19
|
interface ITarget {
|
|
22
20
|
internalFormat: string;
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
pixelFormat: string;
|
|
22
|
+
pixelType: string;
|
|
25
23
|
attachment: string;
|
|
26
24
|
filter: string;
|
|
27
25
|
pixelBufferIndex: number;
|
|
@@ -52,6 +50,11 @@ export declare class Framebuffer extends BaseFramebuffer {
|
|
|
52
50
|
pixelBuffers: IPixelBuffer[];
|
|
53
51
|
protected _skipFrame: boolean;
|
|
54
52
|
constructor(handler: Handler, options?: IFrameBufferParams);
|
|
53
|
+
static getTargetReadParams(internalFormat: string): {
|
|
54
|
+
pixelFormat: string;
|
|
55
|
+
pixelType: string;
|
|
56
|
+
TypeArrayConstructor: TypedArrayConstructor;
|
|
57
|
+
};
|
|
55
58
|
static createTargets(targets?: ITargetParams[]): ITarget[];
|
|
56
59
|
destroy(): void;
|
|
57
60
|
/**
|
|
@@ -60,25 +63,23 @@ export declare class Framebuffer extends BaseFramebuffer {
|
|
|
60
63
|
* @override
|
|
61
64
|
*/
|
|
62
65
|
init(): void;
|
|
66
|
+
protected _attachExternalDepthRenderbuffer(depthRenderbuffer: WebGLRenderbuffer | null): void;
|
|
63
67
|
/**
|
|
64
68
|
* Check your constructor has targets like this
|
|
65
69
|
* targets: [{
|
|
66
|
-
* internalFormat: "
|
|
67
|
-
* type: "UNSIGNED_BYTE",
|
|
70
|
+
* internalFormat: "RGBA8",
|
|
68
71
|
* attachment: "COLOR_ATTACHMENT",
|
|
69
72
|
* readAsync: true
|
|
70
73
|
* }],
|
|
71
74
|
**/
|
|
72
75
|
readPixelBuffersAsync: (callback?: (buf: this) => void) => void;
|
|
73
|
-
getPixelBufferData(targetIndex?: number): TypedArray | null;
|
|
74
|
-
protected _createPixelBuffer(target: ITarget): void;
|
|
75
76
|
/**
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
* @param {WebGLTexture} texture - Output texture.
|
|
79
|
-
* @param {number} [glAttachment=0] - color attachment index.
|
|
77
|
+
* Synchronously reads all configured async pixel buffers for the current framebuffer state.
|
|
78
|
+
* Use when the same-frame CPU readback is required.
|
|
80
79
|
*/
|
|
81
|
-
|
|
80
|
+
readPixelBuffers(): void;
|
|
81
|
+
getPixelBufferData(targetIndex?: number): TypedArray | null;
|
|
82
|
+
protected _createPixelBuffer(target: ITarget): void;
|
|
82
83
|
/**
|
|
83
84
|
* Gets pixel RGBA color from framebuffer by coordinates.
|
|
84
85
|
* @public
|