@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,162 @@
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.SpecularGlossinessMaterial = void 0;
27
+ const THREE = __importStar(require("three"));
28
+ const three_1 = require("three");
29
+ class SpecularGlossinessMaterial extends three_1.MeshStandardMaterial {
30
+ // #endregion Properties (1)
31
+ // #region Constructors (1)
32
+ constructor(params) {
33
+ super();
34
+ this.isGLTFSpecularGlossinessMaterial = true;
35
+ //various chunks that need replacing
36
+ const specularMap2ParsFragmentChunk = [
37
+ '#ifdef USE_SPECULARMAP2',
38
+ ' uniform sampler2D specularMap2;',
39
+ '#endif'
40
+ ].join('\n');
41
+ const glossinessMapParsFragmentChunk = [
42
+ '#ifdef USE_GLOSSINESSMAP',
43
+ ' uniform sampler2D glossinessMap;',
44
+ '#endif'
45
+ ].join('\n');
46
+ const specularMap2FragmentChunk = [
47
+ 'vec3 specularFactor = specular;',
48
+ '#ifdef USE_SPECULARMAP2',
49
+ ' vec4 texelSpecular = texture2D( specularMap2, vUv );',
50
+ ' // reads channel RGB, compatible with a glTF Specular-Glossiness (RGBA) texture',
51
+ ' specularFactor *= texelSpecular.rgb;',
52
+ '#endif'
53
+ ].join('\n');
54
+ const glossinessMapFragmentChunk = [
55
+ 'float glossinessFactor = glossiness;',
56
+ '#ifdef USE_GLOSSINESSMAP',
57
+ ' vec4 texelGlossiness = texture2D( glossinessMap, vUv );',
58
+ ' // reads channel A, compatible with a glTF Specular-Glossiness (RGBA) texture',
59
+ ' glossinessFactor *= texelGlossiness.a;',
60
+ '#endif'
61
+ ].join('\n');
62
+ const lightPhysicalFragmentChunk = [
63
+ 'PhysicalMaterial material;',
64
+ 'material.diffuseColor = diffuseColor.rgb * ( 1. - max( specularFactor.r, max( specularFactor.g, specularFactor.b ) ) );',
65
+ 'vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) );',
66
+ 'float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );',
67
+ 'material.roughness = max( 1.0 - glossinessFactor, 0.0525 ); // 0.0525 corresponds to the base mip of a 256 cubemap.',
68
+ 'material.roughness += geometryRoughness;',
69
+ 'material.roughness = min( material.roughness, 1.0 );',
70
+ 'material.specularColor = specularFactor;',
71
+ ].join('\n');
72
+ const uniforms = {
73
+ specular: { value: new THREE.Color().setHex(0xffffff) },
74
+ glossiness: { value: 1 },
75
+ specularMap2: { value: null },
76
+ glossinessMap: { value: null }
77
+ };
78
+ this._extraUniforms = uniforms;
79
+ this.onBeforeCompile = function (shader) {
80
+ for (const uniformName in uniforms) {
81
+ shader.uniforms[uniformName] = uniforms[uniformName];
82
+ }
83
+ shader.fragmentShader = shader.fragmentShader
84
+ .replace('uniform float roughness;', 'uniform vec3 specular;')
85
+ .replace('uniform float metalness;', 'uniform float glossiness;')
86
+ .replace('#include <roughnessmap_pars_fragment>', specularMap2ParsFragmentChunk)
87
+ .replace('#include <metalnessmap_pars_fragment>', glossinessMapParsFragmentChunk)
88
+ .replace('#include <roughnessmap_fragment>', specularMap2FragmentChunk)
89
+ .replace('#include <metalnessmap_fragment>', glossinessMapFragmentChunk)
90
+ .replace('#include <lights_physical_fragment>', lightPhysicalFragmentChunk);
91
+ };
92
+ Object.defineProperties(this, {
93
+ specular: {
94
+ get: function () {
95
+ return uniforms.specular.value;
96
+ },
97
+ set: function (v) {
98
+ uniforms.specular.value = v;
99
+ }
100
+ },
101
+ specularMap2: {
102
+ get: function () {
103
+ return uniforms.specularMap2.value;
104
+ },
105
+ set: function (v) {
106
+ uniforms.specularMap2.value = v;
107
+ if (v) {
108
+ this.defines.USE_SPECULARMAP2 = ''; // USE_UV is set by the renderer for specular maps
109
+ }
110
+ else {
111
+ delete this.defines.USE_SPECULARMAP2;
112
+ }
113
+ }
114
+ },
115
+ glossiness: {
116
+ get: function () {
117
+ return uniforms.glossiness.value;
118
+ },
119
+ set: function (v) {
120
+ uniforms.glossiness.value = v;
121
+ }
122
+ },
123
+ glossinessMap: {
124
+ get: function () {
125
+ return uniforms.glossinessMap.value;
126
+ },
127
+ set: function (v) {
128
+ uniforms.glossinessMap.value = v;
129
+ if (v) {
130
+ this.defines.USE_GLOSSINESSMAP = '';
131
+ this.defines.USE_UV = '';
132
+ }
133
+ else {
134
+ delete this.defines.USE_GLOSSINESSMAP;
135
+ delete this.defines.USE_UV;
136
+ }
137
+ }
138
+ }
139
+ });
140
+ delete this.metalness;
141
+ delete this.roughness;
142
+ delete this.metalnessMap;
143
+ delete this.roughnessMap;
144
+ this.setValues(params);
145
+ }
146
+ // #endregion Constructors (1)
147
+ // #region Public Methods (1)
148
+ copy(source) {
149
+ super.copy(source);
150
+ this.specularMap2 = source.specularMap2;
151
+ this.specular.copy(source.specular);
152
+ this.glossinessMap = source.glossinessMap;
153
+ this.glossiness = source.glossiness;
154
+ delete this.metalness;
155
+ delete this.roughness;
156
+ delete this.metalnessMap;
157
+ delete this.roughnessMap;
158
+ return this;
159
+ }
160
+ }
161
+ exports.SpecularGlossinessMaterial = SpecularGlossinessMaterial;
162
+ //# sourceMappingURL=SpecularGlossinessMaterial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpecularGlossinessMaterial.js","sourceRoot":"","sources":["../../src/materials/SpecularGlossinessMaterial.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Bone } from 'three';
2
+ import { mat4 } from 'gl-matrix';
3
+ import { ISDObject } from '@shapediver/viewer.rendering-engine.rendering-engine';
4
+ export declare class SDBone extends Bone implements ISDObject {
5
+ #private;
6
+ constructor(SDid: string, SDversion: string);
7
+ applyTransformation(transformation: mat4): void;
8
+ get SDid(): string;
9
+ set SDid(value: string);
10
+ get SDversion(): string;
11
+ set SDversion(value: string);
12
+ }
13
+ //# sourceMappingURL=SDBone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDBone.d.ts","sourceRoot":"","sources":["../../src/objects/SDBone.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,sDAAsD,CAAC;AAEjF,qBAAa,MAAO,SAAQ,IAAK,YAAW,SAAS;;gBAO7C,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM;IAOd,mBAAmB,CAAC,cAAc,EAAE,IAAI,GAAG,IAAI;IAatD,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,IAAI,CAAC,KAAK,EAAE,MAAM,EAE5B;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,SAAS,CAAC,KAAK,EAAE,MAAM,EAEjC;CAGJ"}
@@ -0,0 +1,75 @@
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
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
26
+ if (kind === "m") throw new TypeError("Private method is not writable");
27
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
28
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
29
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
30
+ };
31
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
32
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
33
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
34
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
35
+ };
36
+ var _SDBone_SDid, _SDBone_SDversion;
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.SDBone = void 0;
39
+ const THREE = __importStar(require("three"));
40
+ const three_1 = require("three");
41
+ class SDBone extends three_1.Bone {
42
+ constructor(SDid, SDversion) {
43
+ super();
44
+ // #region Constructors (1)
45
+ _SDBone_SDid.set(this, void 0);
46
+ _SDBone_SDversion.set(this, void 0);
47
+ __classPrivateFieldSet(this, _SDBone_SDid, SDid, "f");
48
+ __classPrivateFieldSet(this, _SDBone_SDversion, SDversion, "f");
49
+ }
50
+ applyTransformation(transformation) {
51
+ this.matrix.identity();
52
+ this.matrixWorld.identity();
53
+ this.position.set(0, 0, 0);
54
+ this.scale.set(1, 1, 1);
55
+ this.quaternion.set(0, 0, 0, 1);
56
+ this.applyMatrix4(new THREE.Matrix4().fromArray(transformation));
57
+ }
58
+ // #endregion Constructors (1)
59
+ // #region Public Accessors (4)
60
+ get SDid() {
61
+ return __classPrivateFieldGet(this, _SDBone_SDid, "f");
62
+ }
63
+ set SDid(value) {
64
+ __classPrivateFieldSet(this, _SDBone_SDid, value, "f");
65
+ }
66
+ get SDversion() {
67
+ return __classPrivateFieldGet(this, _SDBone_SDversion, "f");
68
+ }
69
+ set SDversion(value) {
70
+ __classPrivateFieldSet(this, _SDBone_SDversion, value, "f");
71
+ }
72
+ }
73
+ exports.SDBone = SDBone;
74
+ _SDBone_SDid = new WeakMap(), _SDBone_SDversion = new WeakMap();
75
+ //# sourceMappingURL=SDBone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDBone.js","sourceRoot":"","sources":["../../src/objects/SDBone.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA8B;AAC9B,iCAA4B;AAI5B,MAAa,MAAO,SAAQ,YAAI;IAM5B,YACI,IAAY,EACZ,SAAiB;QAEjB,KAAK,EAAE,CAAC;QATZ,2BAA2B;QAE3B,+BAAc;QACd,oCAAmB;QAOf,uBAAA,IAAI,gBAAS,IAAI,MAAA,CAAC;QAClB,uBAAA,IAAI,qBAAc,SAAS,MAAA,CAAC;IAChC,CAAC;IAEM,mBAAmB,CAAC,cAAoB;QAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAA;QACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAA;QACrB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAA;QAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,8BAA8B;IAE9B,+BAA+B;IAE/B,IAAW,IAAI;QACX,OAAO,uBAAA,IAAI,oBAAM,CAAC;IACtB,CAAC;IAED,IAAW,IAAI,CAAC,KAAa;QACzB,uBAAA,IAAI,gBAAS,KAAK,MAAA,CAAC;IACvB,CAAC;IAED,IAAW,SAAS;QAChB,OAAO,uBAAA,IAAI,yBAAW,CAAC;IAC3B,CAAC;IAED,IAAW,SAAS,CAAC,KAAa;QAC9B,uBAAA,IAAI,qBAAc,KAAK,MAAA,CAAC;IAC5B,CAAC;CAGJ;AA7CD,wBA6CC"}
@@ -0,0 +1,17 @@
1
+ import { Color as ThreeColor } from 'three';
2
+ import { Color } from '@shapediver/viewer.shared.types';
3
+ export declare class SDColor extends ThreeColor {
4
+ private _colorSpace;
5
+ private _originalColorSpace;
6
+ constructor(hexColor: string, originalColor: Color);
7
+ /**
8
+ * Depending on the current state and provided value, this function converts the color to a different color space.
9
+ *
10
+ * If the color is in 'srgb' space and active is set to true, it will be converted to 'srgb-linear' space.
11
+ * If the color is in 'srgb-linear' space, the color is not originally in 'srgb-linear' and active is set to false, it will be converted to 'srgb' space.
12
+ *
13
+ * @param active
14
+ */
15
+ colorCorrection(active: boolean): void;
16
+ }
17
+ //# sourceMappingURL=SDColor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDColor.d.ts","sourceRoot":"","sources":["../../src/objects/SDColor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAExD,qBAAa,OAAQ,SAAQ,UAAU;IAGnC,OAAO,CAAC,WAAW,CAAyC;IAC5D,OAAO,CAAC,mBAAmB,CAAyC;gBAMxD,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK;IAelD;;;;;;;OAOG;IACI,eAAe,CAAC,MAAM,EAAE,OAAO;CAgBzC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SDColor = void 0;
4
+ const three_1 = require("three");
5
+ class SDColor extends three_1.Color {
6
+ // #endregion Properties (3)
7
+ // #region Constructors (1)
8
+ constructor(hexColor, originalColor) {
9
+ super(hexColor);
10
+ // #region Properties (3)
11
+ this._colorSpace = 'srgb-linear';
12
+ this._originalColorSpace = 'srgb-linear';
13
+ if (typeof originalColor === 'number' || Array.isArray(originalColor) && (originalColor.length == 3 || originalColor.length == 4)) {
14
+ this._colorSpace = 'srgb-linear';
15
+ this._originalColorSpace = 'srgb-linear';
16
+ }
17
+ else {
18
+ this._colorSpace = 'srgb';
19
+ this._originalColorSpace = 'srgb';
20
+ }
21
+ }
22
+ // #endregion Constructors (1)
23
+ // #region Public Methods (1)
24
+ /**
25
+ * Depending on the current state and provided value, this function converts the color to a different color space.
26
+ *
27
+ * If the color is in 'srgb' space and active is set to true, it will be converted to 'srgb-linear' space.
28
+ * If the color is in 'srgb-linear' space, the color is not originally in 'srgb-linear' and active is set to false, it will be converted to 'srgb' space.
29
+ *
30
+ * @param active
31
+ */
32
+ colorCorrection(active) {
33
+ if (this._colorSpace === 'srgb' && active === true) {
34
+ // we assume all colors provided are in 'srgb' color space
35
+ // therefore we need to correct those colors to 'srgb-linear' if the color conversion is active
36
+ this.convertSRGBToLinear();
37
+ this._colorSpace = 'srgb-linear';
38
+ }
39
+ else if (this._colorSpace === 'srgb-linear' && active === false && this._originalColorSpace !== 'srgb-linear') {
40
+ // if the color space is already 'srgb-linear', the color was already converted
41
+ // therefore we need to convert it back if the color conversion was deactivted
42
+ // if it was not originally in 'srgb-linear'
43
+ this.convertLinearToSRGB();
44
+ this._colorSpace = 'srgb';
45
+ }
46
+ }
47
+ }
48
+ exports.SDColor = SDColor;
49
+ //# sourceMappingURL=SDColor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDColor.js","sourceRoot":"","sources":["../../src/objects/SDColor.ts"],"names":[],"mappings":";;;AACA,iCAA2C;AAG3C,MAAa,OAAQ,SAAQ,aAAU;IAMnC,4BAA4B;IAE5B,2BAA2B;IAE3B,YAAY,QAAgB,EAAE,aAAoB;QAC9C,KAAK,CAAC,QAAQ,CAAC,CAAC;QAVpB,yBAAyB;QAEjB,gBAAW,GAA2B,aAAa,CAAC;QACpD,wBAAmB,GAA2B,aAAa,CAAC;QAQhE,IAAG,OAAO,aAAa,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;YAC9H,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC;YACjC,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC;SAC5C;aAAM;YACH,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;YAC1B,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;SACrC;IACL,CAAC;IAED,8BAA8B;IAE9B,6BAA6B;IAE7B;;;;;;;OAOG;IACI,eAAe,CAAC,MAAe;QAClC,IAAG,IAAI,CAAC,WAAW,KAAK,MAAM,IAAI,MAAM,KAAK,IAAI,EAAE;YAC/C,0DAA0D;YAC1D,+FAA+F;YAC/F,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC;SACpC;aAAM,IAAG,IAAI,CAAC,WAAW,KAAK,aAAa,IAAI,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,mBAAmB,KAAK,aAAa,EAAE;YAC5G,+EAA+E;YAC/E,8EAA8E;YAC9E,4CAA4C;YAC5C,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;SAC7B;IACL,CAAC;CAGJ;AAjDD,0BAiDC"}
@@ -0,0 +1,19 @@
1
+ import { SDObject } from './SDObject';
2
+ export declare enum SD_DATA_TYPE {
3
+ GEOMETRY = "geometry",
4
+ MATERIAL = "material",
5
+ THREEJS = "threejs",
6
+ LIGHT = "light",
7
+ CAMERA = "camera",
8
+ ANIMATION = "animation",
9
+ INTERACTION = "interaction",
10
+ HTML_ELEMENT_ANCHOR = "html_element_anchor",
11
+ CUSTOM = "custom"
12
+ }
13
+ export declare class SDData extends SDObject {
14
+ #private;
15
+ constructor(SDid: string, SDversion: string);
16
+ get SDtype(): SD_DATA_TYPE;
17
+ set SDtype(value: SD_DATA_TYPE);
18
+ }
19
+ //# sourceMappingURL=SDData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDData.d.ts","sourceRoot":"","sources":["../../src/objects/SDData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,oBAAY,YAAY;IACpB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,mBAAmB,wBAAwB;IAC3C,MAAM,WAAW;CACpB;AAED,qBAAa,MAAO,SAAQ,QAAQ;;gBAU5B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM;IASrB,IAAW,MAAM,IAAI,YAAY,CAEhC;IAED,IAAW,MAAM,CAAC,KAAK,EAAE,YAAY,EAEpC;CAGJ"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
+ };
7
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
8
+ if (kind === "m") throw new TypeError("Private method is not writable");
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
+ };
13
+ var _SDData_SDtype;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.SDData = exports.SD_DATA_TYPE = void 0;
16
+ const SDObject_1 = require("./SDObject");
17
+ var SD_DATA_TYPE;
18
+ (function (SD_DATA_TYPE) {
19
+ SD_DATA_TYPE["GEOMETRY"] = "geometry";
20
+ SD_DATA_TYPE["MATERIAL"] = "material";
21
+ SD_DATA_TYPE["THREEJS"] = "threejs";
22
+ SD_DATA_TYPE["LIGHT"] = "light";
23
+ SD_DATA_TYPE["CAMERA"] = "camera";
24
+ SD_DATA_TYPE["ANIMATION"] = "animation";
25
+ SD_DATA_TYPE["INTERACTION"] = "interaction";
26
+ SD_DATA_TYPE["HTML_ELEMENT_ANCHOR"] = "html_element_anchor";
27
+ SD_DATA_TYPE["CUSTOM"] = "custom";
28
+ })(SD_DATA_TYPE = exports.SD_DATA_TYPE || (exports.SD_DATA_TYPE = {}));
29
+ class SDData extends SDObject_1.SDObject {
30
+ // #endregion Properties (1)
31
+ // #region Constructors (1)
32
+ constructor(SDid, SDversion) {
33
+ super(SDid, SDversion);
34
+ // #region Properties (1)
35
+ _SDData_SDtype.set(this, SD_DATA_TYPE.CUSTOM);
36
+ }
37
+ // #endregion Constructors (1)
38
+ // #region Public Accessors (2)
39
+ get SDtype() {
40
+ return __classPrivateFieldGet(this, _SDData_SDtype, "f");
41
+ }
42
+ set SDtype(value) {
43
+ __classPrivateFieldSet(this, _SDData_SDtype, value, "f");
44
+ }
45
+ }
46
+ exports.SDData = SDData;
47
+ _SDData_SDtype = new WeakMap();
48
+ //# sourceMappingURL=SDData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDData.js","sourceRoot":"","sources":["../../src/objects/SDData.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAAsC;AAEtC,IAAY,YAUX;AAVD,WAAY,YAAY;IACpB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,mCAAmB,CAAA;IACnB,+BAAe,CAAA;IACf,iCAAiB,CAAA;IACjB,uCAAuB,CAAA;IACvB,2CAA2B,CAAA;IAC3B,2DAA2C,CAAA;IAC3C,iCAAiB,CAAA;AACrB,CAAC,EAVW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAUvB;AAED,MAAa,MAAO,SAAQ,mBAAQ;IAKhC,4BAA4B;IAE5B,2BAA2B;IAE3B,YACI,IAAY,EACZ,SAAiB;QAEjB,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAZ3B,yBAAyB;QAEzB,yBAAwB,YAAY,CAAC,MAAM,EAAC;IAW5C,CAAC;IAED,8BAA8B;IAE9B,+BAA+B;IAE/B,IAAW,MAAM;QACb,OAAO,uBAAA,IAAI,sBAAQ,CAAC;IACxB,CAAC;IAED,IAAW,MAAM,CAAC,KAAmB;QACjC,uBAAA,IAAI,kBAAW,KAAK,MAAA,CAAC;IACzB,CAAC;CAGJ;AA7BD,wBA6BC"}
@@ -0,0 +1,14 @@
1
+ import { Object3D } from 'three';
2
+ import { mat4 } from 'gl-matrix';
3
+ import { ISDObject } from '@shapediver/viewer.rendering-engine.rendering-engine';
4
+ export declare class SDObject extends Object3D implements ISDObject {
5
+ #private;
6
+ constructor(SDid: string, SDversion: string);
7
+ applyTransformation(transformation: mat4): void;
8
+ get SDid(): string;
9
+ set SDid(value: string);
10
+ get SDversion(): string;
11
+ set SDversion(value: string);
12
+ cloneObject(): SDObject;
13
+ }
14
+ //# sourceMappingURL=SDObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDObject.d.ts","sourceRoot":"","sources":["../../src/objects/SDObject.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,sDAAsD,CAAC;AAEjF,qBAAa,QAAS,SAAQ,QAAS,YAAW,SAAS;;gBAOnD,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM;IAOd,mBAAmB,CAAC,cAAc,EAAE,IAAI,GAAG,IAAI;IAatD,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,IAAI,CAAC,KAAK,EAAE,MAAM,EAE5B;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,SAAS,CAAC,KAAK,EAAE,MAAM,EAEjC;IAEM,WAAW,IAAI,QAAQ;CAQjC"}
@@ -0,0 +1,81 @@
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
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
26
+ if (kind === "m") throw new TypeError("Private method is not writable");
27
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
28
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
29
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
30
+ };
31
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
32
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
33
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
34
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
35
+ };
36
+ var _SDObject_SDid, _SDObject_SDversion;
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.SDObject = void 0;
39
+ const THREE = __importStar(require("three"));
40
+ const three_1 = require("three");
41
+ class SDObject extends three_1.Object3D {
42
+ constructor(SDid, SDversion) {
43
+ super();
44
+ // #region Constructors (1)
45
+ _SDObject_SDid.set(this, void 0);
46
+ _SDObject_SDversion.set(this, void 0);
47
+ __classPrivateFieldSet(this, _SDObject_SDid, SDid, "f");
48
+ __classPrivateFieldSet(this, _SDObject_SDversion, SDversion, "f");
49
+ }
50
+ applyTransformation(transformation) {
51
+ this.matrix.identity();
52
+ this.matrixWorld.identity();
53
+ this.position.set(0, 0, 0);
54
+ this.scale.set(1, 1, 1);
55
+ this.quaternion.set(0, 0, 0, 1);
56
+ this.applyMatrix4(new THREE.Matrix4().fromArray(transformation));
57
+ }
58
+ // #endregion Constructors (1)
59
+ // #region Public Accessors (4)
60
+ get SDid() {
61
+ return __classPrivateFieldGet(this, _SDObject_SDid, "f");
62
+ }
63
+ set SDid(value) {
64
+ __classPrivateFieldSet(this, _SDObject_SDid, value, "f");
65
+ }
66
+ get SDversion() {
67
+ return __classPrivateFieldGet(this, _SDObject_SDversion, "f");
68
+ }
69
+ set SDversion(value) {
70
+ __classPrivateFieldSet(this, _SDObject_SDversion, value, "f");
71
+ }
72
+ cloneObject() {
73
+ const clone = this.clone();
74
+ clone.SDid = this.SDid;
75
+ clone.SDversion = this.SDversion;
76
+ return clone;
77
+ }
78
+ }
79
+ exports.SDObject = SDObject;
80
+ _SDObject_SDid = new WeakMap(), _SDObject_SDversion = new WeakMap();
81
+ //# sourceMappingURL=SDObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDObject.js","sourceRoot":"","sources":["../../src/objects/SDObject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA8B;AAC9B,iCAAgC;AAIhC,MAAa,QAAS,SAAQ,gBAAQ;IAMlC,YACI,IAAY,EACZ,SAAiB;QAEjB,KAAK,EAAE,CAAC;QATZ,2BAA2B;QAE3B,iCAAc;QACd,sCAAmB;QAOf,uBAAA,IAAI,kBAAS,IAAI,MAAA,CAAC;QAClB,uBAAA,IAAI,uBAAc,SAAS,MAAA,CAAC;IAChC,CAAC;IAEM,mBAAmB,CAAC,cAAoB;QAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAA;QACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAA;QACrB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAA;QAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,8BAA8B;IAE9B,+BAA+B;IAE/B,IAAW,IAAI;QACX,OAAO,uBAAA,IAAI,sBAAM,CAAC;IACtB,CAAC;IAED,IAAW,IAAI,CAAC,KAAa;QACzB,uBAAA,IAAI,kBAAS,KAAK,MAAA,CAAC;IACvB,CAAC;IAED,IAAW,SAAS;QAChB,OAAO,uBAAA,IAAI,2BAAW,CAAC;IAC3B,CAAC;IAED,IAAW,SAAS,CAAC,KAAa;QAC9B,uBAAA,IAAI,uBAAc,KAAK,MAAA,CAAC;IAC5B,CAAC;IAEM,WAAW;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,OAAO,KAAK,CAAC;IACjB,CAAC;CAGJ;AApDD,4BAoDC"}
@@ -0,0 +1,3 @@
1
+ export declare const main = "\n\nuniform float lightSizeUV;\nuniform float blending;\n\n#ifdef SHADOWMAP_TYPE_PCF\n\n#define NEAR_PLANE 0.1\n#define NUM_SAMPLES 20\n#define NUM_RINGS 11\n\nvec2 poissonDisk[NUM_SAMPLES];\n\nvoid initPoissonSamples( const in vec2 randomSeed ) {\n float ANGLE_STEP = PI2 * float(NUM_RINGS) / float(NUM_SAMPLES);\n float INV_NUM_SAMPLES = 1.0 / float(NUM_SAMPLES);\n\n // jsfiddle that shows sample pattern: https://jsfiddle.net/a16ff1p7/\n float angle = rand(randomSeed) * PI2;\n float radius = INV_NUM_SAMPLES;\n float radiusStep = radius;\n\n for (int i = 0; i < int(NUM_SAMPLES); i++ ) {\n poissonDisk[i] = vec2(cos(angle), sin(angle)) * pow(radius, 0.75);\n radius += radiusStep;\n angle += ANGLE_STEP;\n }\n}\n\nfloat penumbraSize( const in float zReceiver, const in float zBlocker ) { // Parallel plane estimation\n return (zReceiver - zBlocker) / zBlocker;\n}\n\nfloat findBlocker(sampler2D shadowMap, const in vec2 uv, const in float zReceiver ) {\n // This uses similar triangles to compute what\n // area of the shadow map we should search\n float searchRadius = lightSizeUV * (zReceiver - NEAR_PLANE) / zReceiver;\n float blockerDepthSum = 0.0;\n int numBlockers = 0;\n\n for (int i = 0; i < int(NUM_SAMPLES); i++ ) {\n float shadowMapDepth = unpackRGBAToDepth(texture2D(shadowMap, uv + poissonDisk[i] * searchRadius));\n if (shadowMapDepth < zReceiver) {\n blockerDepthSum += shadowMapDepth;\n numBlockers++;\n }\n }\n\n if (numBlockers == 0) return -1.0;\n\n return blockerDepthSum / float(numBlockers);\n}\n\nfloat PCF_Filter(sampler2D shadowMap, vec2 uv, float zReceiver, float filterRadius) {\n float sum = 0.0;\n for (int i = 0; i < int(NUM_SAMPLES); i++ ) {\n float depth = unpackRGBAToDepth(texture2D(shadowMap, uv + poissonDisk[i] * filterRadius));\n if (zReceiver <= depth) sum += 1.0;\n }\n for (int i = 0; i < int(NUM_SAMPLES); i++ ) {\n float depth = unpackRGBAToDepth(texture2D(shadowMap, uv + -poissonDisk[i].yx * filterRadius));\n if (zReceiver <= depth) sum += 1.0;\n }\n return sum / (2.0 * float(NUM_SAMPLES));\n}\n\nfloat PCSS(sampler2D shadowMap, vec4 coords) {\n vec2 uv = coords.xy;\n float zReceiver = coords.z; // Assumed to be eye-space z in this code\n\n initPoissonSamples(uv);\n // STEP 1: blocker search\n float avgBlockerDepth = findBlocker(shadowMap, uv, zReceiver);\n\n //There are no occluders so early out (this saves filtering)\n if (avgBlockerDepth == -1.0) return 1.0;\n\n // STEP 2: penumbra size\n float penumbraRatio = penumbraSize(zReceiver, avgBlockerDepth);\n float filterRadius = penumbraRatio * lightSizeUV * NEAR_PLANE / zReceiver;\n\n // STEP 3: filtering\n //return avgBlockerDepth;\n return PCF_Filter(shadowMap, uv, zReceiver, filterRadius);\n}\n#endif\n";
2
+ export declare const entry = "\n// PCSS implementation\nvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\nfloat dx = texelSize.x;\nfloat dy = texelSize.y;\nvec2 uv = shadowCoord.xy;\nvec2 f = fract( uv * shadowMapSize + 0.5 );\nuv -= f * texelSize;\nfloat shadow1 = (\n texture2DCompare( shadowMap, uv, shadowCoord.z ) +\n texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \n texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n f.x ) +\n mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \n texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n f.x ) +\n mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \n texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n f.y ) +\n mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \n texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n f.y ) +\n mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \n texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n f.x ),\n mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \n texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n f.x ),\n f.y )\n) * ( 1.0 / 9.0 );\nfloat shadow2 = PCSS( shadowMap, shadowCoord );\nshadow = shadow1 * (1.0 - blending) + blending * shadow2;\n ";
3
+ //# sourceMappingURL=PCSS.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PCSS.d.ts","sourceRoot":"","sources":["../../src/shaders/PCSS.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,82FAsFhB,CAAC;AAEF,eAAO,MAAM,KAAK,mwDAmCL,CAAA"}