@shapediver/viewer.rendering-engine.rendering-engine-threejs 3.0.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/LICENSE +73 -0
- package/README.md +3 -0
- package/dist/RenderingEngine.d.ts +296 -0
- package/dist/RenderingEngine.d.ts.map +1 -0
- package/dist/RenderingEngine.js +1079 -0
- package/dist/RenderingEngine.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +47 -0
- package/dist/index.js.map +1 -0
- package/dist/injectors/Tag3dGeometryCreationInjector.d.ts +11 -0
- package/dist/injectors/Tag3dGeometryCreationInjector.d.ts.map +1 -0
- package/dist/injectors/Tag3dGeometryCreationInjector.js +169 -0
- package/dist/injectors/Tag3dGeometryCreationInjector.js.map +1 -0
- package/dist/injectors/TextureUnifierInjector.d.ts +14 -0
- package/dist/injectors/TextureUnifierInjector.d.ts.map +1 -0
- package/dist/injectors/TextureUnifierInjector.js +227 -0
- package/dist/injectors/TextureUnifierInjector.js.map +1 -0
- package/dist/interfaces/ILoader.d.ts +4 -0
- package/dist/interfaces/ILoader.d.ts.map +1 -0
- package/dist/interfaces/ILoader.js +3 -0
- package/dist/interfaces/ILoader.js.map +1 -0
- package/dist/interfaces/IPostProcessingEffectDefinitions.d.ts +307 -0
- package/dist/interfaces/IPostProcessingEffectDefinitions.d.ts.map +1 -0
- package/dist/interfaces/IPostProcessingEffectDefinitions.js +31 -0
- package/dist/interfaces/IPostProcessingEffectDefinitions.js.map +1 -0
- package/dist/interfaces/IRenderingEngine.d.ts +43 -0
- package/dist/interfaces/IRenderingEngine.d.ts.map +1 -0
- package/dist/interfaces/IRenderingEngine.js +3 -0
- package/dist/interfaces/IRenderingEngine.js.map +1 -0
- package/dist/loaders/EnvironmentMapLoader.d.ts +98 -0
- package/dist/loaders/EnvironmentMapLoader.d.ts.map +1 -0
- package/dist/loaders/EnvironmentMapLoader.js +348 -0
- package/dist/loaders/EnvironmentMapLoader.js.map +1 -0
- package/dist/loaders/GeometryLoader.d.ts +38 -0
- package/dist/loaders/GeometryLoader.d.ts.map +1 -0
- package/dist/loaders/GeometryLoader.js +505 -0
- package/dist/loaders/GeometryLoader.js.map +1 -0
- package/dist/loaders/HTMLElementAnchorLoader.d.ts +17 -0
- package/dist/loaders/HTMLElementAnchorLoader.d.ts.map +1 -0
- package/dist/loaders/HTMLElementAnchorLoader.js +84 -0
- package/dist/loaders/HTMLElementAnchorLoader.js.map +1 -0
- package/dist/loaders/LightLoader.d.ts +19 -0
- package/dist/loaders/LightLoader.d.ts.map +1 -0
- package/dist/loaders/LightLoader.js +152 -0
- package/dist/loaders/LightLoader.js.map +1 -0
- package/dist/loaders/MaterialLoader.d.ts +99 -0
- package/dist/loaders/MaterialLoader.d.ts.map +1 -0
- package/dist/loaders/MaterialLoader.js +1175 -0
- package/dist/loaders/MaterialLoader.js.map +1 -0
- package/dist/managers/CameraManager.d.ts +20 -0
- package/dist/managers/CameraManager.d.ts.map +1 -0
- package/dist/managers/CameraManager.js +195 -0
- package/dist/managers/CameraManager.js.map +1 -0
- package/dist/managers/EnvironmentGeometryManager.d.ts +43 -0
- package/dist/managers/EnvironmentGeometryManager.d.ts.map +1 -0
- package/dist/managers/EnvironmentGeometryManager.js +210 -0
- package/dist/managers/EnvironmentGeometryManager.js.map +1 -0
- package/dist/managers/PostProcessingManager.d.ts +1014 -0
- package/dist/managers/PostProcessingManager.d.ts.map +1 -0
- package/dist/managers/PostProcessingManager.js +1013 -0
- package/dist/managers/PostProcessingManager.js.map +1 -0
- package/dist/managers/RenderingManager.d.ts +83 -0
- package/dist/managers/RenderingManager.d.ts.map +1 -0
- package/dist/managers/RenderingManager.js +567 -0
- package/dist/managers/RenderingManager.js.map +1 -0
- package/dist/managers/SceneTracingManager.d.ts +26 -0
- package/dist/managers/SceneTracingManager.d.ts.map +1 -0
- package/dist/managers/SceneTracingManager.js +122 -0
- package/dist/managers/SceneTracingManager.js.map +1 -0
- package/dist/managers/SceneTreeManager.d.ts +55 -0
- package/dist/managers/SceneTreeManager.d.ts.map +1 -0
- package/dist/managers/SceneTreeManager.js +501 -0
- package/dist/managers/SceneTreeManager.js.map +1 -0
- package/dist/managers/postprocessing/GodRaysManager.d.ts +13 -0
- package/dist/managers/postprocessing/GodRaysManager.d.ts.map +1 -0
- package/dist/managers/postprocessing/GodRaysManager.js +64 -0
- package/dist/managers/postprocessing/GodRaysManager.js.map +1 -0
- package/dist/managers/postprocessing/OutlineManager.d.ts +15 -0
- package/dist/managers/postprocessing/OutlineManager.d.ts.map +1 -0
- package/dist/managers/postprocessing/OutlineManager.js +67 -0
- package/dist/managers/postprocessing/OutlineManager.js.map +1 -0
- package/dist/managers/postprocessing/SSAARenderPass.d.ts +54 -0
- package/dist/managers/postprocessing/SSAARenderPass.d.ts.map +1 -0
- package/dist/managers/postprocessing/SSAARenderPass.js +234 -0
- package/dist/managers/postprocessing/SSAARenderPass.js.map +1 -0
- package/dist/managers/postprocessing/SelectiveBloomManager.d.ts +15 -0
- package/dist/managers/postprocessing/SelectiveBloomManager.d.ts.map +1 -0
- package/dist/managers/postprocessing/SelectiveBloomManager.js +67 -0
- package/dist/managers/postprocessing/SelectiveBloomManager.js.map +1 -0
- package/dist/managers/postprocessing/ao/ao/AOEffect.d.ts +47 -0
- package/dist/managers/postprocessing/ao/ao/AOEffect.d.ts.map +1 -0
- package/dist/managers/postprocessing/ao/ao/AOEffect.js +134 -0
- package/dist/managers/postprocessing/ao/ao/AOEffect.js.map +1 -0
- package/dist/managers/postprocessing/ao/ao/AOPass.d.ts +13 -0
- package/dist/managers/postprocessing/ao/ao/AOPass.d.ts.map +1 -0
- package/dist/managers/postprocessing/ao/ao/AOPass.js +78 -0
- package/dist/managers/postprocessing/ao/ao/AOPass.js.map +1 -0
- package/dist/managers/postprocessing/ao/ao/shader/ao_compose.d.ts +2 -0
- package/dist/managers/postprocessing/ao/ao/shader/ao_compose.d.ts.map +1 -0
- package/dist/managers/postprocessing/ao/ao/shader/ao_compose.js +23 -0
- package/dist/managers/postprocessing/ao/ao/shader/ao_compose.js.map +1 -0
- package/dist/managers/postprocessing/ao/hbao/HBAOEffect.d.ts +15 -0
- package/dist/managers/postprocessing/ao/hbao/HBAOEffect.d.ts.map +1 -0
- package/dist/managers/postprocessing/ao/hbao/HBAOEffect.js +25 -0
- package/dist/managers/postprocessing/ao/hbao/HBAOEffect.js.map +1 -0
- package/dist/managers/postprocessing/ao/hbao/shader/hbao.d.ts +2 -0
- package/dist/managers/postprocessing/ao/hbao/shader/hbao.d.ts.map +1 -0
- package/dist/managers/postprocessing/ao/hbao/shader/hbao.js +102 -0
- package/dist/managers/postprocessing/ao/hbao/shader/hbao.js.map +1 -0
- package/dist/managers/postprocessing/ao/hbao/shader/hbao_utils.d.ts +2 -0
- package/dist/managers/postprocessing/ao/hbao/shader/hbao_utils.d.ts.map +1 -0
- package/dist/managers/postprocessing/ao/hbao/shader/hbao_utils.js +99 -0
- package/dist/managers/postprocessing/ao/hbao/shader/hbao_utils.js.map +1 -0
- package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.d.ts +37 -0
- package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.d.ts.map +1 -0
- package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js +171 -0
- package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js.map +1 -0
- package/dist/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.d.ts +2 -0
- package/dist/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.d.ts.map +1 -0
- package/dist/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.js +131 -0
- package/dist/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.js.map +1 -0
- package/dist/managers/postprocessing/ao/ssao/SSAOEffect.d.ts +15 -0
- package/dist/managers/postprocessing/ao/ssao/SSAOEffect.d.ts.map +1 -0
- package/dist/managers/postprocessing/ao/ssao/SSAOEffect.js +76 -0
- package/dist/managers/postprocessing/ao/ssao/SSAOEffect.js.map +1 -0
- package/dist/managers/postprocessing/ao/ssao/shader/ssao.d.ts +2 -0
- package/dist/managers/postprocessing/ao/ssao/shader/ssao.d.ts.map +1 -0
- package/dist/managers/postprocessing/ao/ssao/shader/ssao.js +134 -0
- package/dist/managers/postprocessing/ao/ssao/shader/ssao.js.map +1 -0
- package/dist/managers/postprocessing/ao/utils/shader/basic.d.ts +2 -0
- package/dist/managers/postprocessing/ao/utils/shader/basic.d.ts.map +1 -0
- package/dist/managers/postprocessing/ao/utils/shader/basic.js +12 -0
- package/dist/managers/postprocessing/ao/utils/shader/basic.js.map +1 -0
- package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.d.ts +2 -0
- package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.d.ts.map +1 -0
- package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.js +42 -0
- package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.js.map +1 -0
- package/dist/managers/postprocessing/utils/CopyMaterial.d.ts +38 -0
- package/dist/managers/postprocessing/utils/CopyMaterial.d.ts.map +1 -0
- package/dist/managers/postprocessing/utils/CopyMaterial.js +106 -0
- package/dist/managers/postprocessing/utils/CopyMaterial.js.map +1 -0
- package/dist/managers/postprocessing/utils/CopyShader.d.ts +14 -0
- package/dist/managers/postprocessing/utils/CopyShader.d.ts.map +1 -0
- package/dist/managers/postprocessing/utils/CopyShader.js +36 -0
- package/dist/managers/postprocessing/utils/CopyShader.js.map +1 -0
- package/dist/managers/postprocessing/utils/FullScreenQuad.d.ts +10 -0
- package/dist/managers/postprocessing/utils/FullScreenQuad.d.ts.map +1 -0
- package/dist/managers/postprocessing/utils/FullScreenQuad.js +29 -0
- package/dist/managers/postprocessing/utils/FullScreenQuad.js.map +1 -0
- package/dist/managers/postprocessing/utils/NormalPass.d.ts +88 -0
- package/dist/managers/postprocessing/utils/NormalPass.d.ts.map +1 -0
- package/dist/managers/postprocessing/utils/NormalPass.js +157 -0
- package/dist/managers/postprocessing/utils/NormalPass.js.map +1 -0
- package/dist/managers/postprocessing/utils/RenderPass.d.ts +115 -0
- package/dist/managers/postprocessing/utils/RenderPass.d.ts.map +1 -0
- package/dist/managers/postprocessing/utils/RenderPass.js +251 -0
- package/dist/managers/postprocessing/utils/RenderPass.js.map +1 -0
- package/dist/materials/GemMaterial.d.ts +38 -0
- package/dist/materials/GemMaterial.d.ts.map +1 -0
- package/dist/materials/GemMaterial.js +253 -0
- package/dist/materials/GemMaterial.js.map +1 -0
- package/dist/materials/MeshUnlitMaterialParameters.d.ts +4 -0
- package/dist/materials/MeshUnlitMaterialParameters.d.ts.map +1 -0
- package/dist/materials/MeshUnlitMaterialParameters.js +3 -0
- package/dist/materials/MeshUnlitMaterialParameters.js.map +1 -0
- package/dist/materials/MultiPointsMaterial.d.ts +94 -0
- package/dist/materials/MultiPointsMaterial.d.ts.map +1 -0
- package/dist/materials/MultiPointsMaterial.js +567 -0
- package/dist/materials/MultiPointsMaterial.js.map +1 -0
- package/dist/materials/SpecularGlossinessMaterial.d.ts +14 -0
- package/dist/materials/SpecularGlossinessMaterial.d.ts.map +1 -0
- package/dist/materials/SpecularGlossinessMaterial.js +162 -0
- package/dist/materials/SpecularGlossinessMaterial.js.map +1 -0
- package/dist/objects/SDBone.d.ts +13 -0
- package/dist/objects/SDBone.d.ts.map +1 -0
- package/dist/objects/SDBone.js +75 -0
- package/dist/objects/SDBone.js.map +1 -0
- package/dist/objects/SDColor.d.ts +17 -0
- package/dist/objects/SDColor.d.ts.map +1 -0
- package/dist/objects/SDColor.js +49 -0
- package/dist/objects/SDColor.js.map +1 -0
- package/dist/objects/SDData.d.ts +19 -0
- package/dist/objects/SDData.d.ts.map +1 -0
- package/dist/objects/SDData.js +48 -0
- package/dist/objects/SDData.js.map +1 -0
- package/dist/objects/SDObject.d.ts +14 -0
- package/dist/objects/SDObject.d.ts.map +1 -0
- package/dist/objects/SDObject.js +81 -0
- package/dist/objects/SDObject.js.map +1 -0
- package/dist/shaders/PCSS.d.ts +3 -0
- package/dist/shaders/PCSS.d.ts.map +1 -0
- package/dist/shaders/PCSS.js +127 -0
- package/dist/shaders/PCSS.js.map +1 -0
- package/dist/shaders/gem.d.ts +3 -0
- package/dist/shaders/gem.d.ts.map +1 -0
- package/dist/shaders/gem.js +578 -0
- package/dist/shaders/gem.js.map +1 -0
- package/dist/shaders/multi_points.d.ts +3 -0
- package/dist/shaders/multi_points.d.ts.map +1 -0
- package/dist/shaders/multi_points.js +294 -0
- package/dist/shaders/multi_points.js.map +1 -0
- package/dist/styling/viewport-css.d.ts +2 -0
- package/dist/styling/viewport-css.d.ts.map +1 -0
- package/dist/styling/viewport-css.js +117 -0
- package/dist/styling/viewport-css.js.map +1 -0
- package/dist/three/font.d.ts +2365 -0
- package/dist/three/font.d.ts.map +1 -0
- package/dist/three/font.js +6 -0
- package/dist/three/font.js.map +1 -0
- package/dist/three/geometries/TextGeometry.d.ts +22 -0
- package/dist/three/geometries/TextGeometry.d.ts.map +1 -0
- package/dist/three/geometries/TextGeometry.js +45 -0
- package/dist/three/geometries/TextGeometry.js.map +1 -0
- package/dist/three/loaders/FontLoader.d.ts +15 -0
- package/dist/three/loaders/FontLoader.d.ts.map +1 -0
- package/dist/three/loaders/FontLoader.js +118 -0
- package/dist/three/loaders/FontLoader.js.map +1 -0
- package/dist/three/loaders/RGBELoader.d.ts +24 -0
- package/dist/three/loaders/RGBELoader.d.ts.map +1 -0
- package/dist/three/loaders/RGBELoader.js +299 -0
- package/dist/three/loaders/RGBELoader.js.map +1 -0
- package/dist/types/IThreejsData.d.ts +7 -0
- package/dist/types/IThreejsData.d.ts.map +1 -0
- package/dist/types/IThreejsData.js +3 -0
- package/dist/types/IThreejsData.js.map +1 -0
- package/dist/types/ThreejsData.d.ts +11 -0
- package/dist/types/ThreejsData.d.ts.map +1 -0
- package/dist/types/ThreejsData.js +42 -0
- package/dist/types/ThreejsData.js.map +1 -0
- package/package.json +65 -0
- package/src/RenderingEngine.ts +1342 -0
- package/src/index.ts +23 -0
- package/src/injectors/Tag3dGeometryCreationInjector.ts +170 -0
- package/src/injectors/TextureUnifierInjector.ts +224 -0
- package/src/interfaces/ILoader.ts +3 -0
- package/src/interfaces/IPostProcessingEffectDefinitions.ts +402 -0
- package/src/interfaces/IRenderingEngine.ts +48 -0
- package/src/loaders/EnvironmentMapLoader.ts +355 -0
- package/src/loaders/GeometryLoader.ts +565 -0
- package/src/loaders/HTMLElementAnchorLoader.ts +107 -0
- package/src/loaders/LightLoader.ts +171 -0
- package/src/loaders/MaterialLoader.ts +1418 -0
- package/src/managers/CameraManager.ts +178 -0
- package/src/managers/EnvironmentGeometryManager.ts +224 -0
- package/src/managers/PostProcessingManager.ts +1169 -0
- package/src/managers/RenderingManager.ts +657 -0
- package/src/managers/SceneTracingManager.ts +120 -0
- package/src/managers/SceneTreeManager.ts +569 -0
- package/src/managers/postprocessing/GodRaysManager.ts +52 -0
- package/src/managers/postprocessing/OutlineManager.ts +58 -0
- package/src/managers/postprocessing/SSAARenderPass.ts +339 -0
- package/src/managers/postprocessing/SelectiveBloomManager.ts +58 -0
- package/src/managers/postprocessing/ao/ao/AOEffect.ts +180 -0
- package/src/managers/postprocessing/ao/ao/AOPass.ts +128 -0
- package/src/managers/postprocessing/ao/ao/shader/ao_compose.glsl +17 -0
- package/src/managers/postprocessing/ao/ao/shader/ao_compose.ts +19 -0
- package/src/managers/postprocessing/ao/hbao/HBAOEffect.ts +41 -0
- package/src/managers/postprocessing/ao/hbao/shader/hbao.glsl +96 -0
- package/src/managers/postprocessing/ao/hbao/shader/hbao.ts +98 -0
- package/src/managers/postprocessing/ao/hbao/shader/hbao_utils.glsl +92 -0
- package/src/managers/postprocessing/ao/hbao/shader/hbao_utils.ts +95 -0
- package/src/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.ts +245 -0
- package/src/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.glsl +125 -0
- package/src/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.ts +127 -0
- package/src/managers/postprocessing/ao/ssao/SSAOEffect.ts +106 -0
- package/src/managers/postprocessing/ao/ssao/shader/ssao.glsl +128 -0
- package/src/managers/postprocessing/ao/ssao/shader/ssao.ts +130 -0
- package/src/managers/postprocessing/ao/utils/shader/basic.glsl +6 -0
- package/src/managers/postprocessing/ao/utils/shader/basic.ts +8 -0
- package/src/managers/postprocessing/ao/utils/shader/sampleBlueNoise.glsl +36 -0
- package/src/managers/postprocessing/ao/utils/shader/sampleBlueNoise.ts +38 -0
- package/src/managers/postprocessing/utils/CopyMaterial.ts +130 -0
- package/src/managers/postprocessing/utils/CopyShader.ts +39 -0
- package/src/managers/postprocessing/utils/FullScreenQuad.ts +47 -0
- package/src/managers/postprocessing/utils/NormalPass.ts +222 -0
- package/src/managers/postprocessing/utils/RenderPass.ts +366 -0
- package/src/materials/GemMaterial.ts +268 -0
- package/src/materials/MeshUnlitMaterialParameters.ts +4 -0
- package/src/materials/MultiPointsMaterial.ts +646 -0
- package/src/materials/SpecularGlossinessMaterial.ts +182 -0
- package/src/objects/SDBone.ts +51 -0
- package/src/objects/SDColor.ts +54 -0
- package/src/objects/SDData.ts +44 -0
- package/src/objects/SDObject.ts +58 -0
- package/src/shaders/PCSS.ts +124 -0
- package/src/shaders/gem.ts +575 -0
- package/src/shaders/gem_frag.glsl +517 -0
- package/src/shaders/gem_vert.glsl +53 -0
- package/src/shaders/multi_points.ts +291 -0
- package/src/shaders/multi_points_frag.glsl +166 -0
- package/src/shaders/multi_points_vert.glsl +120 -0
- package/src/styling/viewport-css.ts +113 -0
- package/src/styling/viewport.css +111 -0
- package/src/three/font.ts +2 -0
- package/src/three/geometries/TextGeometry.ts +58 -0
- package/src/three/loaders/FontLoader.ts +205 -0
- package/src/three/loaders/RGBELoader.ts +496 -0
- package/src/types/IThreejsData.ts +16 -0
- package/src/types/ThreejsData.ts +43 -0
- package/tsconfig.json +20 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { IBox } from '@shapediver/viewer.shared.math';
|
|
2
|
+
import { ILoader } from '../interfaces/ILoader';
|
|
3
|
+
import { RenderingEngine } from '../RenderingEngine';
|
|
4
|
+
import { SDData } from '../objects/SDData';
|
|
5
|
+
import { AbstractLight } from '@shapediver/viewer.rendering-engine.light-engine';
|
|
6
|
+
export declare class LightLoader implements ILoader {
|
|
7
|
+
private readonly _renderingEngine;
|
|
8
|
+
private _forceDisabledShadows;
|
|
9
|
+
private _shadowMapCount;
|
|
10
|
+
constructor(_renderingEngine: RenderingEngine);
|
|
11
|
+
get forceDisabledShadows(): boolean;
|
|
12
|
+
set forceDisabledShadows(value: boolean);
|
|
13
|
+
get shadowMapCount(): number;
|
|
14
|
+
set shadowMapCount(value: number);
|
|
15
|
+
adjustToBoundingBox(light: AbstractLight, dataChild: SDData, boundingBox: IBox): void;
|
|
16
|
+
init(): void;
|
|
17
|
+
load(light: AbstractLight, dataChild: SDData): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=LightLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LightLoader.d.ts","sourceRoot":"","sources":["../../src/loaders/LightLoader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAW,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EACH,aAAa,EAMhB,MAAM,kDAAkD,CAAC;AAE1D,qBAAa,WAAY,YAAW,OAAO;IAU3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAP7C,OAAO,CAAC,qBAAqB,CAAkB;IAC/C,OAAO,CAAC,eAAe,CAAK;gBAMC,gBAAgB,EAAE,eAAe;IAM9D,IAAW,oBAAoB,IAAI,OAAO,CAEzC;IAED,IAAW,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAE7C;IAED,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,cAAc,CAAC,KAAK,EAAE,MAAM,EAEtC;IAMM,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI;IA6B9E,IAAI,IAAI,IAAI;IAEZ,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM;CAyFtD"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.LightLoader = void 0;
|
|
27
|
+
const THREE = __importStar(require("three"));
|
|
28
|
+
const viewer_rendering_engine_light_engine_1 = require("@shapediver/viewer.rendering-engine.light-engine");
|
|
29
|
+
class LightLoader {
|
|
30
|
+
// #endregion Properties (3)
|
|
31
|
+
// #region Constructors (1)
|
|
32
|
+
constructor(_renderingEngine) {
|
|
33
|
+
this._renderingEngine = _renderingEngine;
|
|
34
|
+
// #region Properties (3)
|
|
35
|
+
this._forceDisabledShadows = false;
|
|
36
|
+
this._shadowMapCount = 0;
|
|
37
|
+
}
|
|
38
|
+
// #endregion Constructors (1)
|
|
39
|
+
// #region Public Getters And Setters (4)
|
|
40
|
+
get forceDisabledShadows() {
|
|
41
|
+
return this._forceDisabledShadows;
|
|
42
|
+
}
|
|
43
|
+
set forceDisabledShadows(value) {
|
|
44
|
+
this._forceDisabledShadows = value;
|
|
45
|
+
}
|
|
46
|
+
get shadowMapCount() {
|
|
47
|
+
return this._shadowMapCount;
|
|
48
|
+
}
|
|
49
|
+
set shadowMapCount(value) {
|
|
50
|
+
this._shadowMapCount = value;
|
|
51
|
+
}
|
|
52
|
+
// #endregion Public Getters And Setters (4)
|
|
53
|
+
// #region Public Methods (3)
|
|
54
|
+
adjustToBoundingBox(light, dataChild, boundingBox) {
|
|
55
|
+
const threeLight = dataChild.children[0];
|
|
56
|
+
if (light instanceof viewer_rendering_engine_light_engine_1.DirectionalLight) {
|
|
57
|
+
const threeDirectionalLight = threeLight;
|
|
58
|
+
const bs = boundingBox.boundingSphere;
|
|
59
|
+
threeDirectionalLight.position.set(bs.center[0] + light.direction[0] * bs.radius * 2.35, bs.center[1] + light.direction[1] * bs.radius * 2.35, bs.center[2] + light.direction[2] * bs.radius * 2.35);
|
|
60
|
+
threeDirectionalLight.target.position.set(bs.center[0], bs.center[1], bs.center[2]);
|
|
61
|
+
if (light.castShadow === true && this.forceDisabledShadows === false) {
|
|
62
|
+
threeDirectionalLight.castShadow = true;
|
|
63
|
+
threeDirectionalLight.shadow.camera.up.set(0, 0, 1);
|
|
64
|
+
threeDirectionalLight.shadow.camera.far = 8 * bs.radius;
|
|
65
|
+
threeDirectionalLight.shadow.camera.right = 1.5 * bs.radius;
|
|
66
|
+
threeDirectionalLight.shadow.camera.left = -1.5 * bs.radius;
|
|
67
|
+
threeDirectionalLight.shadow.camera.top = 1.5 * bs.radius;
|
|
68
|
+
threeDirectionalLight.shadow.camera.bottom = -1.5 * bs.radius;
|
|
69
|
+
threeDirectionalLight.shadow.mapSize.width = light.shadowMapResolution;
|
|
70
|
+
threeDirectionalLight.shadow.mapSize.height = light.shadowMapResolution;
|
|
71
|
+
threeDirectionalLight.shadow.bias = light.shadowMapBias;
|
|
72
|
+
threeDirectionalLight.shadow.camera.updateProjectionMatrix();
|
|
73
|
+
this._shadowMapCount++;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
threeDirectionalLight.castShadow = false;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
init() { }
|
|
81
|
+
load(light, dataChild) {
|
|
82
|
+
let threeLight = dataChild.children[0] instanceof THREE.Light ? dataChild.children[0] : null;
|
|
83
|
+
if (light instanceof viewer_rendering_engine_light_engine_1.AmbientLight) {
|
|
84
|
+
if (!threeLight) {
|
|
85
|
+
threeLight = new THREE.AmbientLight();
|
|
86
|
+
light.convertedObject[this._renderingEngine.id] = threeLight;
|
|
87
|
+
dataChild.add(threeLight);
|
|
88
|
+
}
|
|
89
|
+
const threeAmbientLight = threeLight;
|
|
90
|
+
threeAmbientLight.color = this._renderingEngine.createThreeJsColor(light.color);
|
|
91
|
+
threeAmbientLight.intensity = light.intensity;
|
|
92
|
+
}
|
|
93
|
+
if (light instanceof viewer_rendering_engine_light_engine_1.DirectionalLight) {
|
|
94
|
+
if (!threeLight) {
|
|
95
|
+
threeLight = new THREE.DirectionalLight();
|
|
96
|
+
dataChild.add(threeLight);
|
|
97
|
+
dataChild.add(threeLight.target);
|
|
98
|
+
light.convertedObject[this._renderingEngine.id] = threeLight;
|
|
99
|
+
}
|
|
100
|
+
const threeDirectionalLight = threeLight;
|
|
101
|
+
threeDirectionalLight.color = this._renderingEngine.createThreeJsColor(light.color);
|
|
102
|
+
threeDirectionalLight.intensity = light.intensity;
|
|
103
|
+
if (light.useNodeData) {
|
|
104
|
+
threeDirectionalLight.position.set(0, 0, 0);
|
|
105
|
+
threeDirectionalLight.target.position.set(0, 0, -1);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (light instanceof viewer_rendering_engine_light_engine_1.HemisphereLight) {
|
|
109
|
+
if (!threeLight) {
|
|
110
|
+
threeLight = new THREE.HemisphereLight();
|
|
111
|
+
dataChild.add(threeLight);
|
|
112
|
+
light.convertedObject[this._renderingEngine.id] = threeLight;
|
|
113
|
+
}
|
|
114
|
+
const threeHemisphereLight = threeLight;
|
|
115
|
+
threeHemisphereLight.color = this._renderingEngine.createThreeJsColor(light.color);
|
|
116
|
+
threeHemisphereLight.intensity = light.intensity;
|
|
117
|
+
threeHemisphereLight.groundColor = this._renderingEngine.createThreeJsColor(light.groundColor);
|
|
118
|
+
}
|
|
119
|
+
if (light instanceof viewer_rendering_engine_light_engine_1.PointLight) {
|
|
120
|
+
if (!threeLight) {
|
|
121
|
+
threeLight = new THREE.PointLight();
|
|
122
|
+
dataChild.add(threeLight);
|
|
123
|
+
light.convertedObject[this._renderingEngine.id] = threeLight;
|
|
124
|
+
}
|
|
125
|
+
const threePointLight = threeLight;
|
|
126
|
+
threePointLight.color = this._renderingEngine.createThreeJsColor(light.color);
|
|
127
|
+
threePointLight.intensity = light.intensity;
|
|
128
|
+
threePointLight.distance = light.distance;
|
|
129
|
+
threePointLight.decay = light.decay;
|
|
130
|
+
threePointLight.position.set(light.position[0], light.position[1], light.position[2]);
|
|
131
|
+
}
|
|
132
|
+
if (light instanceof viewer_rendering_engine_light_engine_1.SpotLight) {
|
|
133
|
+
if (!threeLight) {
|
|
134
|
+
threeLight = new THREE.SpotLight(this._renderingEngine.createThreeJsColor(light.color), light.intensity, light.distance, light.angle, light.penumbra, light.decay);
|
|
135
|
+
dataChild.add(threeLight);
|
|
136
|
+
dataChild.add(threeLight.target);
|
|
137
|
+
light.convertedObject[this._renderingEngine.id] = threeLight;
|
|
138
|
+
}
|
|
139
|
+
const threeSpotLight = threeLight;
|
|
140
|
+
threeSpotLight.color = this._renderingEngine.createThreeJsColor(light.color);
|
|
141
|
+
threeSpotLight.intensity = light.intensity;
|
|
142
|
+
threeSpotLight.distance = light.distance;
|
|
143
|
+
threeSpotLight.angle = light.angle;
|
|
144
|
+
threeSpotLight.penumbra = light.penumbra;
|
|
145
|
+
threeSpotLight.decay = light.decay;
|
|
146
|
+
threeSpotLight.position.set(light.position[0], light.position[1], light.position[2]);
|
|
147
|
+
threeSpotLight.target.position.set(light.target[0], light.target[1], light.target[2]);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
exports.LightLoader = LightLoader;
|
|
152
|
+
//# sourceMappingURL=LightLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LightLoader.js","sourceRoot":"","sources":["../../src/loaders/LightLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import { ENVIRONMENT_MAP_TYPE } from './EnvironmentMapLoader';
|
|
3
|
+
import { GemMaterialParameters } from '../materials/GemMaterial';
|
|
4
|
+
import { GeometryData, IMaterialAbstractData, MaterialBasicLineData, MaterialPointData, MaterialStandardData, PRIMITIVE_MODE } from '@shapediver/viewer.shared.types';
|
|
5
|
+
import { ILoader } from '../interfaces/ILoader';
|
|
6
|
+
import { quat } from 'gl-matrix';
|
|
7
|
+
import { MeshUnlitMaterialParameters } from '../materials/MeshUnlitMaterialParameters';
|
|
8
|
+
import { MultiPointsMaterial, MultiPointsMaterialParameters } from '../materials/MultiPointsMaterial';
|
|
9
|
+
import { RenderingEngine } from '../RenderingEngine';
|
|
10
|
+
import { SpecularGlossinessMaterialParameters } from '../materials/SpecularGlossinessMaterial';
|
|
11
|
+
export declare type MaterialSettings = {
|
|
12
|
+
mode: PRIMITIVE_MODE;
|
|
13
|
+
useVertexTangents: boolean;
|
|
14
|
+
useVertexColors: boolean;
|
|
15
|
+
useFlatShading: boolean;
|
|
16
|
+
useMorphTargets: boolean;
|
|
17
|
+
useMorphNormals: boolean;
|
|
18
|
+
};
|
|
19
|
+
declare type ThreeJsMaterialParameterTypes = THREE.PointsMaterialParameters | MultiPointsMaterialParameters | THREE.LineBasicMaterialParameters | MeshUnlitMaterialParameters | THREE.MeshPhysicalMaterialParameters | SpecularGlossinessMaterialParameters | GemMaterialParameters | THREE.ShadowMaterialParameters;
|
|
20
|
+
declare type ThreeJsTextureCacheObject = {
|
|
21
|
+
texture: THREE.Texture;
|
|
22
|
+
usage: number;
|
|
23
|
+
initialized: boolean;
|
|
24
|
+
};
|
|
25
|
+
export declare class MaterialLoader implements ILoader {
|
|
26
|
+
private readonly _renderingEngine;
|
|
27
|
+
private readonly _converter;
|
|
28
|
+
private _blending;
|
|
29
|
+
private _defaultLineMaterialData;
|
|
30
|
+
private _defaultMaterialData;
|
|
31
|
+
private _defaultPointMaterialData;
|
|
32
|
+
private _envMap;
|
|
33
|
+
private _envMapIntensity;
|
|
34
|
+
private _envMapType;
|
|
35
|
+
private _environmentMapRotationEuler;
|
|
36
|
+
private _height;
|
|
37
|
+
private _lightSizeUV;
|
|
38
|
+
private _materialCache;
|
|
39
|
+
private _maxMapCount;
|
|
40
|
+
private _pointSize;
|
|
41
|
+
private _textureEncoding;
|
|
42
|
+
private _threeJsTextureCache;
|
|
43
|
+
constructor(_renderingEngine: RenderingEngine);
|
|
44
|
+
get defaultLineMaterialData(): MaterialBasicLineData;
|
|
45
|
+
set defaultLineMaterialData(value: MaterialBasicLineData);
|
|
46
|
+
get defaultMaterialData(): MaterialStandardData;
|
|
47
|
+
set defaultMaterialData(value: MaterialStandardData);
|
|
48
|
+
get defaultPointMaterialData(): MaterialPointData;
|
|
49
|
+
set defaultPointMaterialData(value: MaterialPointData);
|
|
50
|
+
get maxMapCount(): number;
|
|
51
|
+
set maxMapCount(value: number);
|
|
52
|
+
get textureEncoding(): THREE.ColorSpace;
|
|
53
|
+
set textureEncoding(value: THREE.ColorSpace);
|
|
54
|
+
get threeJsTextureCache(): {
|
|
55
|
+
[key: string]: ThreeJsTextureCacheObject;
|
|
56
|
+
};
|
|
57
|
+
set threeJsTextureCache(value: {
|
|
58
|
+
[key: string]: ThreeJsTextureCacheObject;
|
|
59
|
+
});
|
|
60
|
+
assignColorCorrection(value: boolean): void;
|
|
61
|
+
assignDefaultLineMaterial(): void;
|
|
62
|
+
assignDefaultMaterial(): void;
|
|
63
|
+
assignDefaultPointMaterial(): void;
|
|
64
|
+
assignEnvironmentMap(e: THREE.CubeTexture | THREE.Texture | null, type: ENVIRONMENT_MAP_TYPE): void;
|
|
65
|
+
assignEnvironmentMapForUnlitMaterials(toggle: boolean): void;
|
|
66
|
+
assignEnvironmentMapIntensity(value: number): void;
|
|
67
|
+
assignEnvironmentMapRotation(value: quat): void;
|
|
68
|
+
assignPointSize(p: number): void;
|
|
69
|
+
cacheSize(): number;
|
|
70
|
+
createMaterial(type: MATERIAL_TYPE, incomingData: IMaterialAbstractData | GeometryData, materialData: IMaterialAbstractData | null, materialSettings?: MaterialSettings): THREE.LineBasicMaterial | THREE.Material | THREE.MeshBasicMaterial | THREE.PointsMaterial | MultiPointsMaterial;
|
|
71
|
+
emptyMaterialCache(): void;
|
|
72
|
+
getMaterialProperties(materialData: IMaterialAbstractData | null, type: MATERIAL_TYPE, materialSettings?: MaterialSettings): {
|
|
73
|
+
properties: ThreeJsMaterialParameterTypes;
|
|
74
|
+
mapCount: number;
|
|
75
|
+
};
|
|
76
|
+
init(): void;
|
|
77
|
+
/**
|
|
78
|
+
* Create a material object with the provided material data.
|
|
79
|
+
*
|
|
80
|
+
* @param material the material data
|
|
81
|
+
* @returns the material object
|
|
82
|
+
*/
|
|
83
|
+
load(incomingData: IMaterialAbstractData | GeometryData, materialSettings?: MaterialSettings): THREE.Material;
|
|
84
|
+
removeFromMaterialCache(id: string): void;
|
|
85
|
+
updateMaterials(): void;
|
|
86
|
+
updateSoftShadow(lightSizeUV: number, blending: number): void;
|
|
87
|
+
private assignTextureEncoding;
|
|
88
|
+
private createDataKeyFromMap;
|
|
89
|
+
private createDataKeyFromMaterial;
|
|
90
|
+
private createTexture;
|
|
91
|
+
}
|
|
92
|
+
export declare enum MATERIAL_TYPE {
|
|
93
|
+
POINT = "point",
|
|
94
|
+
LINE = "line",
|
|
95
|
+
MESH = "mesh"
|
|
96
|
+
}
|
|
97
|
+
export declare const adaptShaders: () => void;
|
|
98
|
+
export {};
|
|
99
|
+
//# sourceMappingURL=MaterialLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MaterialLoader.d.ts","sourceRoot":"","sources":["../../src/loaders/MaterialLoader.ts"],"names":[],"mappings":"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"}
|