@configura/babylon-view 1.2.1 → 1.3.0-alpha.3

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.
Files changed (115) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +1 -1
  3. package/dist/animation/AnimatableObject.d.ts +8 -8
  4. package/dist/animation/AnimatableObject.js +3 -3
  5. package/dist/animation/animator/Animator.d.ts +33 -33
  6. package/dist/animation/animator/Animator.js +58 -58
  7. package/dist/animation/animator/AnimatorEasing.d.ts +16 -16
  8. package/dist/animation/animator/AnimatorEasing.js +31 -31
  9. package/dist/animation/animator/AnimatorEasingMatrix.d.ts +14 -14
  10. package/dist/animation/animator/AnimatorEasingMatrix.js +16 -16
  11. package/dist/animation/animator/AnimatorHighlight.d.ts +16 -16
  12. package/dist/animation/animator/AnimatorHighlight.js +32 -32
  13. package/dist/animation/animator/AnimatorPointToPoint.d.ts +8 -8
  14. package/dist/animation/animator/AnimatorPointToPoint.js +14 -14
  15. package/dist/animation/animator/AnimatorQueue.d.ts +13 -13
  16. package/dist/animation/animator/AnimatorQueue.js +57 -57
  17. package/dist/animation/animator/AnimatorScale.d.ts +8 -8
  18. package/dist/animation/animator/AnimatorScale.js +13 -13
  19. package/dist/animation/animator/AnimatorSpin.d.ts +10 -10
  20. package/dist/animation/animator/AnimatorSpin.js +13 -13
  21. package/dist/animation/animator/EasingFunctions.d.ts +35 -35
  22. package/dist/animation/animator/EasingFunctions.js +137 -137
  23. package/dist/animation/coordinator/Coordinator.d.ts +28 -28
  24. package/dist/animation/coordinator/Coordinator.js +47 -47
  25. package/dist/animation/coordinator/CoordinatorDropAndSpin.d.ts +22 -22
  26. package/dist/animation/coordinator/CoordinatorDropAndSpin.js +133 -133
  27. package/dist/animation/coordinator/CoordinatorIdentity.d.ts +11 -11
  28. package/dist/animation/coordinator/CoordinatorIdentity.js +12 -12
  29. package/dist/animation/coordinator/CoordinatorNodeQueues.d.ts +18 -18
  30. package/dist/animation/coordinator/CoordinatorNodeQueues.js +50 -50
  31. package/dist/animation/coordinator/CoordinatorPulse.d.ts +21 -21
  32. package/dist/animation/coordinator/CoordinatorPulse.js +47 -47
  33. package/dist/animation/coordinator/CoordinatorPulseBounce.d.ts +14 -14
  34. package/dist/animation/coordinator/CoordinatorPulseBounce.js +40 -40
  35. package/dist/animation/coordinator/CoordinatorPulseHighlight.d.ts +13 -13
  36. package/dist/animation/coordinator/CoordinatorPulseHighlight.js +34 -34
  37. package/dist/animation/coordinator/CoordinatorPulseInflate.d.ts +14 -14
  38. package/dist/animation/coordinator/CoordinatorPulseInflate.js +30 -30
  39. package/dist/camera/CameraCreator.d.ts +5 -5
  40. package/dist/camera/CameraCreator.js +4 -4
  41. package/dist/camera/CfgArcRotateCameraPointersInput.d.ts +10 -10
  42. package/dist/camera/CfgArcRotateCameraPointersInput.js +262 -262
  43. package/dist/camera/CfgOrbitalCamera.d.ts +68 -64
  44. package/dist/camera/CfgOrbitalCamera.js +250 -233
  45. package/dist/camera/CfgOrbitalCameraControlProps.d.ts +6 -6
  46. package/dist/camera/CfgOrbitalCameraControlProps.js +3 -3
  47. package/dist/camera/GradingApplier.d.ts +3 -3
  48. package/dist/camera/GradingApplier.js +48 -48
  49. package/dist/engine/EngineCreator.d.ts +3 -3
  50. package/dist/engine/EngineCreator.js +10 -10
  51. package/dist/geometry/CfgGeometry.d.ts +12 -12
  52. package/dist/geometry/CfgGeometry.js +117 -117
  53. package/dist/geometry/CfgMesh.d.ts +7 -7
  54. package/dist/geometry/CfgMesh.js +8 -8
  55. package/dist/geometry/geoSplitter.d.ts +8 -8
  56. package/dist/geometry/geoSplitter.js +192 -192
  57. package/dist/index.d.ts +13 -13
  58. package/dist/index.js +13 -13
  59. package/dist/light/CfgDirectionalLight.d.ts +8 -8
  60. package/dist/light/CfgDirectionalLight.js +18 -18
  61. package/dist/light/CfgHemisphericLight.d.ts +7 -7
  62. package/dist/light/CfgHemisphericLight.js +17 -17
  63. package/dist/light/CfgPointLight.d.ts +8 -8
  64. package/dist/light/CfgPointLight.js +18 -18
  65. package/dist/light/DefaultLightRig.d.ts +19 -19
  66. package/dist/light/DefaultLightRig.js +77 -77
  67. package/dist/light/LightRigCreator.d.ts +9 -9
  68. package/dist/light/LightRigCreator.js +3 -3
  69. package/dist/material/CfgMaterial.d.ts +53 -53
  70. package/dist/material/CfgMaterial.js +454 -454
  71. package/dist/material/DummyMaterialCreator.d.ts +4 -4
  72. package/dist/material/DummyMaterialCreator.js +15 -15
  73. package/dist/material/material.d.ts +18 -18
  74. package/dist/material/material.js +128 -128
  75. package/dist/material/texture.d.ts +14 -14
  76. package/dist/material/texture.js +304 -304
  77. package/dist/nodes/CfgContentRootNode.d.ts +19 -19
  78. package/dist/nodes/CfgContentRootNode.js +75 -75
  79. package/dist/nodes/CfgDeferredMeshNode.d.ts +48 -48
  80. package/dist/nodes/CfgDeferredMeshNode.js +347 -347
  81. package/dist/nodes/CfgProductNode.d.ts +61 -61
  82. package/dist/nodes/CfgProductNode.js +486 -486
  83. package/dist/nodes/CfgSymNode.d.ts +42 -42
  84. package/dist/nodes/CfgSymNode.js +216 -216
  85. package/dist/nodes/CfgSymRootNode.d.ts +33 -33
  86. package/dist/nodes/CfgSymRootNode.js +175 -175
  87. package/dist/nodes/CfgTransformNode.d.ts +29 -29
  88. package/dist/nodes/CfgTransformNode.js +81 -81
  89. package/dist/scene/SceneCreator.d.ts +6 -6
  90. package/dist/scene/SceneCreator.js +22 -22
  91. package/dist/utilities/CfgBoundingBox.d.ts +16 -16
  92. package/dist/utilities/CfgBoundingBox.js +64 -64
  93. package/dist/utilities/utilities3D.d.ts +26 -26
  94. package/dist/utilities/utilities3D.js +187 -187
  95. package/dist/utilities/utilitiesColor.d.ts +18 -18
  96. package/dist/utilities/utilitiesColor.js +48 -48
  97. package/dist/utilities/utilitiesImage.d.ts +6 -6
  98. package/dist/utilities/utilitiesImage.js +107 -107
  99. package/dist/utilities/utilitiesSymRootIdentifier.d.ts +5 -5
  100. package/dist/utilities/utilitiesSymRootIdentifier.js +20 -20
  101. package/dist/view/BaseView.d.ts +70 -70
  102. package/dist/view/BaseView.js +291 -291
  103. package/dist/view/BaseViewConfiguration.d.ts +32 -32
  104. package/dist/view/BaseViewConfiguration.js +8 -8
  105. package/dist/view/RenderEnv.d.ts +38 -38
  106. package/dist/view/RenderEnv.js +7 -7
  107. package/dist/view/SingleProductDefaultCameraView.d.ts +33 -33
  108. package/dist/view/SingleProductDefaultCameraView.js +141 -140
  109. package/dist/view/SingleProductDefaultCameraViewConfiguration.d.ts +46 -44
  110. package/dist/view/SingleProductDefaultCameraViewConfiguration.js +11 -11
  111. package/dist/view/SingleProductView.d.ts +42 -42
  112. package/dist/view/SingleProductView.js +205 -205
  113. package/dist/view/SingleProductViewConfiguration.d.ts +32 -32
  114. package/dist/view/SingleProductViewConfiguration.js +19 -19
  115. package/package.json +5 -5
