@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 @@
1
+ {"version":3,"file":"PostProcessingManager.js","sourceRoot":"","sources":["../../src/managers/PostProcessingManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import * as THREE from 'three';
2
+ import { BUSY_MODE_DISPLAY, IManager, SPINNER_POSITIONING } from '@shapediver/viewer.rendering-engine.rendering-engine';
3
+ import { RenderingEngine } from '../RenderingEngine';
4
+ export declare class RenderingManager implements IManager {
5
+ private readonly _renderingEngine;
6
+ private readonly _animationEngine;
7
+ private readonly _animationFrameEngine;
8
+ private readonly _converter;
9
+ private readonly _eventEngine;
10
+ private readonly _logger;
11
+ private readonly _systemInfo;
12
+ private readonly _tree;
13
+ private _activeRendering;
14
+ private _cameraChanged;
15
+ private _continuousRendering;
16
+ private _continuousShadowMapUpdate;
17
+ private _height;
18
+ private _hidden;
19
+ private _hiddenCamera;
20
+ private _hiddenRenderTarget;
21
+ private _hideLogo;
22
+ private _lastSize;
23
+ private _lightSizeUVEnd;
24
+ private _lightSizeUVStart;
25
+ private _maxTextureUnits;
26
+ private _minimalRendering;
27
+ private _noWebGL;
28
+ private _runningAnimation;
29
+ private _sizeChanged;
30
+ private _softShadowRenderingActive;
31
+ private _softShadowRenderingDurationActive;
32
+ private _softShadowRenderingTimeout;
33
+ private _stats;
34
+ private _usingSwiftShader;
35
+ private _width;
36
+ constructor(_renderingEngine: RenderingEngine);
37
+ get continuousRendering(): boolean;
38
+ set continuousRendering(value: boolean);
39
+ get continuousShadowMapUpdate(): boolean;
40
+ set continuousShadowMapUpdate(value: boolean);
41
+ get minimalRendering(): boolean;
42
+ get usingSwiftShader(): boolean;
43
+ addLogo(canvas: HTMLCanvasElement, branding: {
44
+ logo: string | null;
45
+ backgroundColor: string;
46
+ busyModeSpinner: string;
47
+ busyModeDisplay: BUSY_MODE_DISPLAY;
48
+ spinnerPositioning: SPINNER_POSITIONING;
49
+ }): HTMLDivElement;
50
+ addSpinner(canvas: HTMLCanvasElement, branding: {
51
+ logo: string | null;
52
+ backgroundColor: string;
53
+ busyModeSpinner: string;
54
+ busyModeDisplay: BUSY_MODE_DISPLAY;
55
+ spinnerPositioning: SPINNER_POSITIONING;
56
+ }): HTMLDivElement;
57
+ createRenderer(canvas: HTMLCanvasElement): THREE.WebGLRenderer;
58
+ evaluateTextureUnitCount(value: number): void;
59
+ getScreenshot(type?: string, encoderOptions?: number): string;
60
+ init(): void;
61
+ render(): void;
62
+ resize(width: number, height: number): void;
63
+ /**
64
+ * Must only be called once by the RenderingEngine!
65
+ */
66
+ start(): void;
67
+ updateShadowMap(): void;
68
+ private activateBeautyRenderShaders;
69
+ private animate;
70
+ private calculateSize;
71
+ private deactivateBeautyRenderShaders;
72
+ private evaluateRenderingState;
73
+ private setShaderProperties;
74
+ private showStatistics;
75
+ private startAndStopRendering;
76
+ private startBeautyRenderCountdown;
77
+ private startRendering;
78
+ private stopBeautyRenderCountdown;
79
+ private stopRendering;
80
+ private toggleBusyMode;
81
+ private toggleLogo;
82
+ }
83
+ //# sourceMappingURL=RenderingManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderingManager.d.ts","sourceRoot":"","sources":["../../src/managers/RenderingManager.ts"],"names":[],"mappings":"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"}