@galacean/engine-core 1.0.0 → 1.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +16279 -13113
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +16279 -13113
- package/dist/module.js +16217 -13061
- package/dist/module.js.map +1 -1
- package/package.json +3 -3
- package/types/2d/assembler/TiledSpriteAssembler.d.ts +1 -0
- package/types/2d/atlas/SpriteAtlas.d.ts +2 -6
- package/types/2d/data/VertexData2D.d.ts +1 -0
- package/types/2d/enums/SpriteDrawMode.d.ts +4 -2
- package/types/2d/enums/SpriteTileMode.d.ts +11 -0
- package/types/2d/index.d.ts +1 -0
- package/types/2d/sprite/Sprite.d.ts +17 -8
- package/types/2d/sprite/SpriteMask.d.ts +16 -22
- package/types/2d/sprite/SpriteRenderer.d.ts +31 -17
- package/types/2d/text/Font.d.ts +2 -7
- package/types/2d/text/TextRenderer.d.ts +1 -13
- package/types/2d/text/index.d.ts +1 -0
- package/types/Camera.d.ts +60 -16
- package/types/Component.d.ts +1 -8
- package/types/ComponentsDependencies.d.ts +17 -9
- package/types/DisorderedArray.d.ts +4 -3
- package/types/Engine.d.ts +43 -46
- package/types/Entity.d.ts +4 -2
- package/types/RenderPipeline/Basic2DBatcher.d.ts +6 -7
- package/types/RenderPipeline/BasicRenderPipeline.d.ts +7 -6
- package/types/RenderPipeline/ClassPool.d.ts +3 -1
- package/types/RenderPipeline/CullingResults.d.ts +1 -0
- package/types/RenderPipeline/DepthOnlyPass.d.ts +1 -0
- package/types/RenderPipeline/IPoolElement.d.ts +3 -0
- package/types/RenderPipeline/MeshRenderData.d.ts +17 -0
- package/types/RenderPipeline/MeshRenderElement.d.ts +3 -1
- package/types/RenderPipeline/PipelinePass.d.ts +16 -0
- package/types/RenderPipeline/PipelineUtils.d.ts +1 -0
- package/types/RenderPipeline/RenderData.d.ts +7 -0
- package/types/RenderPipeline/RenderElement.d.ts +8 -10
- package/types/RenderPipeline/RenderPass.d.ts +1 -1
- package/types/RenderPipeline/RenderQueue.d.ts +3 -5
- package/types/RenderPipeline/SpriteElement.d.ts +3 -1
- package/types/RenderPipeline/SpriteMaskBatcher.d.ts +4 -3
- package/types/RenderPipeline/SpriteMaskElement.d.ts +3 -1
- package/types/RenderPipeline/SpriteMaskRenderData.d.ts +12 -0
- package/types/RenderPipeline/SpriteRenderData.d.ts +14 -0
- package/types/RenderPipeline/TextRenderData.d.ts +8 -0
- package/types/RenderPipeline/TextRenderElement.d.ts +3 -1
- package/types/RenderPipeline/enums/PipelineStage.d.ts +11 -0
- package/types/RenderPipeline/index.d.ts +4 -0
- package/types/Renderer.d.ts +10 -15
- package/types/Scene.d.ts +16 -9
- package/types/SceneManager.d.ts +28 -5
- package/types/Script.d.ts +18 -15
- package/types/Transform.d.ts +9 -12
- package/types/Utils.d.ts +28 -0
- package/types/animation/AnimationClip.d.ts +2 -1
- package/types/animation/Animator.d.ts +5 -4
- package/types/animation/animationCurve/AnimationFloatArrayCurve.d.ts +0 -1
- package/types/animation/enums/LayerState.d.ts +3 -1
- package/types/animation/internal/AnimationCurveLayerOwner.d.ts +1 -0
- package/types/asset/AssetType.d.ts +18 -16
- package/types/asset/ContentRestorer.d.ts +17 -0
- package/types/asset/GraphicsResource.d.ts +5 -0
- package/types/asset/IReferable.d.ts +2 -0
- package/types/asset/LoadItem.d.ts +16 -9
- package/types/asset/Loader.d.ts +3 -1
- package/types/asset/ReferResource.d.ts +22 -0
- package/types/asset/ResourceManager.d.ts +17 -11
- package/types/asset/request.d.ts +7 -3
- package/types/base/Constant.d.ts +3 -1
- package/types/base/EngineObject.d.ts +1 -0
- package/types/base/EventDispatcher.d.ts +2 -15
- package/types/base/Time.d.ts +27 -24
- package/types/base/index.d.ts +0 -2
- package/types/clone/ComponentCloner.d.ts +2 -1
- package/types/enums/ActiveChangeFlag.d.ts +6 -0
- package/types/enums/DepthTextureMode.d.ts +7 -0
- package/types/env-probe/CubeProbe.d.ts +0 -7
- package/types/env-probe/Probe.d.ts +0 -6
- package/types/graphic/Buffer.d.ts +25 -16
- package/types/graphic/BufferUtil.d.ts +1 -0
- package/types/graphic/Mesh.d.ts +5 -16
- package/types/graphic/SubMesh.d.ts +3 -1
- package/types/graphic/VertexElement.d.ts +10 -6
- package/types/index.d.ts +9 -7
- package/types/input/InputManager.d.ts +3 -3
- package/types/input/interface/IInput.d.ts +1 -1
- package/types/lighting/AmbientLight.d.ts +4 -1
- package/types/lighting/DirectLight.d.ts +0 -1
- package/types/lighting/Light.d.ts +0 -1
- package/types/lighting/LightManager.d.ts +1 -0
- package/types/lighting/SpotLight.d.ts +0 -1
- package/types/material/BaseMaterial.d.ts +8 -10
- package/types/material/BlinnPhongMaterial.d.ts +0 -3
- package/types/material/Material.d.ts +8 -8
- package/types/material/PBRMaterial.d.ts +12 -3
- package/types/material/PBRSpecularMaterial.d.ts +1 -1
- package/types/material/UnlitMaterial.d.ts +1 -1
- package/types/mesh/BlendShape.d.ts +1 -1
- package/types/mesh/BlendShapeFrame.d.ts +28 -6
- package/types/mesh/BufferMesh.d.ts +2 -2
- package/types/mesh/MeshRenderer.d.ts +7 -12
- package/types/mesh/ModelMesh.d.ts +62 -41
- package/types/mesh/PrimitiveMesh.d.ts +6 -2
- package/types/mesh/PrimitiveMeshRestorer.d.ts +1 -0
- package/types/mesh/Skin.d.ts +3 -0
- package/types/mesh/SkinnedMeshRenderer.d.ts +18 -23
- package/types/mesh/index.d.ts +6 -5
- package/types/particle/ParticleRenderer.d.ts +2 -2
- package/types/physics/CharacterController.d.ts +0 -2
- package/types/physics/Collider.d.ts +1 -1
- package/types/physics/Collision.d.ts +4 -0
- package/types/physics/PhysicsManager.d.ts +1 -20
- package/types/physics/PhysicsScene.d.ts +75 -0
- package/types/physics/index.d.ts +7 -7
- package/types/physics/joint/HingeJoint.d.ts +2 -2
- package/types/physics/joint/Joint.d.ts +2 -2
- package/types/physics/joint/SpringJoint.d.ts +1 -1
- package/types/renderingHardwareInterface/IPlatformBuffer.d.ts +7 -0
- package/types/renderingHardwareInterface/IPlatformTexture2D.d.ts +1 -1
- package/types/renderingHardwareInterface/IPlatformTexture2DArray.d.ts +1 -1
- package/types/renderingHardwareInterface/IPlatformTextureCube.d.ts +1 -1
- package/types/renderingHardwareInterface/index.d.ts +1 -0
- package/types/shader/Shader.d.ts +54 -23
- package/types/shader/ShaderData.d.ts +24 -24
- package/types/shader/ShaderMacro.d.ts +16 -0
- package/types/shader/ShaderPart.d.ts +41 -0
- package/types/shader/ShaderPass.d.ts +9 -2
- package/types/shader/ShaderProperty.d.ts +7 -0
- package/types/shader/ShaderTagKey.d.ts +16 -0
- package/types/shader/SubShader.d.ts +19 -0
- package/types/shader/enums/RenderStateElementKey.d.ts +58 -0
- package/types/shader/index.d.ts +6 -1
- package/types/shader/state/index.d.ts +6 -0
- package/types/shadow/CascadedShadowCasterPass.d.ts +6 -7
- package/types/sky/Sky.d.ts +12 -4
- package/types/sky/SkyBoxMaterial.d.ts +27 -9
- package/types/sky/SkyProceduralMaterial.d.ts +72 -0
- package/types/sky/index.d.ts +1 -0
- package/types/texture/RenderTarget.d.ts +3 -8
- package/types/texture/Texture.d.ts +8 -6
- package/types/texture/Texture2D.d.ts +4 -2
- package/types/texture/Texture2DArray.d.ts +1 -1
- package/types/texture/TextureCube.d.ts +1 -1
- package/types/texture/enums/TextureFormat.d.ts +55 -49
- package/types/texture/enums/TextureUsage.d.ts +9 -0
- package/types/texture/index.d.ts +1 -0
- package/types/trail/TrailRenderer.d.ts +0 -5
- package/types/utils/SafeLoopArray.d.ts +41 -0
package/types/shader/Shader.d.ts
CHANGED
|
@@ -2,15 +2,34 @@ import { Engine } from "../Engine";
|
|
|
2
2
|
import { ShaderMacro } from "./ShaderMacro";
|
|
3
3
|
import { ShaderPass } from "./ShaderPass";
|
|
4
4
|
import { ShaderProperty } from "./ShaderProperty";
|
|
5
|
+
import { SubShader } from "./SubShader";
|
|
5
6
|
/**
|
|
6
7
|
* Shader for rendering.
|
|
7
8
|
*/
|
|
8
9
|
export declare class Shader {
|
|
10
|
+
readonly name: string;
|
|
9
11
|
private static _shaderMap;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Create a shader by source code.
|
|
14
|
+
*
|
|
15
|
+
* @remarks
|
|
16
|
+
*
|
|
17
|
+
* ShaderLab must be enabled first as follows:
|
|
18
|
+
* ```ts
|
|
19
|
+
* // Import shaderLab
|
|
20
|
+
* import { ShaderLab } from "@galacean/engine-shader-lab";
|
|
21
|
+
* // Create engine with shaderLab
|
|
22
|
+
* const engine = await WebGLEngine.create({ canvas: "canvas", new ShaderLab() });
|
|
23
|
+
* ...
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @param shaderSource - shader code
|
|
27
|
+
* @returns Shader
|
|
28
|
+
*
|
|
29
|
+
* @throws
|
|
30
|
+
* Throw string exception if shaderLab has not been enabled properly.
|
|
31
|
+
*/
|
|
32
|
+
static create(shaderSource: string): Shader;
|
|
14
33
|
/**
|
|
15
34
|
* Create a shader.
|
|
16
35
|
* @param name - Name of the shader
|
|
@@ -26,18 +45,47 @@ export declare class Shader {
|
|
|
26
45
|
* @returns Shader
|
|
27
46
|
*/
|
|
28
47
|
static create(name: string, shaderPasses: ShaderPass[]): Shader;
|
|
48
|
+
/**
|
|
49
|
+
* Create a shader.
|
|
50
|
+
* @param name - Name of the shader
|
|
51
|
+
* @param subShaders - Sub shaders
|
|
52
|
+
* @returns Shader
|
|
53
|
+
*/
|
|
54
|
+
static create(name: string, subShaders: SubShader[]): Shader;
|
|
29
55
|
/**
|
|
30
56
|
* Find a shader by name.
|
|
31
57
|
* @param name - Name of the shader
|
|
32
58
|
*/
|
|
33
59
|
static find(name: string): Shader;
|
|
60
|
+
private _subShaders;
|
|
61
|
+
/**
|
|
62
|
+
* Sub shaders of the shader.
|
|
63
|
+
*/
|
|
64
|
+
get subShaders(): ReadonlyArray<SubShader>;
|
|
65
|
+
private constructor();
|
|
66
|
+
/**
|
|
67
|
+
* Compile shader variant by macro name list.
|
|
68
|
+
*
|
|
69
|
+
* @remarks
|
|
70
|
+
* Usually a shader contains some macros,any combination of macros is called shader variant.
|
|
71
|
+
*
|
|
72
|
+
* @param engine - Engine to which the shader variant belongs
|
|
73
|
+
* @param macros - Macro name list
|
|
74
|
+
* @returns Is the compiled shader variant valid
|
|
75
|
+
*/
|
|
76
|
+
compileVariant(engine: Engine, macros: string[]): boolean;
|
|
77
|
+
private static _applyConstRenderStates;
|
|
34
78
|
/**
|
|
79
|
+
* @deprecated Please use `ShaderMacro.getByName` instead
|
|
80
|
+
*
|
|
35
81
|
* Get shader macro by name.
|
|
36
82
|
* @param name - Name of the shader macro
|
|
37
83
|
* @returns Shader macro
|
|
38
84
|
*/
|
|
39
85
|
static getMacroByName(name: string): ShaderMacro;
|
|
40
86
|
/**
|
|
87
|
+
* @deprecated Please use `ShaderMacro.getByName` instead
|
|
88
|
+
*
|
|
41
89
|
* Get shader macro by name.
|
|
42
90
|
* @param name - Name of the shader macro
|
|
43
91
|
* @param value - Value of the shader macro
|
|
@@ -45,28 +93,11 @@ export declare class Shader {
|
|
|
45
93
|
*/
|
|
46
94
|
static getMacroByName(name: string, value: string): ShaderMacro;
|
|
47
95
|
/**
|
|
96
|
+
* @deprecated Please use `ShaderProperty.getByName` instead
|
|
97
|
+
*
|
|
48
98
|
* Get shader property by name.
|
|
49
99
|
* @param name - Name of the shader property
|
|
50
100
|
* @returns Shader property
|
|
51
101
|
*/
|
|
52
102
|
static getPropertyByName(name: string): ShaderProperty;
|
|
53
|
-
/** The name of shader. */
|
|
54
|
-
readonly name: string;
|
|
55
|
-
/**
|
|
56
|
-
* Shader passes.
|
|
57
|
-
*/
|
|
58
|
-
get passes(): ReadonlyArray<ShaderPass>;
|
|
59
|
-
private _passes;
|
|
60
|
-
private constructor();
|
|
61
|
-
/**
|
|
62
|
-
* Compile shader variant by macro name list.
|
|
63
|
-
*
|
|
64
|
-
* @remarks
|
|
65
|
-
* Usually a shader contains some macros,any combination of macros is called shader variant.
|
|
66
|
-
*
|
|
67
|
-
* @param engine - Engine to which the shader variant belongs
|
|
68
|
-
* @param macros - Macro name list
|
|
69
|
-
* @returns Is the compiled shader variant valid
|
|
70
|
-
*/
|
|
71
|
-
compileVariant(engine: Engine, macros: string[]): boolean;
|
|
72
103
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { IClone } from "@galacean/engine-design";
|
|
2
2
|
import { Color, Matrix, Vector2, Vector3, Vector4 } from "@galacean/engine-math";
|
|
3
|
-
import {
|
|
3
|
+
import { IReferable } from "../asset/IReferable";
|
|
4
4
|
import { Texture } from "../texture/Texture";
|
|
5
5
|
import { ShaderMacro } from "./ShaderMacro";
|
|
6
6
|
import { ShaderProperty } from "./ShaderProperty";
|
|
7
7
|
/**
|
|
8
8
|
* Shader data collection,Correspondence includes shader properties data and macros data.
|
|
9
9
|
*/
|
|
10
|
-
export declare class ShaderData implements
|
|
10
|
+
export declare class ShaderData implements IReferable, IClone {
|
|
11
11
|
private _macroMap;
|
|
12
12
|
private _refCount;
|
|
13
13
|
/**
|
|
@@ -18,7 +18,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
18
18
|
getFloat(propertyName: string): number;
|
|
19
19
|
/**
|
|
20
20
|
* Get float by shader property.
|
|
21
|
-
* @param property - Shader property, use `
|
|
21
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
22
22
|
* @returns Float
|
|
23
23
|
*/
|
|
24
24
|
getFloat(property: ShaderProperty): number;
|
|
@@ -32,7 +32,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
32
32
|
/**
|
|
33
33
|
* Set float by shader property.
|
|
34
34
|
* @remarks Corresponding float shader property type.
|
|
35
|
-
* @param property - Shader property, use `
|
|
35
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
36
36
|
* @param value - Float
|
|
37
37
|
*/
|
|
38
38
|
setFloat(property: ShaderProperty, value: number): void;
|
|
@@ -44,7 +44,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
44
44
|
getInt(propertyName: string): number;
|
|
45
45
|
/**
|
|
46
46
|
* Get int by shader property.
|
|
47
|
-
* @param property - Shader property, use `
|
|
47
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
48
48
|
* @returns Int
|
|
49
49
|
*/
|
|
50
50
|
getInt(property: ShaderProperty): number;
|
|
@@ -58,7 +58,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
58
58
|
/**
|
|
59
59
|
* Set int by shader property.
|
|
60
60
|
* @remarks Correspondence includes int and bool shader property type.
|
|
61
|
-
* @param property - Shader property, use `
|
|
61
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
62
62
|
* @param value - Int
|
|
63
63
|
*/
|
|
64
64
|
setInt(property: ShaderProperty, value: number): void;
|
|
@@ -70,7 +70,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
70
70
|
getFloatArray(propertyName: string): Float32Array;
|
|
71
71
|
/**
|
|
72
72
|
* Get float array by shader property.
|
|
73
|
-
* @param property - Shader property, use `
|
|
73
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
74
74
|
* @returns Float array
|
|
75
75
|
*/
|
|
76
76
|
getFloatArray(property: ShaderProperty): Float32Array;
|
|
@@ -84,7 +84,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
84
84
|
/**
|
|
85
85
|
* Set float array by shader property.
|
|
86
86
|
* @remarks Correspondence includes float array、vec2 array、vec3 array、vec4 array and matrix array shader property type.
|
|
87
|
-
* @param property - Shader property, use `
|
|
87
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
88
88
|
* @param value - Float array
|
|
89
89
|
*/
|
|
90
90
|
setFloatArray(property: ShaderProperty, value: Float32Array): void;
|
|
@@ -96,7 +96,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
96
96
|
getIntArray(propertyName: string): Int32Array;
|
|
97
97
|
/**
|
|
98
98
|
* Get int array by shader property.
|
|
99
|
-
* @param property - Shader property, use `
|
|
99
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
100
100
|
* @returns Int Array
|
|
101
101
|
*/
|
|
102
102
|
getIntArray(property: ShaderProperty): Int32Array;
|
|
@@ -110,7 +110,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
110
110
|
/**
|
|
111
111
|
* Set int array by shader property.
|
|
112
112
|
* @remarks Correspondence includes bool array、int array、bvec2 array、bvec3 array、bvec4 array、ivec2 array、ivec3 array and ivec4 array shader property type.
|
|
113
|
-
* @param property - Shader property, use `
|
|
113
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
114
114
|
* @param value - Int Array
|
|
115
115
|
*/
|
|
116
116
|
setIntArray(property: ShaderProperty, value: Int32Array): void;
|
|
@@ -122,7 +122,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
122
122
|
getVector2(propertyName: string): Vector2;
|
|
123
123
|
/**
|
|
124
124
|
* Get two-dimensional from shader property.
|
|
125
|
-
* @param property - Shader property, use `
|
|
125
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
126
126
|
* @returns Two-dimensional vector
|
|
127
127
|
*/
|
|
128
128
|
getVector2(property: ShaderProperty): Vector2;
|
|
@@ -136,7 +136,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
136
136
|
/**
|
|
137
137
|
* Set two-dimensional vector from shader property.
|
|
138
138
|
* @remarks Correspondence includes vec2、ivec2 and bvec2 shader property type.
|
|
139
|
-
* @param property - Shader property, use `
|
|
139
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
140
140
|
* @param value - Two-dimensional vector
|
|
141
141
|
*/
|
|
142
142
|
setVector2(property: ShaderProperty, value: Vector2): void;
|
|
@@ -148,7 +148,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
148
148
|
getVector3(propertyName: string): Vector3;
|
|
149
149
|
/**
|
|
150
150
|
* Get vector3 by shader property.
|
|
151
|
-
* @param property - Shader property, use `
|
|
151
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
152
152
|
* @returns Three-dimensional vector
|
|
153
153
|
*/
|
|
154
154
|
getVector3(property: ShaderProperty): Vector3;
|
|
@@ -162,7 +162,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
162
162
|
/**
|
|
163
163
|
* Set three dimensional vector by shader property.
|
|
164
164
|
* @remarks Correspondence includes vec3、ivec3 and bvec3 shader property type.
|
|
165
|
-
* @param property - Shader property, use `
|
|
165
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
166
166
|
* @param value - Three-dimensional vector
|
|
167
167
|
*/
|
|
168
168
|
setVector3(property: ShaderProperty, value: Vector3): void;
|
|
@@ -174,7 +174,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
174
174
|
getVector4(propertyName: string): Vector4;
|
|
175
175
|
/**
|
|
176
176
|
* Get vector4 by shader property.
|
|
177
|
-
* @param property - Shader property, use `
|
|
177
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
178
178
|
* @returns Four-dimensional vector
|
|
179
179
|
*/
|
|
180
180
|
getVector4(property: ShaderProperty): Vector4;
|
|
@@ -188,7 +188,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
188
188
|
/**
|
|
189
189
|
* Set four-dimensional vector by shader property.
|
|
190
190
|
* @remarks Correspondence includes vec4、ivec4 and bvec4 shader property type.
|
|
191
|
-
* @param property - Shader property, use `
|
|
191
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
192
192
|
* @param value - Four-dimensional vector
|
|
193
193
|
*/
|
|
194
194
|
setVector4(property: ShaderProperty, value: Vector4): void;
|
|
@@ -200,7 +200,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
200
200
|
getMatrix(propertyName: string): Matrix;
|
|
201
201
|
/**
|
|
202
202
|
* Get matrix by shader property.
|
|
203
|
-
* @param property - Shader property, use `
|
|
203
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
204
204
|
* @returns Matrix
|
|
205
205
|
*/
|
|
206
206
|
getMatrix(property: ShaderProperty): Matrix;
|
|
@@ -214,7 +214,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
214
214
|
/**
|
|
215
215
|
* Set matrix by shader property.
|
|
216
216
|
* @remarks Correspondence includes matrix shader property type.
|
|
217
|
-
* @param property - Shader property, use `
|
|
217
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
218
218
|
* @param value - Matrix
|
|
219
219
|
*/
|
|
220
220
|
setMatrix(property: ShaderProperty, value: Matrix): any;
|
|
@@ -226,7 +226,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
226
226
|
getColor(propertyName: string): Color;
|
|
227
227
|
/**
|
|
228
228
|
* Get color by shader property.
|
|
229
|
-
* @param property - Shader property, use `
|
|
229
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
230
230
|
* @returns Color
|
|
231
231
|
*/
|
|
232
232
|
getColor(property: ShaderProperty): Color;
|
|
@@ -240,7 +240,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
240
240
|
/**
|
|
241
241
|
* Set color by shader property.
|
|
242
242
|
* @remarks Correspondence includes vec4 shader property type.
|
|
243
|
-
* @param property - Shader property, use `
|
|
243
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
244
244
|
* @param value - Color
|
|
245
245
|
*/
|
|
246
246
|
setColor(property: ShaderProperty, value: Color): void;
|
|
@@ -252,7 +252,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
252
252
|
getTexture(propertyName: string): Texture;
|
|
253
253
|
/**
|
|
254
254
|
* Get texture by shader property.
|
|
255
|
-
* @param property - Shader property, use `
|
|
255
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
256
256
|
* @returns Texture
|
|
257
257
|
*/
|
|
258
258
|
getTexture(property: ShaderProperty): Texture;
|
|
@@ -264,7 +264,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
264
264
|
setTexture(propertyName: string, value: Texture): void;
|
|
265
265
|
/**
|
|
266
266
|
* Set texture by shader property.
|
|
267
|
-
* @param property - Shader property, use `
|
|
267
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
268
268
|
* @param value - Texture
|
|
269
269
|
*/
|
|
270
270
|
setTexture(property: ShaderProperty, value: Texture): void;
|
|
@@ -276,7 +276,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
276
276
|
getTextureArray(propertyName: string): Texture[];
|
|
277
277
|
/**
|
|
278
278
|
* Get texture array by shader property.
|
|
279
|
-
* @param property - Shader property, use `
|
|
279
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
280
280
|
* @returns Texture array
|
|
281
281
|
*/
|
|
282
282
|
getTextureArray(property: ShaderProperty): Texture[];
|
|
@@ -288,7 +288,7 @@ export declare class ShaderData implements IRefObject, IClone {
|
|
|
288
288
|
setTextureArray(propertyName: string, value: Texture[]): void;
|
|
289
289
|
/**
|
|
290
290
|
* Set texture array by shader property.
|
|
291
|
-
* @param property - Shader property, use `
|
|
291
|
+
* @param property - Shader property, use `ShaderProperty.getByName` to get
|
|
292
292
|
* @param value - Texture array
|
|
293
293
|
*/
|
|
294
294
|
setTextureArray(property: ShaderProperty, value: Texture[]): void;
|
|
@@ -3,8 +3,24 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export declare class ShaderMacro {
|
|
5
5
|
private static _macroNameCounter;
|
|
6
|
+
private static _macroCounter;
|
|
7
|
+
private static _macroMap;
|
|
8
|
+
/**
|
|
9
|
+
* Get shader macro by name.
|
|
10
|
+
* @param name - Name of the shader macro
|
|
11
|
+
* @returns Shader macro
|
|
12
|
+
*/
|
|
13
|
+
static getByName(name: string): ShaderMacro;
|
|
14
|
+
/**
|
|
15
|
+
* Get shader macro by name.
|
|
16
|
+
* @param name - Name of the shader macro
|
|
17
|
+
* @param value - Value of the shader macro
|
|
18
|
+
* @returns Shader macro
|
|
19
|
+
*/
|
|
20
|
+
static getByName(name: string, value: string): ShaderMacro;
|
|
6
21
|
/** Name. */
|
|
7
22
|
readonly name: string;
|
|
8
23
|
/** Value. */
|
|
9
24
|
readonly value: string;
|
|
25
|
+
private constructor();
|
|
10
26
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ShaderTagKey } from "./ShaderTagKey";
|
|
2
|
+
/**
|
|
3
|
+
* Base class for shader structure.
|
|
4
|
+
*/
|
|
5
|
+
export declare abstract class ShaderPart {
|
|
6
|
+
private _tagsMap;
|
|
7
|
+
/**
|
|
8
|
+
* Set tag by key name.
|
|
9
|
+
* @param keyName - Key name of the tag
|
|
10
|
+
* @param value - Tag value
|
|
11
|
+
*/
|
|
12
|
+
setTag<T extends number | string | boolean>(keyName: string, value: T): void;
|
|
13
|
+
/**
|
|
14
|
+
* Set tag.
|
|
15
|
+
* @param key - Key of the tag
|
|
16
|
+
* @param value - Tag value
|
|
17
|
+
*/
|
|
18
|
+
setTag<T extends number | string | boolean>(key: ShaderTagKey, value: T): void;
|
|
19
|
+
/**
|
|
20
|
+
* Delete a tag by key name.
|
|
21
|
+
* @param KeyName - Key name of the tag
|
|
22
|
+
*/
|
|
23
|
+
deleteTag(KeyName: string): void;
|
|
24
|
+
/**
|
|
25
|
+
* Delete a tag by key.
|
|
26
|
+
* @param key - Key of the tag
|
|
27
|
+
*/
|
|
28
|
+
deleteTag(key: ShaderTagKey): void;
|
|
29
|
+
/**
|
|
30
|
+
* Get tag by key name.
|
|
31
|
+
* @param keyName - Key name of the tag
|
|
32
|
+
* @returns Tag value
|
|
33
|
+
*/
|
|
34
|
+
getTagValue<T extends number | string | boolean>(keyName: string): T;
|
|
35
|
+
/**
|
|
36
|
+
* Get tag value by key.
|
|
37
|
+
* @param key - Key of the tag
|
|
38
|
+
* @returns Tag value
|
|
39
|
+
*/
|
|
40
|
+
getTagValue<T extends number | string | boolean>(key: ShaderTagKey): T;
|
|
41
|
+
}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
+
import { ShaderPart } from "./ShaderPart";
|
|
1
2
|
/**
|
|
2
3
|
* Shader pass containing vertex and fragment source.
|
|
3
4
|
*/
|
|
4
|
-
export declare class ShaderPass {
|
|
5
|
+
export declare class ShaderPass extends ShaderPart {
|
|
5
6
|
private static _shaderPassCounter;
|
|
6
7
|
private _vertexSource;
|
|
7
8
|
private _fragmentSource;
|
|
8
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Create a shader pass.
|
|
11
|
+
* @param vertexSource - Vertex shader source
|
|
12
|
+
* @param fragmentSource - Fragment shader source
|
|
13
|
+
* @param tags - Tags
|
|
14
|
+
*/
|
|
15
|
+
constructor(vertexSource: string, fragmentSource: string, tags?: Record<string, number | string | boolean>);
|
|
9
16
|
}
|
|
@@ -4,6 +4,13 @@ import { ShaderPropertyType } from "./enums/ShaderPropertyType";
|
|
|
4
4
|
*/
|
|
5
5
|
export declare class ShaderProperty {
|
|
6
6
|
private static _propertyNameCounter;
|
|
7
|
+
private static _propertyNameMap;
|
|
8
|
+
/**
|
|
9
|
+
* Get shader property by name.
|
|
10
|
+
* @param name - Name of the shader property
|
|
11
|
+
* @returns Shader property
|
|
12
|
+
*/
|
|
13
|
+
static getByName(name: string): ShaderProperty;
|
|
7
14
|
/** Shader property name. */
|
|
8
15
|
readonly name: string;
|
|
9
16
|
/**
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shader tag key.
|
|
3
|
+
*/
|
|
4
|
+
export declare class ShaderTagKey {
|
|
5
|
+
private static _nameCounter;
|
|
6
|
+
private static _nameMap;
|
|
7
|
+
/**
|
|
8
|
+
* Get shader property by name.
|
|
9
|
+
* @param name - Name of the shader property
|
|
10
|
+
* @returns Shader property
|
|
11
|
+
*/
|
|
12
|
+
static getByName(name: string): ShaderTagKey;
|
|
13
|
+
/** Shader tag property name. */
|
|
14
|
+
readonly name: string;
|
|
15
|
+
private constructor();
|
|
16
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ShaderPart } from "./ShaderPart";
|
|
2
|
+
import { ShaderPass } from "./ShaderPass";
|
|
3
|
+
/**
|
|
4
|
+
* Sub shader.
|
|
5
|
+
*/
|
|
6
|
+
export declare class SubShader extends ShaderPart {
|
|
7
|
+
readonly name: string;
|
|
8
|
+
private _passes;
|
|
9
|
+
/**
|
|
10
|
+
* Sub shader passes.
|
|
11
|
+
*/
|
|
12
|
+
get passes(): ReadonlyArray<ShaderPass>;
|
|
13
|
+
/**
|
|
14
|
+
* Create a sub shader.
|
|
15
|
+
* @param name - Name of the sub shader
|
|
16
|
+
* @param passes - Sub shader passes
|
|
17
|
+
*/
|
|
18
|
+
constructor(name: string, passes: ShaderPass[], tags?: Record<string, number | string | boolean>);
|
|
19
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export declare enum RenderStateElementKey {
|
|
2
|
+
/** Blend state enabled for target 0 key. */
|
|
3
|
+
BlendStateEnabled0 = 0,
|
|
4
|
+
/** Blend state color blend operation for target 0 key. */
|
|
5
|
+
BlendStateColorBlendOperation0 = 1,
|
|
6
|
+
/** Blend state alpha blend operation for target 0 key. */
|
|
7
|
+
BlendStateAlphaBlendOperation0 = 2,
|
|
8
|
+
/** Blend state source color blend factor for target 0 key. */
|
|
9
|
+
BlendStateSourceColorBlendFactor0 = 3,
|
|
10
|
+
/** Blend state source alpha blend factor for target 0 key. */
|
|
11
|
+
BlendStateSourceAlphaBlendFactor0 = 4,
|
|
12
|
+
/** Blend state destination color blend factor for target 0 key. */
|
|
13
|
+
BlendStateDestinationColorBlendFactor0 = 5,
|
|
14
|
+
/** Blend state destination alpha blend factor for target 0 key. */
|
|
15
|
+
BlendStateDestinationAlphaBlendFactor0 = 6,
|
|
16
|
+
/** Blend state color write mask for target 0 key. */
|
|
17
|
+
BlendStateColorWriteMask0 = 7,
|
|
18
|
+
/** Blend state blend color key. */
|
|
19
|
+
BlendStateBlendColor = 8,
|
|
20
|
+
/** Blend state alpha to coverage key. */
|
|
21
|
+
BlendStateAlphaToCoverage = 9,
|
|
22
|
+
/** Depth state enabled key. */
|
|
23
|
+
DepthStateEnabled = 10,
|
|
24
|
+
/** Depth state write enabled key. */
|
|
25
|
+
DepthStateWriteEnabled = 11,
|
|
26
|
+
/** Depth state compare function key. */
|
|
27
|
+
DepthStateCompareFunction = 12,
|
|
28
|
+
/** Stencil state enabled key. */
|
|
29
|
+
StencilStateEnabled = 13,
|
|
30
|
+
/** Stencil state reference value key. */
|
|
31
|
+
StencilStateReferenceValue = 14,
|
|
32
|
+
/** Stencil state read mask key. */
|
|
33
|
+
StencilStateMask = 15,
|
|
34
|
+
/** Stencil state write mask key. */
|
|
35
|
+
StencilStateWriteMask = 16,
|
|
36
|
+
/** Stencil state compare function front key. */
|
|
37
|
+
StencilStateCompareFunctionFront = 17,
|
|
38
|
+
/** Stencil state compare function back key. */
|
|
39
|
+
StencilStateCompareFunctionBack = 18,
|
|
40
|
+
/** Stencil state pass operation front key. */
|
|
41
|
+
StencilStatePassOperationFront = 19,
|
|
42
|
+
/** Stencil state pass operation back key. */
|
|
43
|
+
StencilStatePassOperationBack = 20,
|
|
44
|
+
/** Stencil state fail operation front key. */
|
|
45
|
+
StencilStateFailOperationFront = 21,
|
|
46
|
+
/** Stencil state fail operation back key. */
|
|
47
|
+
StencilStateFailOperationBack = 22,
|
|
48
|
+
/** Stencil state z fail operation front key. */
|
|
49
|
+
StencilStateZFailOperationFront = 23,
|
|
50
|
+
/** Stencil state z fail operation back key. */
|
|
51
|
+
StencilStateZFailOperationBack = 24,
|
|
52
|
+
/** Raster state fill mode key. */
|
|
53
|
+
RasterStateCullMode = 25,
|
|
54
|
+
/** Raster state cull mode key. */
|
|
55
|
+
RasterStateDepthBias = 26,
|
|
56
|
+
/** Raster state depth bias key. */
|
|
57
|
+
RasterStateSlopeScaledDepthBias = 27
|
|
58
|
+
}
|
package/types/shader/index.d.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
export { RenderQueueType } from "./enums/RenderQueueType";
|
|
2
1
|
export { BlendFactor } from "./enums/BlendFactor";
|
|
3
2
|
export { BlendOperation } from "./enums/BlendOperation";
|
|
4
3
|
export { ColorWriteMask } from "./enums/ColorWriteMask";
|
|
5
4
|
export { CompareFunction } from "./enums/CompareFunction";
|
|
6
5
|
export { CullMode } from "./enums/CullMode";
|
|
6
|
+
export { RenderStateElementKey as RenderStateDataKey } from "./enums/RenderStateElementKey";
|
|
7
|
+
export { RenderQueueType } from "./enums/RenderQueueType";
|
|
7
8
|
export { ShaderPropertyType } from "./enums/ShaderPropertyType";
|
|
8
9
|
export { StencilOperation } from "./enums/StencilOperation";
|
|
9
10
|
export { Shader } from "./Shader";
|
|
10
11
|
export { ShaderData } from "./ShaderData";
|
|
12
|
+
export { ShaderMacro } from "./ShaderMacro";
|
|
11
13
|
export { ShaderPass } from "./ShaderPass";
|
|
12
14
|
export { ShaderProperty } from "./ShaderProperty";
|
|
15
|
+
export { ShaderTagKey } from "./ShaderTagKey";
|
|
16
|
+
export { SubShader } from "./SubShader";
|
|
17
|
+
export * from "./state";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { BlendState } from "./BlendState";
|
|
2
|
+
export { DepthState } from "./DepthState";
|
|
3
|
+
export { RasterState } from "./RasterState";
|
|
4
|
+
export { RenderState } from "./RenderState";
|
|
5
|
+
export { RenderTargetBlendState } from "./RenderTargetBlendState";
|
|
6
|
+
export { StencilState } from "./StencilState";
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Camera } from "../Camera";
|
|
2
|
+
import { PipelinePass } from "../RenderPipeline/PipelinePass";
|
|
2
3
|
/**
|
|
3
|
-
* Cascade shadow caster.
|
|
4
|
+
* Cascade shadow caster pass.
|
|
4
5
|
*/
|
|
5
|
-
export declare class CascadedShadowCasterPass {
|
|
6
|
+
export declare class CascadedShadowCasterPass extends PipelinePass {
|
|
6
7
|
private static _lightShadowBiasProperty;
|
|
7
8
|
private static _lightDirectionProperty;
|
|
8
9
|
private static _shadowMatricesProperty;
|
|
@@ -12,12 +13,11 @@ export declare class CascadedShadowCasterPass {
|
|
|
12
13
|
private static _shadowSplitSpheresProperty;
|
|
13
14
|
private static _maxCascades;
|
|
14
15
|
private static _cascadesSplitDistance;
|
|
16
|
+
private static _viewport;
|
|
15
17
|
private static _clearColor;
|
|
16
18
|
private static _tempVector;
|
|
17
19
|
private static _tempMatrix0;
|
|
18
20
|
private readonly _camera;
|
|
19
|
-
private readonly _engine;
|
|
20
|
-
private readonly _shadowCasterShader;
|
|
21
21
|
private readonly _supportDepthTexture;
|
|
22
22
|
private _shadowMapResolution;
|
|
23
23
|
private _shadowMapSize;
|
|
@@ -30,18 +30,17 @@ export declare class CascadedShadowCasterPass {
|
|
|
30
30
|
private _lightSide;
|
|
31
31
|
private _existShadowMap;
|
|
32
32
|
private _splitBoundSpheres;
|
|
33
|
-
/** The end is project
|
|
33
|
+
/** The end is project precision problem in shader. */
|
|
34
34
|
private _shadowMatrices;
|
|
35
35
|
private _shadowInfos;
|
|
36
36
|
private _depthTexture;
|
|
37
|
-
private
|
|
37
|
+
private _renderTarget;
|
|
38
38
|
private _viewportOffsets;
|
|
39
39
|
constructor(camera: Camera);
|
|
40
40
|
private _renderDirectShadowMap;
|
|
41
41
|
private _updateReceiversShaderData;
|
|
42
42
|
private _getCascadesSplitDistance;
|
|
43
43
|
private _getFarWithRadius;
|
|
44
|
-
private _getAvailableRenderTarget;
|
|
45
44
|
private _updateShadowSettings;
|
|
46
45
|
private _updateSingleShadowCasterShaderData;
|
|
47
46
|
}
|
package/types/sky/Sky.d.ts
CHANGED
|
@@ -7,8 +7,16 @@ export declare class Sky {
|
|
|
7
7
|
private static _epsilon;
|
|
8
8
|
private static _viewProjMatrix;
|
|
9
9
|
private static _projectionMatrix;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
|
|
10
|
+
private _material;
|
|
11
|
+
private _mesh;
|
|
12
|
+
/**
|
|
13
|
+
* Material of the sky.
|
|
14
|
+
*/
|
|
15
|
+
get material(): Material;
|
|
16
|
+
set material(value: Material);
|
|
17
|
+
/**
|
|
18
|
+
* Mesh of the sky.
|
|
19
|
+
*/
|
|
20
|
+
get mesh(): Mesh;
|
|
21
|
+
set mesh(value: Mesh);
|
|
14
22
|
}
|
|
@@ -1,25 +1,43 @@
|
|
|
1
|
+
import { Color } from "@galacean/engine-math";
|
|
1
2
|
import { Engine } from "../Engine";
|
|
2
3
|
import { Material } from "../material/Material";
|
|
3
4
|
import { TextureCube } from "../texture";
|
|
4
5
|
/**
|
|
5
|
-
*
|
|
6
|
+
* SkyBoxMaterial.
|
|
6
7
|
*/
|
|
7
8
|
export declare class SkyBoxMaterial extends Material {
|
|
8
|
-
private
|
|
9
|
+
private static _tintColorProp;
|
|
10
|
+
private static _textureCubeProp;
|
|
11
|
+
private static _rotationProp;
|
|
12
|
+
private static _exposureProp;
|
|
13
|
+
private static _decodeSkyRGBMMacro;
|
|
14
|
+
private _textureDecodeRGBM;
|
|
15
|
+
private _tintColor;
|
|
9
16
|
/**
|
|
10
|
-
* Whether to decode
|
|
17
|
+
* Whether to decode texture with RGBM format.
|
|
11
18
|
*/
|
|
12
19
|
get textureDecodeRGBM(): boolean;
|
|
13
20
|
set textureDecodeRGBM(value: boolean);
|
|
14
21
|
/**
|
|
15
|
-
*
|
|
22
|
+
* Texture of the sky box material.
|
|
16
23
|
*/
|
|
17
|
-
get
|
|
18
|
-
set
|
|
24
|
+
get texture(): TextureCube;
|
|
25
|
+
set texture(value: TextureCube);
|
|
19
26
|
/**
|
|
20
|
-
*
|
|
27
|
+
* The angle to rotate around the y-axis, unit is degree.
|
|
21
28
|
*/
|
|
22
|
-
get
|
|
23
|
-
set
|
|
29
|
+
get rotation(): number;
|
|
30
|
+
set rotation(value: number);
|
|
31
|
+
/**
|
|
32
|
+
* The exposure value of this material.
|
|
33
|
+
*/
|
|
34
|
+
get exposure(): number;
|
|
35
|
+
set exposure(value: number);
|
|
36
|
+
/**
|
|
37
|
+
* The Tint color of this material.
|
|
38
|
+
*/
|
|
39
|
+
get tintColor(): Color;
|
|
40
|
+
set tintColor(value: Color);
|
|
24
41
|
constructor(engine: Engine);
|
|
42
|
+
clone(): SkyBoxMaterial;
|
|
25
43
|
}
|