@@ -1,77 +1,77 @@
1
- import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
2
- import { CfgDirectionalLight } from "./CfgDirectionalLight.js";
3
- import { CfgPointLight } from "./CfgPointLight.js";
4
- import { LightRig } from "./LightRigCreator.js";
5
- const LIGHT_DECAY = 2;
6
- const BASE_LIGHT_SCALE = 1;
7
- const BASE_LIGHT_POWER = 7;
8
- const BASE_NO_DECAY_LIGHT_POWER = BASE_LIGHT_POWER * 0.5;
9
- const BASE_DECAY_LIGHT_POWER = BASE_LIGHT_POWER * 30 * Math.pow(BASE_LIGHT_SCALE, LIGHT_DECAY);
10
- function isDecayingLight(object) {
11
- return object instanceof CfgPointLight;
12
- }
13
- export const getDefaultLightRigCreator = (relativeToCamera) => (scene, target) => new DefaultLightRig(scene, relativeToCamera ? target : undefined);
14
- export class DefaultLightRig extends LightRig {
15
- constructor(scene, target) {
16
- super("Light Rig");
17
- this._allLights = [];
18
- this._allPointLights = [];
19
- this._defaultIntensities = [];
20
- this._dimLevel = 1;
21
- this._scale = 1;
22
- if (target === undefined) {
23
- scene.addTransformNode(this);
24
- }
25
- else {
26
- this.setParent(target);
27
- }
28
- this.position.setAll(0);
29
- this.scaling.setAll(1);
30
- this.rotation.setAll(0);
31
- const lightColor = 0xffffff;
32
- // The light rig is by default attached to a CfgOrbitalCamera and thus rotates around the
33
- // current product, as well being scaled to fit around the product. The names of the lights
34
- // below are relative to what the camera looks at in this default configuration. In other
35
- // words, "behind" means the light is on the far side of the product relative to the camera.
36
- this._allLights.push(new CfgDirectionalLight("directional", scene, this, new Vector3(-35, -25, -10), lightColor, 1.2 * BASE_NO_DECAY_LIGHT_POWER));
37
- this._allPointLights.push(new CfgPointLight("rightUpBehind", scene, this, new Vector3(10, 10, -5).scaleInPlace(BASE_LIGHT_SCALE), lightColor, 0.8 * BASE_DECAY_LIGHT_POWER));
38
- this._allPointLights.push(new CfgPointLight("below", scene, this, new Vector3(0, -10, 0).scaleInPlace(BASE_LIGHT_SCALE), lightColor, 1.5 * BASE_DECAY_LIGHT_POWER));
39
- this._allPointLights.push(new CfgPointLight("leftFront", scene, this, new Vector3(-10, 0, 10).scaleInPlace(BASE_LIGHT_SCALE), lightColor, 1.2 * BASE_DECAY_LIGHT_POWER));
40
- this._allPointLights.push(new CfgPointLight("rightUpFront", scene, this, new Vector3(10, 10, 5).scaleInPlace(BASE_LIGHT_SCALE), lightColor, 0.8 * BASE_DECAY_LIGHT_POWER));
41
- this._allPointLights.push(new CfgPointLight("rightUp", scene, this, new Vector3(1, 15, 0).scaleInPlace(BASE_LIGHT_SCALE), lightColor, 0.8 * BASE_DECAY_LIGHT_POWER));
42
- this._allLights.push(...this._allPointLights);
43
- this._allLights.forEach((light, index) => {
44
- this._defaultIntensities[index] = light.intensity;
45
- });
46
- }
47
- get dimLevel() {
48
- return this._dimLevel;
49
- }
50
- set dimLevel(v) {
51
- this._dimLevel = v;
52
- this.applyDimLevel();
53
- }
54
- get scale() {
55
- return this._scale;
56
- }
57
- set scale(v) {
58
- this._scale = v;
59
- this.applyDimLevel();
60
- this.applyScale();
61
- }
62
- applyDimLevel() {
63
- const decayCompensation = Math.pow(this.scale, LIGHT_DECAY);
64
- this._allPointLights.forEach((light, index) => {
65
- light.intensity =
66
- this._defaultIntensities[index] *
67
- this.dimLevel *
68
- (isDecayingLight(light) ? decayCompensation : 1);
69
- });
70
- }
71
- applyScale() {
72
- this.scaling = new Vector3(this.scale, this.scale, this.scale);
73
- }
74
- get lightCount() {
75
- return this._allLights.length;
76
- }
77
- }
1
+ import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
2
+ import { CfgDirectionalLight } from "./CfgDirectionalLight.js";
3
+ import { CfgPointLight } from "./CfgPointLight.js";
4
+ import { LightRig } from "./LightRigCreator.js";
5
+ const LIGHT_DECAY = 2;
6
+ const BASE_LIGHT_SCALE = 1;
7
+ const BASE_LIGHT_POWER = 7;
8
+ const BASE_NO_DECAY_LIGHT_POWER = BASE_LIGHT_POWER * 0.5;
9
+ const BASE_DECAY_LIGHT_POWER = BASE_LIGHT_POWER * 30 * Math.pow(BASE_LIGHT_SCALE, LIGHT_DECAY);
10
+ function isDecayingLight(object) {
11
+ return object instanceof CfgPointLight;
12
+ }
13
+ export const getDefaultLightRigCreator = (relativeToCamera) => (scene, target) => new DefaultLightRig(scene, relativeToCamera ? target : undefined);
14
+ export class DefaultLightRig extends LightRig {
15
+ constructor(scene, target) {
16
+ super("Light Rig");
17
+ this._allLights = [];
18
+ this._allPointLights = [];
19
+ this._defaultIntensities = [];
20
+ this._dimLevel = 1;
21
+ this._scale = 1;
22
+ if (target === undefined) {
23
+ scene.addTransformNode(this);
24
+ }
25
+ else {
26
+ this.setParent(target);
27
+ }
28
+ this.position.setAll(0);
29
+ this.scaling.setAll(1);
30
+ this.rotation.setAll(0);
31
+ const lightColor = 0xffffff;
32
+ // The light rig is by default attached to a CfgOrbitalCamera and thus rotates around the
33
+ // current product, as well being scaled to fit around the product. The names of the lights
34
+ // below are relative to what the camera looks at in this default configuration. In other
35
+ // words, "behind" means the light is on the far side of the product relative to the camera.
36
+ this._allLights.push(new CfgDirectionalLight("directional", scene, this, new Vector3(-35, -25, -10), lightColor, 1.2 * BASE_NO_DECAY_LIGHT_POWER));
37
+ this._allPointLights.push(new CfgPointLight("rightUpBehind", scene, this, new Vector3(10, 10, -5).scaleInPlace(BASE_LIGHT_SCALE), lightColor, 0.8 * BASE_DECAY_LIGHT_POWER));
38
+ this._allPointLights.push(new CfgPointLight("below", scene, this, new Vector3(0, -10, 0).scaleInPlace(BASE_LIGHT_SCALE), lightColor, 1.5 * BASE_DECAY_LIGHT_POWER));
39
+ this._allPointLights.push(new CfgPointLight("leftFront", scene, this, new Vector3(-10, 0, 10).scaleInPlace(BASE_LIGHT_SCALE), lightColor, 1.2 * BASE_DECAY_LIGHT_POWER));
40
+ this._allPointLights.push(new CfgPointLight("rightUpFront", scene, this, new Vector3(10, 10, 5).scaleInPlace(BASE_LIGHT_SCALE), lightColor, 0.8 * BASE_DECAY_LIGHT_POWER));
41
+ this._allPointLights.push(new CfgPointLight("rightUp", scene, this, new Vector3(1, 15, 0).scaleInPlace(BASE_LIGHT_SCALE), lightColor, 0.8 * BASE_DECAY_LIGHT_POWER));
42
+ this._allLights.push(...this._allPointLights);
43
+ this._allLights.forEach((light, index) => {
44
+ this._defaultIntensities[index] = light.intensity;
45
+ });
46
+ }
47
+ get dimLevel() {
48
+ return this._dimLevel;
49
+ }
50
+ set dimLevel(v) {
51
+ this._dimLevel = v;
52
+ this.applyDimLevel();
53
+ }
54
+ get scale() {
55
+ return this._scale;
56
+ }
57
+ set scale(v) {
58
+ this._scale = v;
59
+ this.applyDimLevel();
60
+ this.applyScale();
61
+ }
62
+ applyDimLevel() {
63
+ const decayCompensation = Math.pow(this.scale, LIGHT_DECAY);
64
+ this._allPointLights.forEach((light, index) => {
65
+ light.intensity =
66
+ this._defaultIntensities[index] *
67
+ this.dimLevel *
68
+ (isDecayingLight(light) ? decayCompensation : 1);
69
+ });
70
+ }
71
+ applyScale() {
72
+ this.scaling = new Vector3(this.scale, this.scale, this.scale);
73
+ }
74
+ get lightCount() {
75
+ return this._allLights.length;
76
+ }
77
+ }
@@ -1,10 +1,10 @@
1
- import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
2
- import { Node } from "@babylonjs/core/node.js";
3
- import { Scene } from "@babylonjs/core/scene.js";
4
- export declare type LightRigCreator = (scene: Scene, target: Node | undefined) => LightRig;
5
- export declare abstract class LightRig extends TransformNode {
6
- abstract scale: number;
7
- abstract dimLevel: number;
8
- abstract lightCount: number;
9
- }
1
+ import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
2
+ import { Node } from "@babylonjs/core/node.js";
3
+ import { Scene } from "@babylonjs/core/scene.js";
4
+ export declare type LightRigCreator = (scene: Scene, target: Node | undefined) => LightRig;
5
+ export declare abstract class LightRig extends TransformNode {
6
+ abstract scale: number;
7
+ abstract dimLevel: number;
8
+ abstract lightCount: number;
9
+ }
10
10
  //# sourceMappingURL=LightRigCreator.d.ts.map
