modern-canvas 0.13.5 → 0.14.0
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/dist/Engine.d.ts +5 -3
- package/dist/core/index.d.ts +1 -1
- package/dist/core/math/{Rect2.d.ts → Rectangle.d.ts} +16 -2
- package/dist/core/math/index.d.ts +1 -1
- package/dist/core/renderers/gl/GlBatch2DSystem.d.ts +44 -0
- package/dist/core/renderers/gl/GlColorMaskSystem.d.ts +7 -0
- package/dist/core/renderers/gl/GlMaskSystem.d.ts +17 -0
- package/dist/core/renderers/gl/GlRenderer.d.ts +63 -0
- package/dist/core/renderers/gl/GlStencilSystem.d.ts +56 -0
- package/dist/core/renderers/gl/GlViewportSystem.d.ts +9 -0
- package/dist/core/renderers/gl/buffer/GlBuffer.d.ts +8 -0
- package/dist/core/renderers/gl/buffer/GlBufferSystem.d.ts +14 -0
- package/dist/core/renderers/gl/buffer/const.d.ts +5 -0
- package/dist/core/renderers/gl/buffer/index.d.ts +3 -0
- package/dist/core/renderers/gl/const.d.ts +19 -0
- package/dist/core/renderers/gl/geometry/GlGeometrySystem.d.ts +29 -0
- package/dist/core/renderers/gl/geometry/getGlTypeFromFormat.d.ts +6 -0
- package/dist/core/renderers/gl/geometry/index.d.ts +1 -0
- package/dist/core/renderers/gl/index.d.ts +11 -0
- package/dist/core/renderers/gl/renderTarget/GlRenderTarget.d.ts +10 -0
- package/dist/core/renderers/gl/renderTarget/GlRenderTargetSystem.d.ts +31 -0
- package/dist/core/renderers/gl/renderTarget/index.d.ts +2 -0
- package/dist/core/renderers/gl/shader/GlProgram.d.ts +39 -0
- package/dist/core/renderers/gl/shader/GlProgramData.d.ts +4 -0
- package/dist/core/renderers/gl/shader/GlShaderSystem.d.ts +22 -0
- package/dist/core/renderers/gl/shader/const.d.ts +1 -0
- package/dist/core/renderers/gl/shader/defaultValue.d.ts +1 -0
- package/dist/core/renderers/gl/shader/getMaxFragmentPrecision.d.ts +3 -0
- package/dist/core/renderers/gl/shader/getTestContext.d.ts +2 -0
- package/dist/core/renderers/gl/shader/index.d.ts +2 -0
- package/dist/core/renderers/gl/shader/mapType.d.ts +3 -0
- package/dist/core/renderers/gl/shader/preprocessors/addProgramDefines.d.ts +1 -0
- package/dist/core/renderers/gl/shader/preprocessors/ensurePrecision.d.ts +9 -0
- package/dist/core/renderers/gl/shader/preprocessors/insertVersion.d.ts +1 -0
- package/dist/core/renderers/gl/shader/preprocessors/setProgramName.d.ts +3 -0
- package/dist/core/renderers/gl/shader/preprocessors/stripVersion.d.ts +1 -0
- package/dist/core/renderers/gl/state/GlBlendMode.d.ts +20 -0
- package/dist/core/{renderer/webgl/modules/WebGLStateModule.d.ts → renderers/gl/state/GlStateSystem.d.ts} +18 -17
- package/dist/core/renderers/gl/state/index.d.ts +2 -0
- package/dist/core/renderers/gl/system/GlSystem.d.ts +12 -0
- package/dist/core/renderers/gl/system/index.d.ts +1 -0
- package/dist/core/renderers/gl/texture/GlTexture.d.ts +12 -0
- package/dist/core/renderers/gl/texture/GlTextureSystem.d.ts +31 -0
- package/dist/core/renderers/gl/texture/GlTextureUploader.d.ts +8 -0
- package/dist/core/renderers/gl/texture/const.d.ts +49 -0
- package/dist/core/renderers/gl/texture/index.d.ts +2 -0
- package/dist/core/renderers/gl/texture/mapFormatToGlFormat.d.ts +2 -0
- package/dist/core/renderers/gl/texture/mapFormatToGlInternalFormat.d.ts +2 -0
- package/dist/core/renderers/gl/texture/mapFormatToGlType.d.ts +2 -0
- package/dist/core/renderers/gl/texture/updateTextureStyle.d.ts +31 -0
- package/dist/core/renderers/gl/texture/uploaders/buffer.d.ts +2 -0
- package/dist/core/renderers/gl/texture/uploaders/image.d.ts +2 -0
- package/dist/core/renderers/gl/texture/uploaders/index.d.ts +5 -0
- package/dist/core/renderers/gl/types.d.ts +71 -0
- package/dist/core/renderers/index.d.ts +2 -0
- package/dist/core/{renderer → renderers/shared}/Renderer.d.ts +0 -4
- package/dist/core/renderers/shared/buffer/BufferLike.d.ts +11 -0
- package/dist/core/renderers/shared/buffer/const.d.ts +13 -0
- package/dist/core/renderers/shared/buffer/index.d.ts +2 -0
- package/dist/core/renderers/shared/geometry/GeometryLike.d.ts +22 -0
- package/dist/core/renderers/shared/geometry/const.d.ts +2 -0
- package/dist/core/renderers/shared/geometry/getAttributeInfoFromFormat.d.ts +6 -0
- package/dist/core/renderers/shared/geometry/index.d.ts +2 -0
- package/dist/core/renderers/shared/index.d.ts +7 -0
- package/dist/core/renderers/shared/renderTarget/RenderTargetLike.d.ts +16 -0
- package/dist/core/renderers/shared/renderTarget/index.d.ts +1 -0
- package/dist/core/renderers/shared/shader/ShaderLike.d.ts +10 -0
- package/dist/core/renderers/shared/shader/index.d.ts +1 -0
- package/dist/core/renderers/shared/texture/TextureLike.d.ts +31 -0
- package/dist/core/renderers/shared/texture/const.d.ts +6 -0
- package/dist/core/renderers/shared/texture/index.d.ts +2 -0
- package/dist/core/renderers/shared/utils/createIdFromString.d.ts +1 -0
- package/dist/core/renderers/shared/utils/index.d.ts +1 -0
- package/dist/core/shared/id.d.ts +1 -0
- package/dist/core/shared/index.d.ts +1 -1
- package/dist/core/shared/utils.d.ts +0 -1
- package/dist/css/index.d.ts +3 -3
- package/dist/css/{parseCSSFilter.d.ts → parseCssFilter.d.ts} +1 -1
- package/dist/css/{parseCSSTransform.d.ts → parseCssTransform.d.ts} +1 -1
- package/dist/css/parseCssTransformOrigin.d.ts +1 -0
- package/dist/index.js +4423 -4122
- package/dist/render.d.ts +2 -3
- package/dist/scene/2d/Camera2D.d.ts +3 -1
- package/dist/scene/2d/Element2D.d.ts +11 -4
- package/dist/scene/2d/FlexLayout.d.ts +6 -11
- package/dist/scene/2d/Node2D.d.ts +1 -1
- package/dist/scene/2d/element/BaseElement2D.d.ts +35 -35
- package/dist/scene/2d/element/{BaseElement2DBackground.d.ts → Element2DBackground.d.ts} +2 -2
- package/dist/scene/2d/element/{BaseElement2DFill.d.ts → Element2DFill.d.ts} +13 -12
- package/dist/scene/2d/element/{BaseElement2DForeground.d.ts → Element2DForeground.d.ts} +2 -2
- package/dist/scene/2d/element/{BaseElement2DOutline.d.ts → Element2DOutline.d.ts} +4 -4
- package/dist/scene/2d/element/{BaseElement2DShadow.d.ts → Element2DShadow.d.ts} +1 -1
- package/dist/scene/2d/element/{BaseElement2DShape.d.ts → Element2DShape.d.ts} +1 -1
- package/dist/scene/2d/element/Element2DStyle.d.ts +6 -6
- package/dist/scene/2d/element/{BaseElement2DText.d.ts → Element2DText.d.ts} +11 -6
- package/dist/scene/2d/element/index.d.ts +7 -9
- package/dist/scene/2d/element/utils.d.ts +3 -5
- package/dist/scene/2d/index.d.ts +0 -2
- package/dist/scene/audio/AudioWaveform.d.ts +0 -1
- package/dist/scene/effects/ColorAdjustEffect.d.ts +2 -2
- package/dist/scene/effects/ColorFilterEffect.d.ts +5 -4
- package/dist/scene/effects/ColorOverlayEffect.d.ts +2 -2
- package/dist/scene/effects/ColorRemoveEffect.d.ts +2 -2
- package/dist/scene/effects/ColorReplaceEffect.d.ts +2 -2
- package/dist/scene/effects/DrawboardEffect.d.ts +2 -2
- package/dist/scene/effects/DropShadowEffect.d.ts +2 -2
- package/dist/scene/effects/EmbossEffect.d.ts +2 -2
- package/dist/scene/effects/GaussianBlurEffect.d.ts +2 -2
- package/dist/scene/effects/GlitchEffect.d.ts +2 -2
- package/dist/scene/effects/GodrayEffect.d.ts +2 -2
- package/dist/scene/effects/KawaseBlurEffect.d.ts +2 -2
- package/dist/scene/effects/MaskEffect.d.ts +2 -2
- package/dist/scene/effects/OutlineEffect.d.ts +2 -2
- package/dist/scene/effects/PixelateEffect.d.ts +2 -2
- package/dist/scene/effects/ZoomBlurEffect.d.ts +3 -3
- package/dist/scene/main/CanvasContext.d.ts +11 -9
- package/dist/scene/main/CanvasItem.d.ts +13 -16
- package/dist/scene/main/Effect.d.ts +7 -8
- package/dist/scene/main/Node.d.ts +19 -10
- package/dist/scene/main/RenderStack.d.ts +9 -6
- package/dist/scene/main/SceneTree.d.ts +6 -6
- package/dist/scene/main/Viewport.d.ts +18 -26
- package/dist/scene/main/Window.d.ts +4 -4
- package/dist/scene/main/interfaces/Rectangulable.d.ts +2 -2
- package/dist/scene/resources/RenderTarget.d.ts +26 -0
- package/dist/scene/resources/geometries/Geometry.d.ts +11 -20
- package/dist/scene/resources/geometries/IndexBuffer.d.ts +7 -16
- package/dist/scene/resources/geometries/QuadUvGeometry.d.ts +2 -2
- package/dist/scene/resources/geometries/UvGeometry.d.ts +4 -1
- package/dist/scene/resources/geometries/VertexAttribute.d.ts +9 -18
- package/dist/scene/resources/geometries/VertexBuffer.d.ts +7 -16
- package/dist/scene/resources/index.d.ts +1 -0
- package/dist/scene/resources/materials/EffectMaterial.d.ts +0 -2
- package/dist/scene/resources/materials/Material.d.ts +9 -13
- package/dist/scene/resources/textures/CanvasTexture.d.ts +4 -2
- package/dist/scene/resources/textures/ColorTexture.d.ts +3 -2
- package/dist/scene/resources/textures/GradientTexture.d.ts +2 -2
- package/dist/scene/resources/textures/PixelsTexture.d.ts +5 -4
- package/dist/scene/resources/textures/Texture2D.d.ts +23 -25
- package/dist/scene/resources/textures/VideoTexture.d.ts +2 -2
- package/dist/scene/resources/textures/ViewportTexture.d.ts +2 -2
- package/dist/scene/resources/textures/index.d.ts +0 -1
- package/dist/scene/transitions/KawaseTransition.d.ts +2 -2
- package/dist/scene/transitions/LeftEraseTransition.d.ts +2 -2
- package/dist/scene/transitions/TiltShiftTransition.d.ts +2 -2
- package/dist/scene/transitions/TwistTransition.d.ts +2 -2
- package/package.json +7 -7
- package/dist/core/renderer/index.d.ts +0 -2
- package/dist/core/renderer/webgl/WebGLRenderer.d.ts +0 -52
- package/dist/core/renderer/webgl/index.d.ts +0 -3
- package/dist/core/renderer/webgl/modules/WebGLBatch2DModule.d.ts +0 -45
- package/dist/core/renderer/webgl/modules/WebGLBlendMode.d.ts +0 -20
- package/dist/core/renderer/webgl/modules/WebGLBufferModule.d.ts +0 -18
- package/dist/core/renderer/webgl/modules/WebGLFramebufferModule.d.ts +0 -25
- package/dist/core/renderer/webgl/modules/WebGLMaskModule.d.ts +0 -31
- package/dist/core/renderer/webgl/modules/WebGLModule.d.ts +0 -10
- package/dist/core/renderer/webgl/modules/WebGLProgramModule.d.ts +0 -21
- package/dist/core/renderer/webgl/modules/WebGLScissorModule.d.ts +0 -10
- package/dist/core/renderer/webgl/modules/WebGLStencilModule.d.ts +0 -10
- package/dist/core/renderer/webgl/modules/WebGLTextureModule.d.ts +0 -26
- package/dist/core/renderer/webgl/modules/WebGLVertexArrayModule.d.ts +0 -19
- package/dist/core/renderer/webgl/modules/WebGLViewportModule.d.ts +0 -9
- package/dist/core/renderer/webgl/modules/index.d.ts +0 -14
- package/dist/core/renderer/webgl/modules/types.d.ts +0 -4
- package/dist/core/renderer/webgl/modules/utils.d.ts +0 -1
- package/dist/core/renderer/webgl/types.d.ts +0 -129
- package/dist/core/shared/RawWeakMap.d.ts +0 -22
- package/dist/css/parseCSSTransformOrigin.d.ts +0 -1
- package/dist/scene/2d/FlexElement2D.d.ts +0 -32
- package/dist/scene/2d/Image2D.d.ts +0 -35
- package/dist/scene/2d/element/BaseElement2DStyle.d.ts +0 -13
- package/dist/scene/2d/element/FlexElement2DStyle.d.ts +0 -9
- package/dist/scene/resources/textures/ImageTexture.d.ts +0 -20
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ColorValue,
|
|
1
|
+
import type { ColorValue, GlRenderer } from '../../core';
|
|
2
2
|
import type { EffectProperties, Node, Viewport } from '../main';
|
|
3
3
|
import { Color } from '../../core';
|
|
4
4
|
import { Effect } from '../main/Effect';
|
|
@@ -24,5 +24,5 @@ export declare class OutlineEffect extends Effect {
|
|
|
24
24
|
knockout: boolean;
|
|
25
25
|
protected _color: Color;
|
|
26
26
|
constructor(properties?: Partial<OutlineEffectProperties>, children?: Node[]);
|
|
27
|
-
apply(renderer:
|
|
27
|
+
apply(renderer: GlRenderer, source: Viewport): void;
|
|
28
28
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { GlRenderer } from '../../core';
|
|
2
2
|
import type { EffectProperties, Node, Viewport } from '../main';
|
|
3
3
|
import { Effect } from '../main/Effect';
|
|
4
4
|
import { Material } from '../resources';
|
|
@@ -9,5 +9,5 @@ export declare class PixelateEffect extends Effect {
|
|
|
9
9
|
static material: Material;
|
|
10
10
|
strength: number;
|
|
11
11
|
constructor(properties?: Partial<PixelateEffectProperties>, children?: Node[]);
|
|
12
|
-
apply(renderer:
|
|
12
|
+
apply(renderer: GlRenderer, source: Viewport): void;
|
|
13
13
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { GlRenderer } from '../../core';
|
|
2
|
+
import type { EffectProperties, Node, Viewport } from '../main';
|
|
3
3
|
import { Effect } from '../main/Effect';
|
|
4
4
|
import { Material } from '../resources';
|
|
5
5
|
export interface ZoomBlurEffectProperties extends EffectProperties {
|
|
@@ -15,5 +15,5 @@ export declare class ZoomBlurEffect extends Effect {
|
|
|
15
15
|
radius: number;
|
|
16
16
|
strength: number;
|
|
17
17
|
constructor(properties?: Partial<ZoomBlurEffectProperties>, children?: Node[]);
|
|
18
|
-
apply(renderer:
|
|
18
|
+
apply(renderer: GlRenderer, source: Viewport): void;
|
|
19
19
|
}
|
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
import type { LineCap, LineJoin, LineStyle } from 'modern-path2d';
|
|
2
|
-
import type { Batchable2D, ColorValue
|
|
2
|
+
import type { Batchable2D, ColorValue } from '../../core';
|
|
3
3
|
import { Path2D } from 'modern-path2d';
|
|
4
4
|
import { Texture2D } from '../resources';
|
|
5
|
+
export type TransformUv = (uvs: Float32Array, index: number) => void;
|
|
6
|
+
export type TransformVertex = (vertices: Float32Array, index: number) => void;
|
|
5
7
|
export interface CanvasBatchable extends Batchable2D {
|
|
6
8
|
type: 'stroke' | 'fill';
|
|
7
9
|
texture?: Texture2D;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
transformUv?: TransformUv;
|
|
11
|
+
transformVertex?: TransformVertex;
|
|
12
|
+
size?: {
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
};
|
|
10
16
|
}
|
|
11
17
|
export interface StrokeDraw extends Partial<CanvasBatchable> {
|
|
12
18
|
type: 'stroke';
|
|
13
19
|
path: Path2D;
|
|
14
20
|
lineStyle: LineStyle;
|
|
15
|
-
uvTransform?: Transform2D;
|
|
16
21
|
}
|
|
17
22
|
export interface FillDraw extends Partial<CanvasBatchable> {
|
|
18
23
|
type: 'fill';
|
|
19
24
|
path: Path2D;
|
|
20
|
-
uvTransform?: Transform2D;
|
|
21
25
|
}
|
|
22
26
|
export declare class CanvasContext extends Path2D {
|
|
23
27
|
fillStyle?: ColorValue | Texture2D;
|
|
@@ -27,12 +31,11 @@ export declare class CanvasContext extends Path2D {
|
|
|
27
31
|
lineJoin?: LineJoin;
|
|
28
32
|
lineWidth?: number;
|
|
29
33
|
miterLimit?: number;
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
transformUv?: TransformUv;
|
|
35
|
+
transformVertex?: TransformVertex;
|
|
32
36
|
protected _draws: (StrokeDraw | FillDraw)[];
|
|
33
37
|
protected _parseDrawStyle(source?: ColorValue | Texture2D): {
|
|
34
38
|
texture?: Texture2D;
|
|
35
|
-
backgroundColor?: number[];
|
|
36
39
|
};
|
|
37
40
|
stroke(options?: Partial<StrokeDraw>): void;
|
|
38
41
|
fillRect(x: number, y: number, width: number, height: number): void;
|
|
@@ -41,6 +44,5 @@ export declare class CanvasContext extends Path2D {
|
|
|
41
44
|
copy(source: CanvasContext): this;
|
|
42
45
|
resetStatus(): void;
|
|
43
46
|
reset(): this;
|
|
44
|
-
buildUvs(start: number, vertices: number[], uvs: number[], texture?: Texture2D, uvTransform?: Transform2D): void;
|
|
45
47
|
toBatchables(): CanvasBatchable[];
|
|
46
48
|
}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import type { Batchable2D,
|
|
1
|
+
import type { Batchable2D, GlBlendMode, GlRenderer } from '../../core';
|
|
2
2
|
import type { Texture2D } from '../resources';
|
|
3
3
|
import type { CanvasBatchable } from './CanvasContext';
|
|
4
4
|
import type { Node } from './Node';
|
|
5
5
|
import type { TimelineNodeEvents, TimelineNodeProperties } from './TimelineNode';
|
|
6
|
-
import { Color } from '../../core';
|
|
7
6
|
import { CanvasContext } from './CanvasContext';
|
|
8
7
|
import { TimelineNode } from './TimelineNode';
|
|
9
8
|
export interface CanvasItemProperties extends TimelineNodeProperties {
|
|
10
|
-
|
|
11
|
-
blendMode: WebGLBlendMode;
|
|
9
|
+
blendMode: GlBlendMode;
|
|
12
10
|
}
|
|
13
11
|
export interface CanvasItemEvents extends TimelineNodeEvents {
|
|
14
12
|
draw: [];
|
|
@@ -20,8 +18,7 @@ export interface CanvasItem {
|
|
|
20
18
|
emit: <K extends keyof CanvasItemEvents & string>(event: K, ...args: CanvasItemEvents[K]) => this;
|
|
21
19
|
}
|
|
22
20
|
export declare class CanvasItem extends TimelineNode {
|
|
23
|
-
|
|
24
|
-
blendMode: WebGLBlendMode | undefined;
|
|
21
|
+
blendMode: GlBlendMode | undefined;
|
|
25
22
|
visible: boolean;
|
|
26
23
|
opacity: number;
|
|
27
24
|
protected _parentGlobalVisible?: boolean;
|
|
@@ -30,14 +27,13 @@ export declare class CanvasItem extends TimelineNode {
|
|
|
30
27
|
protected _parentGlobalOpacity?: number;
|
|
31
28
|
protected _globalOpacity?: number;
|
|
32
29
|
get globalOpacity(): number;
|
|
33
|
-
protected _modulate: Color;
|
|
34
30
|
context: CanvasContext;
|
|
35
31
|
protected _resetContext: boolean;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
protected
|
|
40
|
-
protected
|
|
32
|
+
needsRender: boolean;
|
|
33
|
+
needsLayout: boolean;
|
|
34
|
+
needsPaint: boolean;
|
|
35
|
+
protected _rawBatchables: CanvasBatchable[];
|
|
36
|
+
protected _layoutBatchables: CanvasBatchable[];
|
|
41
37
|
protected _batchables: CanvasBatchable[];
|
|
42
38
|
constructor(properties?: Partial<CanvasItemProperties>, nodes?: Node[]);
|
|
43
39
|
protected _updateProperty(key: string, value: any, oldValue: any): void;
|
|
@@ -45,17 +41,18 @@ export declare class CanvasItem extends TimelineNode {
|
|
|
45
41
|
hide(): void;
|
|
46
42
|
isVisibleInTree(): boolean;
|
|
47
43
|
canRender(): boolean;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
44
|
+
requestRender(): void;
|
|
45
|
+
requestLayout(): void;
|
|
46
|
+
requestPaint(): void;
|
|
51
47
|
protected _updateGlobalVisible(): void;
|
|
52
48
|
protected _updateGlobalOpacity(): void;
|
|
53
49
|
protected _draw(): void;
|
|
50
|
+
protected _transformUvs(batchable: CanvasBatchable): Float32Array | undefined;
|
|
54
51
|
protected _redraw(): CanvasBatchable[];
|
|
55
52
|
protected _relayout(batchables: CanvasBatchable[]): CanvasBatchable[];
|
|
56
53
|
protected _repaint(batchables: CanvasBatchable[]): CanvasBatchable[];
|
|
57
54
|
protected _process(delta: number): void;
|
|
58
55
|
protected _updateBatchables(): void;
|
|
59
56
|
protected _handleViewportTexture(batchable: Batchable2D): Texture2D | undefined;
|
|
60
|
-
protected _render(renderer:
|
|
57
|
+
protected _render(renderer: GlRenderer): void;
|
|
61
58
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { GlRenderer } from '../../core';
|
|
2
2
|
import type { Material } from '../resources';
|
|
3
3
|
import type { Node } from './Node';
|
|
4
4
|
import type { SceneTree } from './SceneTree';
|
|
@@ -16,7 +16,6 @@ export interface EffectContext {
|
|
|
16
16
|
redraw?: boolean;
|
|
17
17
|
/** parent redraw */
|
|
18
18
|
target?: Node;
|
|
19
|
-
targetArea?: [number, number, number, number];
|
|
20
19
|
/** transition */
|
|
21
20
|
from?: Viewport;
|
|
22
21
|
to?: Viewport;
|
|
@@ -26,6 +25,7 @@ export declare class Effect extends TimelineNode {
|
|
|
26
25
|
effectMode?: EffectMode;
|
|
27
26
|
glsl?: string;
|
|
28
27
|
glslSrc?: string;
|
|
28
|
+
needsRender: boolean;
|
|
29
29
|
protected get _effectMode(): EffectMode;
|
|
30
30
|
/** Viewports */
|
|
31
31
|
readonly viewport1: Viewport;
|
|
@@ -45,10 +45,9 @@ export declare class Effect extends TimelineNode {
|
|
|
45
45
|
protected _processParent(): void;
|
|
46
46
|
protected _processChildren(): void;
|
|
47
47
|
_onProcess(delta?: number): void;
|
|
48
|
-
protected _renderBefore(renderer:
|
|
49
|
-
protected _renderTransition(renderer:
|
|
50
|
-
protected _renderParentOrChildren(renderer:
|
|
51
|
-
protected
|
|
52
|
-
|
|
53
|
-
apply(renderer: WebGLRenderer, viewport: Viewport, context?: EffectContext): void;
|
|
48
|
+
protected _renderBefore(renderer: GlRenderer): void;
|
|
49
|
+
protected _renderTransition(renderer: GlRenderer): void;
|
|
50
|
+
protected _renderParentOrChildren(renderer: GlRenderer): void;
|
|
51
|
+
protected _render(renderer: GlRenderer): void;
|
|
52
|
+
apply(renderer: GlRenderer, viewport: Viewport, context?: EffectContext): void;
|
|
54
53
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CoreObjectEvents, InputEvent, InputEventKey, InputEvents,
|
|
1
|
+
import type { CoreObjectEvents, GlRenderer, InputEvent, InputEventKey, InputEvents, MaskLike } from '../../core';
|
|
2
2
|
import type { SceneTree } from './SceneTree';
|
|
3
3
|
import type { Viewport } from './Viewport';
|
|
4
4
|
import type { Window } from './Window';
|
|
@@ -30,21 +30,30 @@ export interface Node {
|
|
|
30
30
|
off: <K extends keyof NodeEvents & string>(event: K, listener: (...args: NodeEvents[K]) => void) => this;
|
|
31
31
|
emit: <K extends keyof NodeEvents & string>(event: K, ...args: NodeEvents[K]) => this;
|
|
32
32
|
}
|
|
33
|
-
export type ProcessMode = 'inherit' | 'pausable' | '
|
|
34
|
-
export type ProcessSortMode = 'default' | '
|
|
33
|
+
export type ProcessMode = 'inherit' | 'pausable' | 'when-paused' | 'always' | 'disabled';
|
|
34
|
+
export type ProcessSortMode = 'default' | 'parent-before';
|
|
35
35
|
export type RenderMode = 'inherit' | 'always' | 'disabled';
|
|
36
36
|
export type InputMode = 'inherit' | 'always' | 'disabled';
|
|
37
37
|
export type InternalMode = 'default' | 'front' | 'back';
|
|
38
38
|
export interface NodeProperties {
|
|
39
39
|
id: string;
|
|
40
40
|
name: string;
|
|
41
|
-
mask:
|
|
41
|
+
mask: MaskLike;
|
|
42
42
|
processMode: ProcessMode;
|
|
43
43
|
processSortMode: ProcessSortMode;
|
|
44
44
|
renderMode: RenderMode;
|
|
45
45
|
internalMode: InternalMode;
|
|
46
46
|
meta: Record<string, any>;
|
|
47
47
|
}
|
|
48
|
+
export interface SerializedNode {
|
|
49
|
+
[key: string]: any;
|
|
50
|
+
is?: string;
|
|
51
|
+
children?: SerializedNode[];
|
|
52
|
+
meta?: {
|
|
53
|
+
[key: string]: any;
|
|
54
|
+
inCanvasIs?: string;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
48
57
|
export declare class Node extends CoreObject {
|
|
49
58
|
readonly is: string;
|
|
50
59
|
id: string;
|
|
@@ -54,7 +63,7 @@ export declare class Node extends CoreObject {
|
|
|
54
63
|
renderMode: RenderMode;
|
|
55
64
|
inputMode: InputMode;
|
|
56
65
|
internalMode: InternalMode;
|
|
57
|
-
mask?:
|
|
66
|
+
mask?: MaskLike;
|
|
58
67
|
protected _meta: Meta;
|
|
59
68
|
get meta(): Meta;
|
|
60
69
|
set meta(value: Record<string, any>);
|
|
@@ -101,7 +110,7 @@ export declare class Node extends CoreObject {
|
|
|
101
110
|
protected _onUnparented(oldParent: Node): void;
|
|
102
111
|
protected _onReady(): void;
|
|
103
112
|
protected _onProcess(delta?: number): void;
|
|
104
|
-
render(renderer:
|
|
113
|
+
render(renderer: GlRenderer, next?: () => void): void;
|
|
105
114
|
input(event: InputEvent, key: InputEventKey): void;
|
|
106
115
|
getIndex(): number;
|
|
107
116
|
getNode<T extends Node>(path: string): T | undefined;
|
|
@@ -109,8 +118,8 @@ export declare class Node extends CoreObject {
|
|
|
109
118
|
addSibling(sibling: Node): this;
|
|
110
119
|
prepend<T extends Node>(nodes: T[]): void;
|
|
111
120
|
prepend<T extends Node>(...nodes: T[]): void;
|
|
112
|
-
append<T extends Node>(nodes: T[]): void;
|
|
113
|
-
append<T extends Node>(...nodes: T[]): void;
|
|
121
|
+
append<T extends Node | SerializedNode>(nodes: T[]): void;
|
|
122
|
+
append<T extends Node | SerializedNode>(...nodes: T[]): void;
|
|
114
123
|
before<T extends Node>(nodes: T[]): void;
|
|
115
124
|
before<T extends Node>(...nodes: T[]): void;
|
|
116
125
|
after<T extends Node>(nodes: T[]): void;
|
|
@@ -132,9 +141,9 @@ export declare class Node extends CoreObject {
|
|
|
132
141
|
protected _unparented(oldParent: Node): void;
|
|
133
142
|
protected _process(delta: number): void;
|
|
134
143
|
protected _input(event: InputEvent, key: InputEventKey): void;
|
|
135
|
-
protected _render(renderer:
|
|
144
|
+
protected _render(renderer: GlRenderer): void;
|
|
136
145
|
destroy(): void;
|
|
137
146
|
clone(): this;
|
|
138
147
|
toJSON(): Record<string, any>;
|
|
139
|
-
static parse(value:
|
|
148
|
+
static parse(value: SerializedNode | SerializedNode[]): any;
|
|
140
149
|
}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { GlRenderer } from '../../core';
|
|
2
2
|
import type { Node } from './Node';
|
|
3
|
+
export type Renderable = Node & {
|
|
4
|
+
needsRender?: boolean;
|
|
5
|
+
};
|
|
3
6
|
export interface RenderCall {
|
|
4
|
-
renderable:
|
|
5
|
-
fn: (renderer:
|
|
7
|
+
renderable: Renderable;
|
|
8
|
+
fn: (renderer: GlRenderer, next: () => void) => void;
|
|
6
9
|
parentCall: RenderCall | undefined;
|
|
7
10
|
calls: RenderCall[];
|
|
8
11
|
}
|
|
9
12
|
export declare class RenderStack {
|
|
10
13
|
currentCall?: RenderCall;
|
|
11
14
|
calls: RenderCall[];
|
|
12
|
-
createCall(renderable:
|
|
13
|
-
push(renderable:
|
|
14
|
-
render(renderer:
|
|
15
|
+
createCall(renderable: Renderable): RenderCall;
|
|
16
|
+
push(renderable: Renderable): RenderCall;
|
|
17
|
+
render(renderer: GlRenderer): void;
|
|
15
18
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Fonts } from 'modern-font';
|
|
2
2
|
import type { Hex8Color } from 'modern-idoc';
|
|
3
|
-
import type { InputEvents, MainLoopEvents, MainLoopProperties
|
|
3
|
+
import type { GlRenderer, InputEvents, MainLoopEvents, MainLoopProperties } from '../../core';
|
|
4
4
|
import type { Node } from './Node';
|
|
5
5
|
import type { Viewport } from './Viewport';
|
|
6
6
|
import { Color, Input, MainLoop } from '../../core';
|
|
@@ -23,7 +23,7 @@ export interface SceneTree {
|
|
|
23
23
|
}
|
|
24
24
|
export interface SceneTreeProperties extends MainLoopProperties {
|
|
25
25
|
msaa: boolean;
|
|
26
|
-
|
|
26
|
+
roundPixels: boolean;
|
|
27
27
|
backgroundColor: Hex8Color;
|
|
28
28
|
debug: boolean;
|
|
29
29
|
processPaused: boolean;
|
|
@@ -32,7 +32,7 @@ export interface SceneTreeProperties extends MainLoopProperties {
|
|
|
32
32
|
}
|
|
33
33
|
export declare class SceneTree extends MainLoop {
|
|
34
34
|
msaa: boolean;
|
|
35
|
-
|
|
35
|
+
roundPixels: boolean;
|
|
36
36
|
backgroundColor?: Hex8Color;
|
|
37
37
|
debug: boolean;
|
|
38
38
|
processPaused: boolean;
|
|
@@ -44,14 +44,14 @@ export declare class SceneTree extends MainLoop {
|
|
|
44
44
|
protected _backgroundColor: Color;
|
|
45
45
|
protected _previousViewport?: Viewport;
|
|
46
46
|
protected _currentViewport?: Viewport;
|
|
47
|
-
getCurrentViewport(): Viewport | undefined;
|
|
48
47
|
getPreviousViewport(): Viewport | undefined;
|
|
48
|
+
getCurrentViewport(): Viewport | undefined;
|
|
49
49
|
setCurrentViewport(viewport: Viewport | undefined): void;
|
|
50
50
|
constructor(properties?: Partial<SceneTreeProperties>);
|
|
51
51
|
protected _updateProperty(key: string, value: any, oldValue: any): void;
|
|
52
52
|
log(...args: any[]): void;
|
|
53
53
|
protected _process(delta?: number): void;
|
|
54
|
-
protected _render(renderer:
|
|
55
|
-
protected _renderScreen(renderer:
|
|
54
|
+
protected _render(renderer: GlRenderer): void;
|
|
55
|
+
protected _renderScreen(renderer: GlRenderer): void;
|
|
56
56
|
destroy(): void;
|
|
57
57
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { GlRenderer, RectangleLike, Vector2, Vector2Data } from '../../core';
|
|
2
|
+
import type { Texture2D } from '../resources';
|
|
2
3
|
import type { Rectangulable, RectangulableEvents } from './interfaces';
|
|
3
4
|
import type { NodeEvents } from './Node';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
5
|
+
import { Rectangle, Transform2D } from '../../core';
|
|
6
|
+
import { RenderTarget } from '../resources';
|
|
6
7
|
import { Node } from './Node';
|
|
7
8
|
export interface ViewportEvents extends NodeEvents, RectangulableEvents {
|
|
8
9
|
}
|
|
@@ -12,40 +13,31 @@ export interface Viewport {
|
|
|
12
13
|
off: <K extends keyof ViewportEvents & string>(event: K, listener: (...args: ViewportEvents[K]) => void) => this;
|
|
13
14
|
emit: <K extends keyof ViewportEvents & string>(event: K, ...args: ViewportEvents[K]) => this;
|
|
14
15
|
}
|
|
15
|
-
export interface ViewportFramebuffer {
|
|
16
|
-
texture: ViewportTexture;
|
|
17
|
-
needsUpload: boolean;
|
|
18
|
-
}
|
|
19
16
|
export declare class Viewport extends Node implements Rectangulable {
|
|
20
|
-
flipY: boolean;
|
|
21
|
-
readonly projection: Projection2D;
|
|
22
17
|
readonly canvasTransform: Transform2D;
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
renderTargetIndex: number;
|
|
19
|
+
readonly renderTargets: RenderTarget[];
|
|
25
20
|
x: number;
|
|
26
21
|
y: number;
|
|
27
22
|
width: number;
|
|
28
23
|
height: number;
|
|
24
|
+
mipLevel: number;
|
|
29
25
|
msaa: boolean;
|
|
30
26
|
get valid(): boolean;
|
|
31
|
-
get
|
|
32
|
-
get
|
|
27
|
+
get renderTarget(): RenderTarget;
|
|
28
|
+
get previousRenderTarget(): RenderTarget;
|
|
29
|
+
get texture(): Texture2D<null>;
|
|
33
30
|
getViewport(): Viewport;
|
|
34
|
-
constructor(flipY?: boolean);
|
|
35
|
-
/** @internal */
|
|
36
|
-
_glFramebufferOptions(renderer: WebGLRenderer): WebGLFramebufferOptions;
|
|
37
|
-
/** @internal */
|
|
38
|
-
_glFramebuffer(renderer: WebGLRenderer): WebGLFramebuffer;
|
|
39
31
|
protected _updateProperty(key: string, value: any, oldValue: any): void;
|
|
40
|
-
|
|
32
|
+
flush(renderer: GlRenderer): void;
|
|
41
33
|
resize(width: number, height: number): void;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
render(renderer:
|
|
48
|
-
getRect():
|
|
34
|
+
activate(renderer: GlRenderer, frame?: RectangleLike): boolean;
|
|
35
|
+
redraw(renderer: GlRenderer, cb: () => void): boolean;
|
|
36
|
+
activateWithCopy(renderer: GlRenderer, target: Viewport): void;
|
|
37
|
+
renderStart(renderer: GlRenderer, frame?: RectangleLike): void;
|
|
38
|
+
renderEnd(renderer: GlRenderer, oldViewport: Viewport | undefined): void;
|
|
39
|
+
render(renderer: GlRenderer, next?: () => void): void;
|
|
40
|
+
getRect(): Rectangle;
|
|
49
41
|
toCanvasGlobal<P extends Vector2Data = Vector2>(screenPos: Vector2Data, newPos?: P): P;
|
|
50
42
|
toCanvasScreen<P extends Vector2Data = Vector2>(globalPos: Vector2Data, newPos?: P): P;
|
|
51
43
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { GlRenderer } from '../../core';
|
|
2
2
|
import { Viewport } from './Viewport';
|
|
3
3
|
export declare class Window extends Viewport {
|
|
4
|
-
|
|
5
|
-
finish(renderer:
|
|
6
|
-
flush(renderer:
|
|
4
|
+
constructor();
|
|
5
|
+
finish(renderer: GlRenderer): void;
|
|
6
|
+
flush(renderer: GlRenderer): void;
|
|
7
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Rectangle } from '../../../core';
|
|
2
2
|
export interface RectangulableEvents {
|
|
3
3
|
updateRect: [];
|
|
4
4
|
}
|
|
@@ -9,5 +9,5 @@ export interface Rectangulable {
|
|
|
9
9
|
emit: <K extends keyof RectangulableEvents & string>(event: K, ...args: RectangulableEvents[K]) => this;
|
|
10
10
|
}
|
|
11
11
|
export interface Rectangulable {
|
|
12
|
-
getRect: () =>
|
|
12
|
+
getRect: () => Rectangle;
|
|
13
13
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { GlRenderer, RectangleLike, RenderTargetLikeReactiveObject, ResourceEvents } from '../../core';
|
|
2
|
+
import { Resource } from '../../core';
|
|
3
|
+
import { Texture2D } from '../resources';
|
|
4
|
+
export interface RenderTargetEvents extends ResourceEvents {
|
|
5
|
+
}
|
|
6
|
+
export interface RenderTarget {
|
|
7
|
+
on: <K extends keyof RenderTargetEvents & string>(event: K, listener: (...args: RenderTargetEvents[K]) => void) => this;
|
|
8
|
+
once: <K extends keyof RenderTargetEvents & string>(event: K, listener: (...args: RenderTargetEvents[K]) => void) => this;
|
|
9
|
+
off: <K extends keyof RenderTargetEvents & string>(event: K, listener: (...args: RenderTargetEvents[K]) => void) => this;
|
|
10
|
+
emit: <K extends keyof RenderTargetEvents & string>(event: K, ...args: RenderTargetEvents[K]) => this;
|
|
11
|
+
}
|
|
12
|
+
export declare class RenderTarget extends Resource implements RenderTargetLikeReactiveObject {
|
|
13
|
+
isRoot: boolean;
|
|
14
|
+
x: number;
|
|
15
|
+
y: number;
|
|
16
|
+
width: number;
|
|
17
|
+
height: number;
|
|
18
|
+
mipLevel: number;
|
|
19
|
+
msaa: boolean;
|
|
20
|
+
colorTextures: Texture2D<null>[];
|
|
21
|
+
get valid(): boolean;
|
|
22
|
+
get colorTexture(): Texture2D<null>;
|
|
23
|
+
protected _updateProperty(key: string, value: any, oldValue: any): void;
|
|
24
|
+
resize(width: number, height: number): void;
|
|
25
|
+
activate(renderer: GlRenderer, frame?: RectangleLike): boolean;
|
|
26
|
+
}
|
|
@@ -1,24 +1,15 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { GeometryLikeObject, GeometryLikeReactiveObject, GlRenderer, Topology } from '../../../core';
|
|
2
2
|
import type { Material } from '../materials/Material';
|
|
3
|
-
import type { IndexBuffer } from './IndexBuffer';
|
|
4
3
|
import type { VertexAttribute } from './VertexAttribute';
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
indexBuffer?: IndexBuffer;
|
|
9
|
-
instanceCount?: number;
|
|
10
|
-
mode?: WebGLDrawMode;
|
|
4
|
+
import { Resource } from '../../../core';
|
|
5
|
+
import { IndexBuffer } from './IndexBuffer';
|
|
6
|
+
export interface GeometryProperties extends Partial<Omit<GeometryLikeObject, 'instanceId'>> {
|
|
11
7
|
}
|
|
12
|
-
export declare class Geometry extends Resource {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
/** @internal */
|
|
20
|
-
_glVertexArray(renderer: WebGLRenderer): WebGLVertexArrayObjectOptions;
|
|
21
|
-
/** @internal */
|
|
22
|
-
_glVertexArrayObject(renderer: WebGLRenderer, material: Material): WebGLVertexArrayObject | null;
|
|
23
|
-
draw(renderer: WebGLRenderer, material: Material, uniforms?: Record<string, any>): void;
|
|
8
|
+
export declare class Geometry extends Resource implements GeometryLikeReactiveObject {
|
|
9
|
+
topology: Topology;
|
|
10
|
+
attributes: Record<string, VertexAttribute>;
|
|
11
|
+
indexBuffer: IndexBuffer;
|
|
12
|
+
instanceCount: number;
|
|
13
|
+
constructor(properties?: GeometryProperties);
|
|
14
|
+
draw(renderer: GlRenderer, material: Material, uniforms?: Record<string, any>): void;
|
|
24
15
|
}
|
|
@@ -1,18 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import { Resource } from '../../../core';
|
|
3
|
-
export interface
|
|
4
|
-
data?: Uint16Array<ArrayBuffer> | null;
|
|
5
|
-
dynamic?: boolean;
|
|
1
|
+
import type { BufferLikeObject, BufferLikeReactiveObject } from '../../../core';
|
|
2
|
+
import { BufferUsage, Resource } from '../../../core';
|
|
3
|
+
export interface IndexBufferProperties extends Partial<Omit<BufferLikeObject, 'instanceId'>> {
|
|
6
4
|
}
|
|
7
|
-
export declare class IndexBuffer extends Resource {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
constructor(options?: IndexBufferOptions);
|
|
12
|
-
/** @internal */
|
|
13
|
-
_glBufferOptions(): WebGLBufferOptions;
|
|
14
|
-
/** @internal */
|
|
15
|
-
_glBuffer(renderer: WebGLRenderer): WebGLBuffer;
|
|
16
|
-
protected _updateProperty(key: string, value: any, oldValue: any): void;
|
|
17
|
-
upload(renderer: WebGLRenderer): boolean;
|
|
5
|
+
export declare class IndexBuffer extends Resource implements BufferLikeReactiveObject {
|
|
6
|
+
usage: BufferUsage;
|
|
7
|
+
data: BufferLikeObject['data'];
|
|
8
|
+
constructor(properties?: IndexBufferProperties);
|
|
18
9
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { GlRenderer } from '../../../core';
|
|
2
2
|
import type { Material } from '../materials';
|
|
3
3
|
import { Geometry } from './Geometry';
|
|
4
4
|
export declare class QuadUvGeometry extends Geometry {
|
|
5
5
|
protected static _instance: QuadUvGeometry;
|
|
6
6
|
static get instance(): QuadUvGeometry;
|
|
7
|
-
static draw(renderer:
|
|
7
|
+
static draw(renderer: GlRenderer, material?: Material, uniforms?: Record<string, any>): void;
|
|
8
8
|
constructor();
|
|
9
9
|
}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import type { GeometryProperties } from './Geometry';
|
|
1
2
|
import { Geometry } from './Geometry';
|
|
2
3
|
import { VertexBuffer } from './VertexBuffer';
|
|
4
|
+
export interface UvGeometryProperties extends GeometryProperties {
|
|
5
|
+
}
|
|
3
6
|
export declare class UvGeometry extends Geometry {
|
|
4
7
|
positionBuffer: VertexBuffer;
|
|
5
8
|
uvBuffer: VertexBuffer;
|
|
6
|
-
constructor();
|
|
9
|
+
constructor(properties: UvGeometryProperties);
|
|
7
10
|
}
|
|
@@ -1,24 +1,15 @@
|
|
|
1
|
+
import type { GeometryAttributeLike, VertexFormat } from '../../../core';
|
|
1
2
|
import { Resource } from '../../../core';
|
|
2
3
|
import { VertexBuffer } from './VertexBuffer';
|
|
3
|
-
export interface
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
export interface VertexAttributeProperties extends Partial<GeometryAttributeLike> {
|
|
5
|
+
}
|
|
6
|
+
export declare class VertexAttribute extends Resource implements GeometryAttributeLike {
|
|
7
|
+
buffer: VertexBuffer;
|
|
8
|
+
format: VertexFormat;
|
|
9
|
+
instance?: boolean;
|
|
8
10
|
stride?: number;
|
|
9
11
|
offset?: number;
|
|
12
|
+
start?: number;
|
|
10
13
|
divisor?: number;
|
|
11
|
-
|
|
12
|
-
export declare class VertexAttribute extends Resource {
|
|
13
|
-
buffer: VertexBuffer;
|
|
14
|
-
size: number;
|
|
15
|
-
normalized: boolean;
|
|
16
|
-
type: 'float' | 'unsigned_byte' | 'unsigned_short';
|
|
17
|
-
stride: number | undefined;
|
|
18
|
-
offset: number | undefined;
|
|
19
|
-
divisor: number | undefined;
|
|
20
|
-
needsUpload: boolean;
|
|
21
|
-
constructor(options?: VertexAttributeOptions);
|
|
22
|
-
protected _updateProperty(key: string, value: any, oldValue: any): void;
|
|
23
|
-
upload(): boolean;
|
|
14
|
+
constructor(properties?: VertexAttributeProperties);
|
|
24
15
|
}
|
|
@@ -1,18 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import { Resource } from '../../../core';
|
|
3
|
-
export interface
|
|
4
|
-
data?: BufferSource | null;
|
|
5
|
-
dynamic?: boolean;
|
|
1
|
+
import type { BufferLikeObject, BufferLikeReactiveObject } from '../../../core';
|
|
2
|
+
import { BufferUsage, Resource } from '../../../core';
|
|
3
|
+
export interface VertexBufferProperties extends Partial<Omit<BufferLikeObject, 'instanceId'>> {
|
|
6
4
|
}
|
|
7
|
-
export declare class VertexBuffer extends Resource {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
constructor(options?: VertexBufferOptions);
|
|
12
|
-
/** @internal */
|
|
13
|
-
_glBufferOptions(): WebGLBufferOptions;
|
|
14
|
-
/** @internal */
|
|
15
|
-
_glBuffer(renderer: WebGLRenderer): WebGLBuffer;
|
|
16
|
-
protected _updateProperty(key: string, value: any, oldValue: any): void;
|
|
17
|
-
upload(renderer: WebGLRenderer): boolean;
|
|
5
|
+
export declare class VertexBuffer extends Resource implements BufferLikeReactiveObject {
|
|
6
|
+
usage: BufferUsage;
|
|
7
|
+
data: BufferLikeObject['data'];
|
|
8
|
+
constructor(properties?: VertexBufferProperties);
|
|
18
9
|
}
|