@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.
Files changed (301) hide show
  1. package/LICENSE +73 -0
  2. package/README.md +3 -0
  3. package/dist/RenderingEngine.d.ts +296 -0
  4. package/dist/RenderingEngine.d.ts.map +1 -0
  5. package/dist/RenderingEngine.js +1079 -0
  6. package/dist/RenderingEngine.js.map +1 -0
  7. package/dist/index.d.ts +12 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +47 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/injectors/Tag3dGeometryCreationInjector.d.ts +11 -0
  12. package/dist/injectors/Tag3dGeometryCreationInjector.d.ts.map +1 -0
  13. package/dist/injectors/Tag3dGeometryCreationInjector.js +169 -0
  14. package/dist/injectors/Tag3dGeometryCreationInjector.js.map +1 -0
  15. package/dist/injectors/TextureUnifierInjector.d.ts +14 -0
  16. package/dist/injectors/TextureUnifierInjector.d.ts.map +1 -0
  17. package/dist/injectors/TextureUnifierInjector.js +227 -0
  18. package/dist/injectors/TextureUnifierInjector.js.map +1 -0
  19. package/dist/interfaces/ILoader.d.ts +4 -0
  20. package/dist/interfaces/ILoader.d.ts.map +1 -0
  21. package/dist/interfaces/ILoader.js +3 -0
  22. package/dist/interfaces/ILoader.js.map +1 -0
  23. package/dist/interfaces/IPostProcessingEffectDefinitions.d.ts +307 -0
  24. package/dist/interfaces/IPostProcessingEffectDefinitions.d.ts.map +1 -0
  25. package/dist/interfaces/IPostProcessingEffectDefinitions.js +31 -0
  26. package/dist/interfaces/IPostProcessingEffectDefinitions.js.map +1 -0
  27. package/dist/interfaces/IRenderingEngine.d.ts +43 -0
  28. package/dist/interfaces/IRenderingEngine.d.ts.map +1 -0
  29. package/dist/interfaces/IRenderingEngine.js +3 -0
  30. package/dist/interfaces/IRenderingEngine.js.map +1 -0
  31. package/dist/loaders/EnvironmentMapLoader.d.ts +98 -0
  32. package/dist/loaders/EnvironmentMapLoader.d.ts.map +1 -0
  33. package/dist/loaders/EnvironmentMapLoader.js +348 -0
  34. package/dist/loaders/EnvironmentMapLoader.js.map +1 -0
  35. package/dist/loaders/GeometryLoader.d.ts +38 -0
  36. package/dist/loaders/GeometryLoader.d.ts.map +1 -0
  37. package/dist/loaders/GeometryLoader.js +505 -0
  38. package/dist/loaders/GeometryLoader.js.map +1 -0
  39. package/dist/loaders/HTMLElementAnchorLoader.d.ts +17 -0
  40. package/dist/loaders/HTMLElementAnchorLoader.d.ts.map +1 -0
  41. package/dist/loaders/HTMLElementAnchorLoader.js +84 -0
  42. package/dist/loaders/HTMLElementAnchorLoader.js.map +1 -0
  43. package/dist/loaders/LightLoader.d.ts +19 -0
  44. package/dist/loaders/LightLoader.d.ts.map +1 -0
  45. package/dist/loaders/LightLoader.js +152 -0
  46. package/dist/loaders/LightLoader.js.map +1 -0
  47. package/dist/loaders/MaterialLoader.d.ts +99 -0
  48. package/dist/loaders/MaterialLoader.d.ts.map +1 -0
  49. package/dist/loaders/MaterialLoader.js +1175 -0
  50. package/dist/loaders/MaterialLoader.js.map +1 -0
  51. package/dist/managers/CameraManager.d.ts +20 -0
  52. package/dist/managers/CameraManager.d.ts.map +1 -0
  53. package/dist/managers/CameraManager.js +195 -0
  54. package/dist/managers/CameraManager.js.map +1 -0
  55. package/dist/managers/EnvironmentGeometryManager.d.ts +43 -0
  56. package/dist/managers/EnvironmentGeometryManager.d.ts.map +1 -0
  57. package/dist/managers/EnvironmentGeometryManager.js +210 -0
  58. package/dist/managers/EnvironmentGeometryManager.js.map +1 -0
  59. package/dist/managers/PostProcessingManager.d.ts +1014 -0
  60. package/dist/managers/PostProcessingManager.d.ts.map +1 -0
  61. package/dist/managers/PostProcessingManager.js +1013 -0
  62. package/dist/managers/PostProcessingManager.js.map +1 -0
  63. package/dist/managers/RenderingManager.d.ts +83 -0
  64. package/dist/managers/RenderingManager.d.ts.map +1 -0
  65. package/dist/managers/RenderingManager.js +567 -0
  66. package/dist/managers/RenderingManager.js.map +1 -0
  67. package/dist/managers/SceneTracingManager.d.ts +26 -0
  68. package/dist/managers/SceneTracingManager.d.ts.map +1 -0
  69. package/dist/managers/SceneTracingManager.js +122 -0
  70. package/dist/managers/SceneTracingManager.js.map +1 -0
  71. package/dist/managers/SceneTreeManager.d.ts +55 -0
  72. package/dist/managers/SceneTreeManager.d.ts.map +1 -0
  73. package/dist/managers/SceneTreeManager.js +501 -0
  74. package/dist/managers/SceneTreeManager.js.map +1 -0
  75. package/dist/managers/postprocessing/GodRaysManager.d.ts +13 -0
  76. package/dist/managers/postprocessing/GodRaysManager.d.ts.map +1 -0
  77. package/dist/managers/postprocessing/GodRaysManager.js +64 -0
  78. package/dist/managers/postprocessing/GodRaysManager.js.map +1 -0
  79. package/dist/managers/postprocessing/OutlineManager.d.ts +15 -0
  80. package/dist/managers/postprocessing/OutlineManager.d.ts.map +1 -0
  81. package/dist/managers/postprocessing/OutlineManager.js +67 -0
  82. package/dist/managers/postprocessing/OutlineManager.js.map +1 -0
  83. package/dist/managers/postprocessing/SSAARenderPass.d.ts +54 -0
  84. package/dist/managers/postprocessing/SSAARenderPass.d.ts.map +1 -0
  85. package/dist/managers/postprocessing/SSAARenderPass.js +234 -0
  86. package/dist/managers/postprocessing/SSAARenderPass.js.map +1 -0
  87. package/dist/managers/postprocessing/SelectiveBloomManager.d.ts +15 -0
  88. package/dist/managers/postprocessing/SelectiveBloomManager.d.ts.map +1 -0
  89. package/dist/managers/postprocessing/SelectiveBloomManager.js +67 -0
  90. package/dist/managers/postprocessing/SelectiveBloomManager.js.map +1 -0
  91. package/dist/managers/postprocessing/ao/ao/AOEffect.d.ts +47 -0
  92. package/dist/managers/postprocessing/ao/ao/AOEffect.d.ts.map +1 -0
  93. package/dist/managers/postprocessing/ao/ao/AOEffect.js +134 -0
  94. package/dist/managers/postprocessing/ao/ao/AOEffect.js.map +1 -0
  95. package/dist/managers/postprocessing/ao/ao/AOPass.d.ts +13 -0
  96. package/dist/managers/postprocessing/ao/ao/AOPass.d.ts.map +1 -0
  97. package/dist/managers/postprocessing/ao/ao/AOPass.js +78 -0
  98. package/dist/managers/postprocessing/ao/ao/AOPass.js.map +1 -0
  99. package/dist/managers/postprocessing/ao/ao/shader/ao_compose.d.ts +2 -0
  100. package/dist/managers/postprocessing/ao/ao/shader/ao_compose.d.ts.map +1 -0
  101. package/dist/managers/postprocessing/ao/ao/shader/ao_compose.js +23 -0
  102. package/dist/managers/postprocessing/ao/ao/shader/ao_compose.js.map +1 -0
  103. package/dist/managers/postprocessing/ao/hbao/HBAOEffect.d.ts +15 -0
  104. package/dist/managers/postprocessing/ao/hbao/HBAOEffect.d.ts.map +1 -0
  105. package/dist/managers/postprocessing/ao/hbao/HBAOEffect.js +25 -0
  106. package/dist/managers/postprocessing/ao/hbao/HBAOEffect.js.map +1 -0
  107. package/dist/managers/postprocessing/ao/hbao/shader/hbao.d.ts +2 -0
  108. package/dist/managers/postprocessing/ao/hbao/shader/hbao.d.ts.map +1 -0
  109. package/dist/managers/postprocessing/ao/hbao/shader/hbao.js +102 -0
  110. package/dist/managers/postprocessing/ao/hbao/shader/hbao.js.map +1 -0
  111. package/dist/managers/postprocessing/ao/hbao/shader/hbao_utils.d.ts +2 -0
  112. package/dist/managers/postprocessing/ao/hbao/shader/hbao_utils.d.ts.map +1 -0
  113. package/dist/managers/postprocessing/ao/hbao/shader/hbao_utils.js +99 -0
  114. package/dist/managers/postprocessing/ao/hbao/shader/hbao_utils.js.map +1 -0
  115. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.d.ts +37 -0
  116. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.d.ts.map +1 -0
  117. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js +171 -0
  118. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js.map +1 -0
  119. package/dist/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.d.ts +2 -0
  120. package/dist/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.d.ts.map +1 -0
  121. package/dist/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.js +131 -0
  122. package/dist/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.js.map +1 -0
  123. package/dist/managers/postprocessing/ao/ssao/SSAOEffect.d.ts +15 -0
  124. package/dist/managers/postprocessing/ao/ssao/SSAOEffect.d.ts.map +1 -0
  125. package/dist/managers/postprocessing/ao/ssao/SSAOEffect.js +76 -0
  126. package/dist/managers/postprocessing/ao/ssao/SSAOEffect.js.map +1 -0
  127. package/dist/managers/postprocessing/ao/ssao/shader/ssao.d.ts +2 -0
  128. package/dist/managers/postprocessing/ao/ssao/shader/ssao.d.ts.map +1 -0
  129. package/dist/managers/postprocessing/ao/ssao/shader/ssao.js +134 -0
  130. package/dist/managers/postprocessing/ao/ssao/shader/ssao.js.map +1 -0
  131. package/dist/managers/postprocessing/ao/utils/shader/basic.d.ts +2 -0
  132. package/dist/managers/postprocessing/ao/utils/shader/basic.d.ts.map +1 -0
  133. package/dist/managers/postprocessing/ao/utils/shader/basic.js +12 -0
  134. package/dist/managers/postprocessing/ao/utils/shader/basic.js.map +1 -0
  135. package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.d.ts +2 -0
  136. package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.d.ts.map +1 -0
  137. package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.js +42 -0
  138. package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.js.map +1 -0
  139. package/dist/managers/postprocessing/utils/CopyMaterial.d.ts +38 -0
  140. package/dist/managers/postprocessing/utils/CopyMaterial.d.ts.map +1 -0
  141. package/dist/managers/postprocessing/utils/CopyMaterial.js +106 -0
  142. package/dist/managers/postprocessing/utils/CopyMaterial.js.map +1 -0
  143. package/dist/managers/postprocessing/utils/CopyShader.d.ts +14 -0
  144. package/dist/managers/postprocessing/utils/CopyShader.d.ts.map +1 -0
  145. package/dist/managers/postprocessing/utils/CopyShader.js +36 -0
  146. package/dist/managers/postprocessing/utils/CopyShader.js.map +1 -0
  147. package/dist/managers/postprocessing/utils/FullScreenQuad.d.ts +10 -0
  148. package/dist/managers/postprocessing/utils/FullScreenQuad.d.ts.map +1 -0
  149. package/dist/managers/postprocessing/utils/FullScreenQuad.js +29 -0
  150. package/dist/managers/postprocessing/utils/FullScreenQuad.js.map +1 -0
  151. package/dist/managers/postprocessing/utils/NormalPass.d.ts +88 -0
  152. package/dist/managers/postprocessing/utils/NormalPass.d.ts.map +1 -0
  153. package/dist/managers/postprocessing/utils/NormalPass.js +157 -0
  154. package/dist/managers/postprocessing/utils/NormalPass.js.map +1 -0
  155. package/dist/managers/postprocessing/utils/RenderPass.d.ts +115 -0
  156. package/dist/managers/postprocessing/utils/RenderPass.d.ts.map +1 -0
  157. package/dist/managers/postprocessing/utils/RenderPass.js +251 -0
  158. package/dist/managers/postprocessing/utils/RenderPass.js.map +1 -0
  159. package/dist/materials/GemMaterial.d.ts +38 -0
  160. package/dist/materials/GemMaterial.d.ts.map +1 -0
  161. package/dist/materials/GemMaterial.js +253 -0
  162. package/dist/materials/GemMaterial.js.map +1 -0
  163. package/dist/materials/MeshUnlitMaterialParameters.d.ts +4 -0
  164. package/dist/materials/MeshUnlitMaterialParameters.d.ts.map +1 -0
  165. package/dist/materials/MeshUnlitMaterialParameters.js +3 -0
  166. package/dist/materials/MeshUnlitMaterialParameters.js.map +1 -0
  167. package/dist/materials/MultiPointsMaterial.d.ts +94 -0
  168. package/dist/materials/MultiPointsMaterial.d.ts.map +1 -0
  169. package/dist/materials/MultiPointsMaterial.js +567 -0
  170. package/dist/materials/MultiPointsMaterial.js.map +1 -0
  171. package/dist/materials/SpecularGlossinessMaterial.d.ts +14 -0
  172. package/dist/materials/SpecularGlossinessMaterial.d.ts.map +1 -0
  173. package/dist/materials/SpecularGlossinessMaterial.js +162 -0
  174. package/dist/materials/SpecularGlossinessMaterial.js.map +1 -0
  175. package/dist/objects/SDBone.d.ts +13 -0
  176. package/dist/objects/SDBone.d.ts.map +1 -0
  177. package/dist/objects/SDBone.js +75 -0
  178. package/dist/objects/SDBone.js.map +1 -0
  179. package/dist/objects/SDColor.d.ts +17 -0
  180. package/dist/objects/SDColor.d.ts.map +1 -0
  181. package/dist/objects/SDColor.js +49 -0
  182. package/dist/objects/SDColor.js.map +1 -0
  183. package/dist/objects/SDData.d.ts +19 -0
  184. package/dist/objects/SDData.d.ts.map +1 -0
  185. package/dist/objects/SDData.js +48 -0
  186. package/dist/objects/SDData.js.map +1 -0
  187. package/dist/objects/SDObject.d.ts +14 -0
  188. package/dist/objects/SDObject.d.ts.map +1 -0
  189. package/dist/objects/SDObject.js +81 -0
  190. package/dist/objects/SDObject.js.map +1 -0
  191. package/dist/shaders/PCSS.d.ts +3 -0
  192. package/dist/shaders/PCSS.d.ts.map +1 -0
  193. package/dist/shaders/PCSS.js +127 -0
  194. package/dist/shaders/PCSS.js.map +1 -0
  195. package/dist/shaders/gem.d.ts +3 -0
  196. package/dist/shaders/gem.d.ts.map +1 -0
  197. package/dist/shaders/gem.js +578 -0
  198. package/dist/shaders/gem.js.map +1 -0
  199. package/dist/shaders/multi_points.d.ts +3 -0
  200. package/dist/shaders/multi_points.d.ts.map +1 -0
  201. package/dist/shaders/multi_points.js +294 -0
  202. package/dist/shaders/multi_points.js.map +1 -0
  203. package/dist/styling/viewport-css.d.ts +2 -0
  204. package/dist/styling/viewport-css.d.ts.map +1 -0
  205. package/dist/styling/viewport-css.js +117 -0
  206. package/dist/styling/viewport-css.js.map +1 -0
  207. package/dist/three/font.d.ts +2365 -0
  208. package/dist/three/font.d.ts.map +1 -0
  209. package/dist/three/font.js +6 -0
  210. package/dist/three/font.js.map +1 -0
  211. package/dist/three/geometries/TextGeometry.d.ts +22 -0
  212. package/dist/three/geometries/TextGeometry.d.ts.map +1 -0
  213. package/dist/three/geometries/TextGeometry.js +45 -0
  214. package/dist/three/geometries/TextGeometry.js.map +1 -0
  215. package/dist/three/loaders/FontLoader.d.ts +15 -0
  216. package/dist/three/loaders/FontLoader.d.ts.map +1 -0
  217. package/dist/three/loaders/FontLoader.js +118 -0
  218. package/dist/three/loaders/FontLoader.js.map +1 -0
  219. package/dist/three/loaders/RGBELoader.d.ts +24 -0
  220. package/dist/three/loaders/RGBELoader.d.ts.map +1 -0
  221. package/dist/three/loaders/RGBELoader.js +299 -0
  222. package/dist/three/loaders/RGBELoader.js.map +1 -0
  223. package/dist/types/IThreejsData.d.ts +7 -0
  224. package/dist/types/IThreejsData.d.ts.map +1 -0
  225. package/dist/types/IThreejsData.js +3 -0
  226. package/dist/types/IThreejsData.js.map +1 -0
  227. package/dist/types/ThreejsData.d.ts +11 -0
  228. package/dist/types/ThreejsData.d.ts.map +1 -0
  229. package/dist/types/ThreejsData.js +42 -0
  230. package/dist/types/ThreejsData.js.map +1 -0
  231. package/package.json +65 -0
  232. package/src/RenderingEngine.ts +1342 -0
  233. package/src/index.ts +23 -0
  234. package/src/injectors/Tag3dGeometryCreationInjector.ts +170 -0
  235. package/src/injectors/TextureUnifierInjector.ts +224 -0
  236. package/src/interfaces/ILoader.ts +3 -0
  237. package/src/interfaces/IPostProcessingEffectDefinitions.ts +402 -0
  238. package/src/interfaces/IRenderingEngine.ts +48 -0
  239. package/src/loaders/EnvironmentMapLoader.ts +355 -0
  240. package/src/loaders/GeometryLoader.ts +565 -0
  241. package/src/loaders/HTMLElementAnchorLoader.ts +107 -0
  242. package/src/loaders/LightLoader.ts +171 -0
  243. package/src/loaders/MaterialLoader.ts +1418 -0
  244. package/src/managers/CameraManager.ts +178 -0
  245. package/src/managers/EnvironmentGeometryManager.ts +224 -0
  246. package/src/managers/PostProcessingManager.ts +1169 -0
  247. package/src/managers/RenderingManager.ts +657 -0
  248. package/src/managers/SceneTracingManager.ts +120 -0
  249. package/src/managers/SceneTreeManager.ts +569 -0
  250. package/src/managers/postprocessing/GodRaysManager.ts +52 -0
  251. package/src/managers/postprocessing/OutlineManager.ts +58 -0
  252. package/src/managers/postprocessing/SSAARenderPass.ts +339 -0
  253. package/src/managers/postprocessing/SelectiveBloomManager.ts +58 -0
  254. package/src/managers/postprocessing/ao/ao/AOEffect.ts +180 -0
  255. package/src/managers/postprocessing/ao/ao/AOPass.ts +128 -0
  256. package/src/managers/postprocessing/ao/ao/shader/ao_compose.glsl +17 -0
  257. package/src/managers/postprocessing/ao/ao/shader/ao_compose.ts +19 -0
  258. package/src/managers/postprocessing/ao/hbao/HBAOEffect.ts +41 -0
  259. package/src/managers/postprocessing/ao/hbao/shader/hbao.glsl +96 -0
  260. package/src/managers/postprocessing/ao/hbao/shader/hbao.ts +98 -0
  261. package/src/managers/postprocessing/ao/hbao/shader/hbao_utils.glsl +92 -0
  262. package/src/managers/postprocessing/ao/hbao/shader/hbao_utils.ts +95 -0
  263. package/src/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.ts +245 -0
  264. package/src/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.glsl +125 -0
  265. package/src/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.ts +127 -0
  266. package/src/managers/postprocessing/ao/ssao/SSAOEffect.ts +106 -0
  267. package/src/managers/postprocessing/ao/ssao/shader/ssao.glsl +128 -0
  268. package/src/managers/postprocessing/ao/ssao/shader/ssao.ts +130 -0
  269. package/src/managers/postprocessing/ao/utils/shader/basic.glsl +6 -0
  270. package/src/managers/postprocessing/ao/utils/shader/basic.ts +8 -0
  271. package/src/managers/postprocessing/ao/utils/shader/sampleBlueNoise.glsl +36 -0
  272. package/src/managers/postprocessing/ao/utils/shader/sampleBlueNoise.ts +38 -0
  273. package/src/managers/postprocessing/utils/CopyMaterial.ts +130 -0
  274. package/src/managers/postprocessing/utils/CopyShader.ts +39 -0
  275. package/src/managers/postprocessing/utils/FullScreenQuad.ts +47 -0
  276. package/src/managers/postprocessing/utils/NormalPass.ts +222 -0
  277. package/src/managers/postprocessing/utils/RenderPass.ts +366 -0
  278. package/src/materials/GemMaterial.ts +268 -0
  279. package/src/materials/MeshUnlitMaterialParameters.ts +4 -0
  280. package/src/materials/MultiPointsMaterial.ts +646 -0
  281. package/src/materials/SpecularGlossinessMaterial.ts +182 -0
  282. package/src/objects/SDBone.ts +51 -0
  283. package/src/objects/SDColor.ts +54 -0
  284. package/src/objects/SDData.ts +44 -0
  285. package/src/objects/SDObject.ts +58 -0
  286. package/src/shaders/PCSS.ts +124 -0
  287. package/src/shaders/gem.ts +575 -0
  288. package/src/shaders/gem_frag.glsl +517 -0
  289. package/src/shaders/gem_vert.glsl +53 -0
  290. package/src/shaders/multi_points.ts +291 -0
  291. package/src/shaders/multi_points_frag.glsl +166 -0
  292. package/src/shaders/multi_points_vert.glsl +120 -0
  293. package/src/styling/viewport-css.ts +113 -0
  294. package/src/styling/viewport.css +111 -0
  295. package/src/three/font.ts +2 -0
  296. package/src/three/geometries/TextGeometry.ts +58 -0
  297. package/src/three/loaders/FontLoader.ts +205 -0
  298. package/src/three/loaders/RGBELoader.ts +496 -0
  299. package/src/types/IThreejsData.ts +16 -0
  300. package/src/types/ThreejsData.ts +43 -0
  301. 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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"}