@@ -1,3 +1,3 @@
1
- import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
2
- export class LightRig extends TransformNode {
3
- }
1
+ import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
2
+ export class LightRig extends TransformNode {
3
+ }
@@ -1,54 +1,54 @@
1
- import { PBRMaterial } from "@babylonjs/core/Materials/PBR/pbrMaterial.js";
2
- import { Texture } from "@babylonjs/core/Materials/Textures/texture.js";
3
- import { GMaterial3D } from "@configura/web-core/dist/cm/core3D/GMaterial3D.js";
4
- import { GMaterialClassic } from "@configura/web-core/dist/cm/core3D/GMaterialClassic.js";
5
- import { GMaterialPBR } from "@configura/web-core/dist/cm/core3D/GMaterialPBR.js";
6
- import { LogObservable, LogProducer } from "@configura/web-utilities";
7
- import { RenderEnv } from "../view/RenderEnv.js";
8
- import { MaterialMetaData } from "./material.js";
9
- import { GMAndTexture } from "./texture.js";
10
- export declare class CfgMaterial implements LogProducer {
11
- private _material;
12
- private _variants;
13
- isTransparent: boolean;
14
- logger: LogObservable;
15
- constructor(material: PBRMaterial, maxSimultaneousLights: number);
16
- isDoubleSided(): boolean;
17
- static fromTexture(renderEnvironment: RenderEnv, texture: Texture, sourcePath: string[]): CfgMaterial;
18
- static compileFromGm(renderEnvironment: RenderEnv, meta: MaterialMetaData, gMaterial: GMaterial3D, textures: GMAndTexture[]): CfgMaterial;
19
- static compileFromGmPBR(renderEnvironment: RenderEnv, meta: MaterialMetaData, gMaterial: GMaterialPBR, textures: GMAndTexture[], name: string): {
20
- material: PBRMaterial;
21
- transparent: boolean;
22
- doubleSided: boolean;
23
- };
24
- static compileFromGmClassic(renderEnvironment: RenderEnv, meta: MaterialMetaData, gMaterial: GMaterialClassic, textures: GMAndTexture[], name: string): {
25
- material: PBRMaterial;
26
- transparent: boolean;
27
- doubleSided: boolean;
28
- };
29
- private indexFromOptions;
30
- private indexFromMaterial;
31
- private cloneSuffix;
32
- /**
33
- * Returns the PBRMaterial associated with this CfgMaterial, optionally modified.
34
- *
35
- * If none of the optional parameters are set, the returned material is the one initially
36
- * supplied when the CfgMaterial was created.
37
- *
38
- * If any of the optional parameters are supplied, you will get back a material that has those
39
- * options set to the given values. The returned material will be a clone if needed, the
40
- * initial material is NOT affected by this.
41
- *
42
- * It is safe to call this method multiple times, this class keeps an internal material cache.
43
- *
44
- * @warning: Do not modify the returned material in any way since it might be shared with
45
- * other parts of the model!
46
- *
47
- * @param doubleSided Makes sure that backFaceCulling is OFF in the returned material.
48
- * @param backThenFront Makes sure that separateCullingPass is ON in the returned material.
49
- * @param flipTextures Flips the textures in the material along the Y-axis.
50
- */
51
- getPBRMaterial(doubleSided?: boolean, backThenFront?: boolean, flipTextures?: boolean): PBRMaterial;
52
- }
53
- export declare function makeMaterialDoubleSided(material: PBRMaterial, doubleSided: boolean): void;
1
+ import { PBRMaterial } from "@babylonjs/core/Materials/PBR/pbrMaterial.js";
2
+ import { Texture } from "@babylonjs/core/Materials/Textures/texture.js";
3
+ import { GMaterial3D } from "@configura/web-core/dist/cm/core3D/GMaterial3D.js";
4
+ import { GMaterialClassic } from "@configura/web-core/dist/cm/core3D/GMaterialClassic.js";
5
+ import { GMaterialPBR } from "@configura/web-core/dist/cm/core3D/GMaterialPBR.js";
6
+ import { LogObservable, LogProducer } from "@configura/web-utilities";
7
+ import { RenderEnv } from "../view/RenderEnv.js";
8
+ import { MaterialMetaData } from "./material.js";
9
+ import { GMAndTexture } from "./texture.js";
10
+ export declare class CfgMaterial implements LogProducer {
11
+ private _material;
12
+ private _variants;
13
+ isTransparent: boolean;
14
+ logger: LogObservable;
15
+ constructor(material: PBRMaterial, maxSimultaneousLights: number);
16
+ isDoubleSided(): boolean;
17
+ static fromTexture(renderEnvironment: RenderEnv, texture: Texture, sourcePath: string[]): CfgMaterial;
18
+ static compileFromGm(renderEnvironment: RenderEnv, meta: MaterialMetaData, gMaterial: GMaterial3D, textures: GMAndTexture[]): CfgMaterial;
19
+ static compileFromGmPBR(renderEnvironment: RenderEnv, meta: MaterialMetaData, gMaterial: GMaterialPBR, textures: GMAndTexture[], name: string): {
20
+ material: PBRMaterial;
21
+ transparent: boolean;
22
+ doubleSided: boolean;
23
+ };
24
+ static compileFromGmClassic(renderEnvironment: RenderEnv, meta: MaterialMetaData, gMaterial: GMaterialClassic, textures: GMAndTexture[], name: string): {
25
+ material: PBRMaterial;
26
+ transparent: boolean;
27
+ doubleSided: boolean;
28
+ };
29
+ private indexFromOptions;
30
+ private indexFromMaterial;
31
+ private cloneSuffix;
32
+ /**
33
+ * Returns the PBRMaterial associated with this CfgMaterial, optionally modified.
34
+ *
35
+ * If none of the optional parameters are set, the returned material is the one initially
36
+ * supplied when the CfgMaterial was created.
37
+ *
38
+ * If any of the optional parameters are supplied, you will get back a material that has those
39
+ * options set to the given values. The returned material will be a clone if needed, the
40
+ * initial material is NOT affected by this.
41
+ *
42
+ * It is safe to call this method multiple times, this class keeps an internal material cache.
43
+ *
44
+ * @warning: Do not modify the returned material in any way since it might be shared with
45
+ * other parts of the model!
46
+ *
47
+ * @param doubleSided Makes sure that backFaceCulling is OFF in the returned material.
48
+ * @param backThenFront Makes sure that separateCullingPass is ON in the returned material.
49
+ * @param flipTextures Flips the textures in the material along the Y-axis.
50
+ */
51
+ getPBRMaterial(doubleSided?: boolean, backThenFront?: boolean, flipTextures?: boolean): PBRMaterial;
52
+ }
53
+ export declare function makeMaterialDoubleSided(material: PBRMaterial, doubleSided: boolean): void;
54
54
  //# sourceMappingURL=CfgMaterial.d.ts.map