@anov/3d-ability 0.0.139 → 0.0.141

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 (265) hide show
  1. package/dist/business/Animation/motion/index.js +35 -56
  2. package/dist/business/Animation/motion/index.js.map +1 -1
  3. package/dist/business/Animation/type.js +2 -2
  4. package/dist/business/Area/Fence/FenceBase.js +146 -187
  5. package/dist/business/Area/Fence/FenceBase.js.map +1 -1
  6. package/dist/business/Area/Fence/fence_base_01.js +120 -112
  7. package/dist/business/Area/Fence/fence_base_01.js.map +1 -1
  8. package/dist/business/Area/Fence/fence_feeting_01.js +218 -130
  9. package/dist/business/Area/Fence/fence_feeting_01.js.map +1 -1
  10. package/dist/business/Area/Fence/fence_roll_01.js +140 -130
  11. package/dist/business/Area/Fence/fence_roll_01.js.map +1 -1
  12. package/dist/business/Area/FillArea/FillAreaBase.js +87 -126
  13. package/dist/business/Area/FillArea/FillAreaBase.js.map +1 -1
  14. package/dist/business/Area/FillArea/fillArea_face_01.js +72 -98
  15. package/dist/business/Area/FillArea/fillArea_face_01.js.map +1 -1
  16. package/dist/business/Area/FillArea/fillArea_line_01.js +66 -94
  17. package/dist/business/Area/FillArea/fillArea_line_01.js.map +1 -1
  18. package/dist/business/Area/index.js +267 -483
  19. package/dist/business/Area/index.js.map +1 -1
  20. package/dist/business/Area/tool.js +14 -26
  21. package/dist/business/Area/tool.js.map +1 -1
  22. package/dist/business/Base/ObjectLayer.js +21 -46
  23. package/dist/business/Base/ObjectLayer.js.map +1 -1
  24. package/dist/business/Batch/index.js +189 -234
  25. package/dist/business/Batch/index.js.map +1 -1
  26. package/dist/business/Box/index.js +52 -81
  27. package/dist/business/Box/index.js.map +1 -1
  28. package/dist/business/Cylinder/index.js +51 -79
  29. package/dist/business/Cylinder/index.js.map +1 -1
  30. package/dist/business/Flyline/bubble/CircleBubble.js +1 -9
  31. package/dist/business/Flyline/bubble/CircleBubble.js.map +1 -1
  32. package/dist/business/Flyline/bubble/index.js +7 -21
  33. package/dist/business/Flyline/bubble/index.js.map +1 -1
  34. package/dist/business/Flyline/index.js +96 -162
  35. package/dist/business/Flyline/index.js.map +1 -1
  36. package/dist/business/Flyline/line/ArcLine.js +208 -291
  37. package/dist/business/Flyline/line/ArcLine.js.map +1 -1
  38. package/dist/business/Flyline/line/index.js +8 -22
  39. package/dist/business/Flyline/line/index.js.map +1 -1
  40. package/dist/business/HeatMap/HeatMap.js +380 -467
  41. package/dist/business/HeatMap/HeatMap.js.map +1 -1
  42. package/dist/business/HeatMap/core.js +405 -525
  43. package/dist/business/HeatMap/core.js.map +1 -1
  44. package/dist/business/HeatMap/shader.js +69 -3
  45. package/dist/business/HeatMap/shader.js.map +1 -1
  46. package/dist/business/InfoPanel/index.js +201 -242
  47. package/dist/business/InfoPanel/index.js.map +1 -1
  48. package/dist/business/Line/index.js +55 -88
  49. package/dist/business/Line/index.js.map +1 -1
  50. package/dist/business/Mark/KeyframeAnimation.js +145 -176
  51. package/dist/business/Mark/KeyframeAnimation.js.map +1 -1
  52. package/dist/business/Mark/index.js +196 -294
  53. package/dist/business/Mark/index.js.map +1 -1
  54. package/dist/business/Mark/shader/tanhao.js +36 -3
  55. package/dist/business/Mark/shader/tanhao.js.map +1 -1
  56. package/dist/business/Mark/type.js +1 -1
  57. package/dist/business/MaterialSwitch/MaterialSwitchSystem.js +377 -551
  58. package/dist/business/MaterialSwitch/MaterialSwitchSystem.js.map +1 -1
  59. package/dist/business/MaterialSwitch/inject.js +92 -58
  60. package/dist/business/MaterialSwitch/inject.js.map +1 -1
  61. package/dist/business/MaterialSwitch/shader/finalFade.js +74 -2
  62. package/dist/business/MaterialSwitch/shader/finalFade.js.map +1 -1
  63. package/dist/business/MaterialSwitch/shader/ground.js +95 -16
  64. package/dist/business/MaterialSwitch/shader/ground.js.map +1 -1
  65. package/dist/business/MaterialSwitch/shader/groundBase64.js +9 -3
  66. package/dist/business/MaterialSwitch/shader/groundBase64.js.map +1 -1
  67. package/dist/business/MaterialSwitch/shader/realFade.js +48 -9
  68. package/dist/business/MaterialSwitch/shader/realFade.js.map +1 -1
  69. package/dist/business/Plane/index.js +51 -78
  70. package/dist/business/Plane/index.js.map +1 -1
  71. package/dist/business/Poi/index.d.ts +5 -0
  72. package/dist/business/Poi/index.js +256 -295
  73. package/dist/business/Poi/index.js.map +1 -1
  74. package/dist/business/Poi/link/Cylinder.js +56 -89
  75. package/dist/business/Poi/link/Cylinder.js.map +1 -1
  76. package/dist/business/Poi/link/Pyramid.js +104 -165
  77. package/dist/business/Poi/link/Pyramid.js.map +1 -1
  78. package/dist/business/Poi/link/index.d.ts +1 -1
  79. package/dist/business/Poi/link/index.js +54 -114
  80. package/dist/business/Poi/link/index.js.map +1 -1
  81. package/dist/business/Poi/panel/index.d.ts +124 -0
  82. package/dist/business/Poi/panel/index.js +474 -0
  83. package/dist/business/Poi/panel/index.js.map +1 -0
  84. package/dist/business/Poi/panel/interfaces.d.ts +67 -0
  85. package/dist/business/Poi/panel/interfaces.js +2 -0
  86. package/dist/business/Poi/panel/interfaces.js.map +1 -0
  87. package/dist/business/Poi/panel/utils.d.ts +72 -0
  88. package/dist/business/Poi/panel/utils.js +126 -0
  89. package/dist/business/Poi/panel/utils.js.map +1 -0
  90. package/dist/business/Poi/particle/DoubleCircle.js +71 -107
  91. package/dist/business/Poi/particle/DoubleCircle.js.map +1 -1
  92. package/dist/business/Poi/particle/DynamicCircle.js +75 -111
  93. package/dist/business/Poi/particle/DynamicCircle.js.map +1 -1
  94. package/dist/business/Poi/particle/SingleCircle.js +62 -98
  95. package/dist/business/Poi/particle/SingleCircle.js.map +1 -1
  96. package/dist/business/Poi/particle/index.js +49 -117
  97. package/dist/business/Poi/particle/index.js.map +1 -1
  98. package/dist/business/Poi/shader/circle.js +31 -3
  99. package/dist/business/Poi/shader/circle.js.map +1 -1
  100. package/dist/business/Poi/shader/cylinder.js +37 -3
  101. package/dist/business/Poi/shader/cylinder.js.map +1 -1
  102. package/dist/business/Poi/shader/doubleCircle.js +55 -3
  103. package/dist/business/Poi/shader/doubleCircle.js.map +1 -1
  104. package/dist/business/Poi/shader/dynamicCircle.js +67 -3
  105. package/dist/business/Poi/shader/dynamicCircle.js.map +1 -1
  106. package/dist/business/Poi/title/Border.js +7 -27
  107. package/dist/business/Poi/title/Border.js.map +1 -1
  108. package/dist/business/Poi/title/Ellipse.js +7 -27
  109. package/dist/business/Poi/title/Ellipse.js.map +1 -1
  110. package/dist/business/Poi/title/index.js +208 -292
  111. package/dist/business/Poi/title/index.js.map +1 -1
  112. package/dist/business/Poi/tools.js +22 -19
  113. package/dist/business/Poi/tools.js.map +1 -1
  114. package/dist/business/Poi/types.d.ts +3 -0
  115. package/dist/business/Poi/types.js.map +1 -1
  116. package/dist/business/Sphere/index.js +47 -72
  117. package/dist/business/Sphere/index.js.map +1 -1
  118. package/dist/business/Spline/index.js +190 -245
  119. package/dist/business/Spline/index.js.map +1 -1
  120. package/dist/business/SplitBuilding/index.js +327 -536
  121. package/dist/business/SplitBuilding/index.js.map +1 -1
  122. package/dist/business/SplitBuilding/type.js +2 -2
  123. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js +218 -275
  124. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js.map +1 -1
  125. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js +132 -177
  126. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js.map +1 -1
  127. package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js +51 -1
  128. package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js.map +1 -1
  129. package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js +6 -1
  130. package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js.map +1 -1
  131. package/dist/business/TrafficComponents/base.js +32 -55
  132. package/dist/business/TrafficComponents/base.js.map +1 -1
  133. package/dist/business/TrafficComponents/utils.js +25 -24
  134. package/dist/business/TrafficComponents/utils.js.map +1 -1
  135. package/dist/business/Utils/Curve.js +40 -56
  136. package/dist/business/Utils/Curve.js.map +1 -1
  137. package/dist/business/Utils/constant.js +1 -1
  138. package/dist/business/Utils/constant.js.map +1 -1
  139. package/dist/business/Utils/defineProps.js +13 -14
  140. package/dist/business/Utils/defineProps.js.map +1 -1
  141. package/dist/business/Utils/round-curve.js +127 -153
  142. package/dist/business/Utils/round-curve.js.map +1 -1
  143. package/dist/business/VideoPanel/index.js +258 -319
  144. package/dist/business/VideoPanel/index.js.map +1 -1
  145. package/dist/business/Water/index.js +78 -108
  146. package/dist/business/Water/index.js.map +1 -1
  147. package/dist/business/Water/types.js +1 -1
  148. package/dist/business/Water/types.js.map +1 -1
  149. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js +383 -449
  150. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js.map +1 -1
  151. package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js +107 -142
  152. package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js.map +1 -1
  153. package/dist/core/Controls/FirstViewControl/index.js +84 -96
  154. package/dist/core/Controls/FirstViewControl/index.js.map +1 -1
  155. package/dist/core/Controls/ThirdViewControl/action/input.js +77 -98
  156. package/dist/core/Controls/ThirdViewControl/action/input.js.map +1 -1
  157. package/dist/core/Controls/ThirdViewControl/config/constants.js +1 -1
  158. package/dist/core/Controls/ThirdViewControl/config/constants.js.map +1 -1
  159. package/dist/core/Controls/ThirdViewControl/index.js +19 -28
  160. package/dist/core/Controls/ThirdViewControl/index.js.map +1 -1
  161. package/dist/core/Controls/ThirdViewControl/player/animation.js +126 -155
  162. package/dist/core/Controls/ThirdViewControl/player/animation.js.map +1 -1
  163. package/dist/core/Controls/ThirdViewControl/player/camera.js +47 -63
  164. package/dist/core/Controls/ThirdViewControl/player/camera.js.map +1 -1
  165. package/dist/core/Controls/ThirdViewControl/player/control.js +39 -49
  166. package/dist/core/Controls/ThirdViewControl/player/control.js.map +1 -1
  167. package/dist/core/Controls/ThirdViewControl/player.js +66 -91
  168. package/dist/core/Controls/ThirdViewControl/player.js.map +1 -1
  169. package/dist/core/Controls/base.js +14 -30
  170. package/dist/core/Controls/base.js.map +1 -1
  171. package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js +92 -131
  172. package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js.map +1 -1
  173. package/dist/core/Debug/PerformanceInfo/Performance.js +22 -47
  174. package/dist/core/Debug/PerformanceInfo/Performance.js.map +1 -1
  175. package/dist/core/Light/PointLight/PointLightExt.js +4 -21
  176. package/dist/core/Light/PointLight/PointLightExt.js.map +1 -1
  177. package/dist/core/Material/FinirMaterial/FinirMaterial.js +37 -57
  178. package/dist/core/Material/FinirMaterial/FinirMaterial.js.map +1 -1
  179. package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js +116 -153
  180. package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js.map +1 -1
  181. package/dist/core/Material/PristineGridMaterial/shader/fragment.js +95 -1
  182. package/dist/core/Material/PristineGridMaterial/shader/fragment.js.map +1 -1
  183. package/dist/core/Material/PristineGridMaterial/shader/vertex.js +26 -1
  184. package/dist/core/Material/PristineGridMaterial/shader/vertex.js.map +1 -1
  185. package/dist/core/Material/SurfaceMaterial/index.js +76 -172
  186. package/dist/core/Material/SurfaceMaterial/index.js.map +1 -1
  187. package/dist/core/Material/decorators.js +6 -11
  188. package/dist/core/Material/decorators.js.map +1 -1
  189. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js +16 -12
  190. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js.map +1 -1
  191. package/dist/core/PostEffects/addBrightnessContrastPass.js +17 -13
  192. package/dist/core/PostEffects/addBrightnessContrastPass.js.map +1 -1
  193. package/dist/core/PostEffects/bloomPass.js +17 -10
  194. package/dist/core/PostEffects/bloomPass.js.map +1 -1
  195. package/dist/core/PostEffects/bloomSelect.js +60 -43
  196. package/dist/core/PostEffects/bloomSelect.js.map +1 -1
  197. package/dist/core/PostEffects/colorifyPass.js +17 -13
  198. package/dist/core/PostEffects/colorifyPass.js.map +1 -1
  199. package/dist/core/PostEffects/index.js +28 -22
  200. package/dist/core/PostEffects/index.js.map +1 -1
  201. package/dist/core/PostEffects/outlinePass.js +37 -50
  202. package/dist/core/PostEffects/outlinePass.js.map +1 -1
  203. package/dist/core/PostEffects/postprocessing.js +14 -12
  204. package/dist/core/PostEffects/postprocessing.js.map +1 -1
  205. package/dist/core/PostEffects/saoPass.js +15 -10
  206. package/dist/core/PostEffects/saoPass.js.map +1 -1
  207. package/dist/core/PostEffects/shader/colorify.js +22 -3
  208. package/dist/core/PostEffects/shader/colorify.js.map +1 -1
  209. package/dist/core/PostEffects/shader/gammaCorrectionShader.js +27 -3
  210. package/dist/core/PostEffects/shader/gammaCorrectionShader.js.map +1 -1
  211. package/dist/core/PostEffects/shader/mapping.js +66 -3
  212. package/dist/core/PostEffects/shader/mapping.js.map +1 -1
  213. package/dist/core/PostEffects/shader/thermalMaging.js +28 -3
  214. package/dist/core/PostEffects/shader/thermalMaging.js.map +1 -1
  215. package/dist/core/SceneEffect/grow/grow.js +85 -101
  216. package/dist/core/SceneEffect/grow/grow.js.map +1 -1
  217. package/dist/core/SceneEffect/grow/style_down.js +60 -77
  218. package/dist/core/SceneEffect/grow/style_down.js.map +1 -1
  219. package/dist/core/SceneEffect/grow/style_up.js +64 -81
  220. package/dist/core/SceneEffect/grow/style_up.js.map +1 -1
  221. package/dist/core/SceneEffect/grow/type.js +2 -2
  222. package/dist/core/SceneEffect/grow/type.js.map +1 -1
  223. package/dist/core/WeatherSystem/DynamicWeatherSystem.js +51 -76
  224. package/dist/core/WeatherSystem/DynamicWeatherSystem.js.map +1 -1
  225. package/dist/core/WeatherSystem/hdr/index.js +69 -105
  226. package/dist/core/WeatherSystem/hdr/index.js.map +1 -1
  227. package/dist/core/WeatherSystem/index.js +77 -124
  228. package/dist/core/WeatherSystem/index.js.map +1 -1
  229. package/dist/core/WeatherSystem/objects/fog/index.js +52 -80
  230. package/dist/core/WeatherSystem/objects/fog/index.js.map +1 -1
  231. package/dist/core/WeatherSystem/objects/rain/index.js +72 -84
  232. package/dist/core/WeatherSystem/objects/rain/index.js.map +1 -1
  233. package/dist/core/WeatherSystem/objects/rain/lineRain.js +88 -118
  234. package/dist/core/WeatherSystem/objects/rain/lineRain.js.map +1 -1
  235. package/dist/core/WeatherSystem/objects/rain/plane.js +116 -146
  236. package/dist/core/WeatherSystem/objects/rain/plane.js.map +1 -1
  237. package/dist/core/WeatherSystem/objects/rain/point.js +100 -148
  238. package/dist/core/WeatherSystem/objects/rain/point.js.map +1 -1
  239. package/dist/core/WeatherSystem/objects/sky/cloud.js +71 -104
  240. package/dist/core/WeatherSystem/objects/sky/cloud.js.map +1 -1
  241. package/dist/core/WeatherSystem/objects/sky/index.js +66 -84
  242. package/dist/core/WeatherSystem/objects/sky/index.js.map +1 -1
  243. package/dist/core/WeatherSystem/objects/sky/outline.js +25 -45
  244. package/dist/core/WeatherSystem/objects/sky/outline.js.map +1 -1
  245. package/dist/core/WeatherSystem/shaders/cloud.js +74 -3
  246. package/dist/core/WeatherSystem/shaders/cloud.js.map +1 -1
  247. package/dist/core/WeatherSystem/shaders/fog.js +103 -3
  248. package/dist/core/WeatherSystem/shaders/fog.js.map +1 -1
  249. package/dist/core/WeatherSystem/shaders/rain.js +206 -7
  250. package/dist/core/WeatherSystem/shaders/rain.js.map +1 -1
  251. package/dist/core/WeatherSystem/shaders/sky.js +87 -3
  252. package/dist/core/WeatherSystem/shaders/sky.js.map +1 -1
  253. package/dist/core/WeatherSystem/sky/index.js +104 -135
  254. package/dist/core/WeatherSystem/sky/index.js.map +1 -1
  255. package/dist/core/WeatherSystem/utils/constant.js +44 -38
  256. package/dist/core/WeatherSystem/utils/constant.js.map +1 -1
  257. package/dist/core/WeatherSystem/utils/math.js +18 -25
  258. package/dist/core/WeatherSystem/utils/math.js.map +1 -1
  259. package/dist/core/WeatherSystem/utils/type.js +1 -1
  260. package/dist/core/WeatherSystem/utils/type.js.map +1 -1
  261. package/dist/core/WeatherSystem/weather/index.js +96 -141
  262. package/dist/core/WeatherSystem/weather/index.js.map +1 -1
  263. package/dist/utils/index.js +1 -1
  264. package/dist/utils/index.js.map +1 -1
  265. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"names":["use","BlendFunction","DepthDownsamplingPass","EdgeDetectionMode","EffectComposer","EffectPass","NormalPass","PredicationMode","RenderPass","SMAAEffect","SMAAPreset","SSAOEffect","TextureEffect","useComposerFrame","initPostEffectsV2","scene","renderer","camera","composer","addPass","normalPass","depthDownsamplingPass","normalBuffer","texture","resolutionScale","normalDepthBuffer","smaaEffect","preset","MEDIUM","edgeDetectionMode","COLOR","predicationMode","DEPTH","edgeDetectionMaterial","setEdgeDetectionThreshold","ssaoEffect","blendFunction","MULTIPLY","distanceScaling","depthAwareUpsampling","samples","rings","distanceThreshold","distanceFalloff","rangeThreshold","rangeFalloff","luminanceInfluence","minRadiusScale","radius","intensity","bias","fade","color","textureEffect","SKIP","effectPass","render"],"sources":["../../../src/core/PostEffects/postprocessing.ts"],"sourcesContent":["import { type Camera, type Scene, type WebGLRenderer, use } from '@anov/3d-core'\nimport { BlendFunction, DepthDownsamplingPass, EdgeDetectionMode, EffectComposer, EffectPass, NormalPass, PredicationMode, RenderPass, SMAAEffect, SMAAPreset, SSAOEffect, TextureEffect } from 'postprocessing'\n\nconst { useComposerFrame } = use\n\nexport const initPostEffectsV2 = (\n scene: Scene,\n renderer: WebGLRenderer,\n camera: Camera,\n) => {\n const composer = new EffectComposer(renderer)\n composer.addPass(new RenderPass(scene, camera))\n\n const normalPass = new NormalPass(scene, camera)\n const depthDownsamplingPass = new DepthDownsamplingPass({\n normalBuffer: normalPass.texture,\n resolutionScale: 0.5,\n })\n\n const normalDepthBuffer = depthDownsamplingPass.texture\n\n const smaaEffect = new SMAAEffect({\n preset: SMAAPreset.MEDIUM,\n edgeDetectionMode: EdgeDetectionMode.COLOR,\n predicationMode: PredicationMode.DEPTH,\n })\n\n smaaEffect.edgeDetectionMaterial.setEdgeDetectionThreshold(0.01)\n\n const ssaoEffect = new SSAOEffect(camera, normalPass.texture, {\n blendFunction: BlendFunction.MULTIPLY,\n distanceScaling: true,\n depthAwareUpsampling: true,\n normalDepthBuffer,\n samples: 9,\n rings: 7,\n distanceThreshold: 0.02, // Render up to a distance of ~20 world units\n distanceFalloff: 0.0025, // with an additional ~2.5 units of falloff.\n rangeThreshold: 0.0003, // Occlusion proximity of ~0.3 world units\n rangeFalloff: 0.0001, // with ~0.1 units of falloff.\n luminanceInfluence: 0.7,\n minRadiusScale: 0.33,\n radius: 0.1,\n intensity: 1.33,\n bias: 0.025,\n fade: 0.01,\n color: null,\n resolutionScale: 0.5,\n })\n\n const textureEffect = new TextureEffect({\n blendFunction: BlendFunction.SKIP,\n texture: depthDownsamplingPass.texture,\n })\n\n const effectPass = new EffectPass(camera, smaaEffect, ssaoEffect, textureEffect)\n\n composer.addPass(normalPass)\n composer.addPass(depthDownsamplingPass)\n composer.addPass(effectPass)\n\n useComposerFrame(() => {\n composer.render()\n })\n}"],"mappings":"AAAA,SAAsDA,GAAG,QAAQ,eAAe;AAChF,SAASC,aAAa,EAAEC,qBAAqB,EAAEC,iBAAiB,EAAEC,cAAc,EAAEC,UAAU,EAAEC,UAAU,EAAEC,eAAe,EAAEC,UAAU,EAAEC,UAAU,EAAEC,UAAU,EAAEC,UAAU,EAAEC,aAAa,QAAQ,gBAAgB;AAEhN,IAAQC,gBAAgB,GAAKb,GAAG,CAAxBa,gBAAgB;AAExB,OAAO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC5BC,KAAY,EACZC,QAAuB,EACvBC,MAAc,EACX;EACH,IAAMC,QAAQ,GAAG,IAAId,cAAc,CAACY,QAAQ,CAAC;EAC7CE,QAAQ,CAACC,OAAO,CAAC,IAAIX,UAAU,CAACO,KAAK,EAAEE,MAAM,CAAC,CAAC;EAE/C,IAAMG,UAAU,GAAG,IAAId,UAAU,CAACS,KAAK,EAAEE,MAAM,CAAC;EAChD,IAAMI,qBAAqB,GAAG,IAAInB,qBAAqB,CAAC;IACtDoB,YAAY,EAAEF,UAAU,CAACG,OAAO;IAChCC,eAAe,EAAE;EACnB,CAAC,CAAC;EAEF,IAAMC,iBAAiB,GAAGJ,qBAAqB,CAACE,OAAO;EAEvD,IAAMG,UAAU,GAAG,IAAIjB,UAAU,CAAC;IAChCkB,MAAM,EAAEjB,UAAU,CAACkB,MAAM;IACzBC,iBAAiB,EAAE1B,iBAAiB,CAAC2B,KAAK;IAC1CC,eAAe,EAAExB,eAAe,CAACyB;EACnC,CAAC,CAAC;EAEFN,UAAU,CAACO,qBAAqB,CAACC,yBAAyB,CAAC,IAAI,CAAC;EAEhE,IAAMC,UAAU,GAAG,IAAIxB,UAAU,CAACM,MAAM,EAAEG,UAAU,CAACG,OAAO,EAAE;IAC5Da,aAAa,EAAEnC,aAAa,CAACoC,QAAQ;IACrCC,eAAe,EAAE,IAAI;IACrBC,oBAAoB,EAAE,IAAI;IAC1Bd,iBAAiB,EAAjBA,iBAAiB;IACjBe,OAAO,EAAE,CAAC;IACVC,KAAK,EAAE,CAAC;IACRC,iBAAiB,EAAE,IAAI;IAAE;IACzBC,eAAe,EAAE,MAAM;IAAE;IACzBC,cAAc,EAAE,MAAM;IAAE;IACxBC,YAAY,EAAE,MAAM;IAAE;IACtBC,kBAAkB,EAAE,GAAG;IACvBC,cAAc,EAAE,IAAI;IACpBC,MAAM,EAAE,GAAG;IACXC,SAAS,EAAE,IAAI;IACfC,IAAI,EAAE,KAAK;IACXC,IAAI,EAAE,IAAI;IACVC,KAAK,EAAE,IAAI;IACX5B,eAAe,EAAE;EACnB,CAAC,CAAC;EAEF,IAAM6B,aAAa,GAAG,IAAIzC,aAAa,CAAC;IACtCwB,aAAa,EAAEnC,aAAa,CAACqD,IAAI;IACjC/B,OAAO,EAAEF,qBAAqB,CAACE;EACjC,CAAC,CAAC;EAEF,IAAMgC,UAAU,GAAG,IAAIlD,UAAU,CAACY,MAAM,EAAES,UAAU,EAAES,UAAU,EAAEkB,aAAa,CAAC;EAEhFnC,QAAQ,CAACC,OAAO,CAACC,UAAU,CAAC;EAC5BF,QAAQ,CAACC,OAAO,CAACE,qBAAqB,CAAC;EACvCH,QAAQ,CAACC,OAAO,CAACoC,UAAU,CAAC;EAE5B1C,gBAAgB,CAAC,YAAM;IACrBK,QAAQ,CAACsC,MAAM,CAAC,CAAC;EACnB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"names":["use","BlendFunction","DepthDownsamplingPass","EdgeDetectionMode","EffectComposer","EffectPass","NormalPass","PredicationMode","RenderPass","SMAAEffect","SMAAPreset","SSAOEffect","TextureEffect","useComposerFrame","initPostEffectsV2","scene","renderer","camera","composer","addPass","normalPass","depthDownsamplingPass","normalBuffer","texture","resolutionScale","normalDepthBuffer","smaaEffect","preset","MEDIUM","edgeDetectionMode","COLOR","predicationMode","DEPTH","edgeDetectionMaterial","setEdgeDetectionThreshold","ssaoEffect","blendFunction","MULTIPLY","distanceScaling","depthAwareUpsampling","samples","rings","distanceThreshold","distanceFalloff","rangeThreshold","rangeFalloff","luminanceInfluence","minRadiusScale","radius","intensity","bias","fade","color","textureEffect","SKIP","effectPass","render"],"sources":["../../../src/core/PostEffects/postprocessing.ts"],"sourcesContent":["import { type Camera, type Scene, type WebGLRenderer, use } from '@anov/3d-core'\nimport { BlendFunction, DepthDownsamplingPass, EdgeDetectionMode, EffectComposer, EffectPass, NormalPass, PredicationMode, RenderPass, SMAAEffect, SMAAPreset, SSAOEffect, TextureEffect } from 'postprocessing'\n\nconst { useComposerFrame } = use\n\nexport const initPostEffectsV2 = (\n scene: Scene,\n renderer: WebGLRenderer,\n camera: Camera,\n) => {\n const composer = new EffectComposer(renderer)\n composer.addPass(new RenderPass(scene, camera))\n\n const normalPass = new NormalPass(scene, camera)\n const depthDownsamplingPass = new DepthDownsamplingPass({\n normalBuffer: normalPass.texture,\n resolutionScale: 0.5,\n })\n\n const normalDepthBuffer = depthDownsamplingPass.texture\n\n const smaaEffect = new SMAAEffect({\n preset: SMAAPreset.MEDIUM,\n edgeDetectionMode: EdgeDetectionMode.COLOR,\n predicationMode: PredicationMode.DEPTH,\n })\n\n smaaEffect.edgeDetectionMaterial.setEdgeDetectionThreshold(0.01)\n\n const ssaoEffect = new SSAOEffect(camera, normalPass.texture, {\n blendFunction: BlendFunction.MULTIPLY,\n distanceScaling: true,\n depthAwareUpsampling: true,\n normalDepthBuffer,\n samples: 9,\n rings: 7,\n distanceThreshold: 0.02, // Render up to a distance of ~20 world units\n distanceFalloff: 0.0025, // with an additional ~2.5 units of falloff.\n rangeThreshold: 0.0003, // Occlusion proximity of ~0.3 world units\n rangeFalloff: 0.0001, // with ~0.1 units of falloff.\n luminanceInfluence: 0.7,\n minRadiusScale: 0.33,\n radius: 0.1,\n intensity: 1.33,\n bias: 0.025,\n fade: 0.01,\n color: null,\n resolutionScale: 0.5,\n })\n\n const textureEffect = new TextureEffect({\n blendFunction: BlendFunction.SKIP,\n texture: depthDownsamplingPass.texture,\n })\n\n const effectPass = new EffectPass(camera, smaaEffect, ssaoEffect, textureEffect)\n\n composer.addPass(normalPass)\n composer.addPass(depthDownsamplingPass)\n composer.addPass(effectPass)\n\n useComposerFrame(() => {\n composer.render()\n })\n}"],"mappings":"AAAA,SAAsDA,GAAG,QAAQ,eAAe;AAChF,SAASC,aAAa,EAAEC,qBAAqB,EAAEC,iBAAiB,EAAEC,cAAc,EAAEC,UAAU,EAAEC,UAAU,EAAEC,eAAe,EAAEC,UAAU,EAAEC,UAAU,EAAEC,UAAU,EAAEC,UAAU,EAAEC,aAAa,QAAQ,gBAAgB;AAEhN,MAAM;EAAEC;AAAiB,CAAC,GAAGb,GAAG;AAEhC,OAAO,MAAMc,iBAAiB,GAAGA,CAC/BC,KAAY,EACZC,QAAuB,EACvBC,MAAc,KACX;EACH,MAAMC,QAAQ,GAAG,IAAId,cAAc,CAACY,QAAQ,CAAC;EAC7CE,QAAQ,CAACC,OAAO,CAAC,IAAIX,UAAU,CAACO,KAAK,EAAEE,MAAM,CAAC,CAAC;EAE/C,MAAMG,UAAU,GAAG,IAAId,UAAU,CAACS,KAAK,EAAEE,MAAM,CAAC;EAChD,MAAMI,qBAAqB,GAAG,IAAInB,qBAAqB,CAAC;IACtDoB,YAAY,EAAEF,UAAU,CAACG,OAAO;IAChCC,eAAe,EAAE;EACnB,CAAC,CAAC;EAEF,MAAMC,iBAAiB,GAAGJ,qBAAqB,CAACE,OAAO;EAEvD,MAAMG,UAAU,GAAG,IAAIjB,UAAU,CAAC;IAChCkB,MAAM,EAAEjB,UAAU,CAACkB,MAAM;IACzBC,iBAAiB,EAAE1B,iBAAiB,CAAC2B,KAAK;IAC1CC,eAAe,EAAExB,eAAe,CAACyB;EACnC,CAAC,CAAC;EAEFN,UAAU,CAACO,qBAAqB,CAACC,yBAAyB,CAAC,IAAI,CAAC;EAEhE,MAAMC,UAAU,GAAG,IAAIxB,UAAU,CAACM,MAAM,EAAEG,UAAU,CAACG,OAAO,EAAE;IAC5Da,aAAa,EAAEnC,aAAa,CAACoC,QAAQ;IACrCC,eAAe,EAAE,IAAI;IACrBC,oBAAoB,EAAE,IAAI;IAC1Bd,iBAAiB;IACjBe,OAAO,EAAE,CAAC;IACVC,KAAK,EAAE,CAAC;IACRC,iBAAiB,EAAE,IAAI;IAAE;IACzBC,eAAe,EAAE,MAAM;IAAE;IACzBC,cAAc,EAAE,MAAM;IAAE;IACxBC,YAAY,EAAE,MAAM;IAAE;IACtBC,kBAAkB,EAAE,GAAG;IACvBC,cAAc,EAAE,IAAI;IACpBC,MAAM,EAAE,GAAG;IACXC,SAAS,EAAE,IAAI;IACfC,IAAI,EAAE,KAAK;IACXC,IAAI,EAAE,IAAI;IACVC,KAAK,EAAE,IAAI;IACX5B,eAAe,EAAE;EACnB,CAAC,CAAC;EAEF,MAAM6B,aAAa,GAAG,IAAIzC,aAAa,CAAC;IACtCwB,aAAa,EAAEnC,aAAa,CAACqD,IAAI;IACjC/B,OAAO,EAAEF,qBAAqB,CAACE;EACjC,CAAC,CAAC;EAEF,MAAMgC,UAAU,GAAG,IAAIlD,UAAU,CAACY,MAAM,EAAES,UAAU,EAAES,UAAU,EAAEkB,aAAa,CAAC;EAEhFnC,QAAQ,CAACC,OAAO,CAACC,UAAU,CAAC;EAC5BF,QAAQ,CAACC,OAAO,CAACE,qBAAqB,CAAC;EACvCH,QAAQ,CAACC,OAAO,CAACoC,UAAU,CAAC;EAE5B1C,gBAAgB,CAAC,MAAM;IACrBK,QAAQ,CAACsC,MAAM,CAAC,CAAC;EACnB,CAAC,CAAC;AACJ,CAAC"}
@@ -1,23 +1,28 @@
1
1
  import { OutputPass, lib, use, utils } from '@anov/3d-core';
2
- var storeManagement = utils.storeManagement;
3
- var SAOPass = lib.SAOPass;
2
+ const {
3
+ storeManagement
4
+ } = utils;
5
+ const {
6
+ SAOPass
7
+ } = lib;
4
8
 
5
9
  /**
6
10
  * add ssao 环境光遮蔽
7
11
  * @returns
8
12
  */
9
- var addSAOPass = function addSAOPass() {
10
- var _use$useScene = use.useScene(),
11
- scene = _use$useScene.scene,
12
- camera = _use$useScene.camera;
13
- var composer = storeManagement.get('composer');
13
+ const addSAOPass = () => {
14
+ const {
15
+ scene,
16
+ camera
17
+ } = use.useScene();
18
+ const composer = storeManagement.get('composer');
14
19
  if (!scene || !camera) throw new Error('scene or camera is not defined,');
15
20
  if (!composer) throw new Error('composer is not defined, please initPostEffects first');
16
- var saoPass = new SAOPass(scene, camera);
21
+ const saoPass = new SAOPass(scene, camera);
17
22
  composer.addPass(saoPass);
18
- var outputPass = new OutputPass();
23
+ const outputPass = new OutputPass();
19
24
  composer.addPass(outputPass);
20
- return function () {
25
+ return () => {
21
26
  composer.removePass(saoPass);
22
27
  composer.removePass(outputPass);
23
28
  };
@@ -1 +1 @@
1
- {"version":3,"names":["OutputPass","lib","use","utils","storeManagement","SAOPass","addSAOPass","_use$useScene","useScene","scene","camera","composer","get","Error","saoPass","addPass","outputPass","removePass"],"sources":["../../../src/core/PostEffects/saoPass.ts"],"sourcesContent":["import { OutputPass, lib, use, utils } from '@anov/3d-core'\n\nconst { storeManagement } = utils\nconst { SAOPass } = lib\n\n/**\n * add ssao 环境光遮蔽\n * @returns\n */\nconst addSAOPass = () => {\n const { scene, camera } = use.useScene()\n const composer = storeManagement.get('composer') as lib.EffectComposer | undefined\n\n if (!scene || !camera)\n throw new Error('scene or camera is not defined,')\n\n if (!composer)\n throw new Error('composer is not defined, please initPostEffects first')\n\n const saoPass = new SAOPass(scene, camera)\n composer.addPass(saoPass)\n\n const outputPass = new OutputPass()\n composer.addPass(outputPass)\n\n return () => {\n composer.removePass(saoPass)\n composer.removePass(outputPass)\n }\n}\n\nexport default addSAOPass\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,GAAG,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AAE3D,IAAQC,eAAe,GAAKD,KAAK,CAAzBC,eAAe;AACvB,IAAQC,OAAO,GAAKJ,GAAG,CAAfI,OAAO;;AAEf;AACA;AACA;AACA;AACA,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAA,EAAS;EACvB,IAAAC,aAAA,GAA0BL,GAAG,CAACM,QAAQ,CAAC,CAAC;IAAhCC,KAAK,GAAAF,aAAA,CAALE,KAAK;IAAEC,MAAM,GAAAH,aAAA,CAANG,MAAM;EACrB,IAAMC,QAAQ,GAAGP,eAAe,CAACQ,GAAG,CAAC,UAAU,CAAmC;EAElF,IAAI,CAACH,KAAK,IAAI,CAACC,MAAM,EACnB,MAAM,IAAIG,KAAK,CAAC,iCAAiC,CAAC;EAEpD,IAAI,CAACF,QAAQ,EACX,MAAM,IAAIE,KAAK,CAAC,uDAAuD,CAAC;EAE1E,IAAMC,OAAO,GAAG,IAAIT,OAAO,CAACI,KAAK,EAAEC,MAAM,CAAC;EAC1CC,QAAQ,CAACI,OAAO,CAACD,OAAO,CAAC;EAEzB,IAAME,UAAU,GAAG,IAAIhB,UAAU,CAAC,CAAC;EACnCW,QAAQ,CAACI,OAAO,CAACC,UAAU,CAAC;EAE5B,OAAO,YAAM;IACXL,QAAQ,CAACM,UAAU,CAACH,OAAO,CAAC;IAC5BH,QAAQ,CAACM,UAAU,CAACD,UAAU,CAAC;EACjC,CAAC;AACH,CAAC;AAED,eAAeV,UAAU"}
1
+ {"version":3,"names":["OutputPass","lib","use","utils","storeManagement","SAOPass","addSAOPass","scene","camera","useScene","composer","get","Error","saoPass","addPass","outputPass","removePass"],"sources":["../../../src/core/PostEffects/saoPass.ts"],"sourcesContent":["import { OutputPass, lib, use, utils } from '@anov/3d-core'\n\nconst { storeManagement } = utils\nconst { SAOPass } = lib\n\n/**\n * add ssao 环境光遮蔽\n * @returns\n */\nconst addSAOPass = () => {\n const { scene, camera } = use.useScene()\n const composer = storeManagement.get('composer') as lib.EffectComposer | undefined\n\n if (!scene || !camera)\n throw new Error('scene or camera is not defined,')\n\n if (!composer)\n throw new Error('composer is not defined, please initPostEffects first')\n\n const saoPass = new SAOPass(scene, camera)\n composer.addPass(saoPass)\n\n const outputPass = new OutputPass()\n composer.addPass(outputPass)\n\n return () => {\n composer.removePass(saoPass)\n composer.removePass(outputPass)\n }\n}\n\nexport default addSAOPass\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,GAAG,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AAE3D,MAAM;EAAEC;AAAgB,CAAC,GAAGD,KAAK;AACjC,MAAM;EAAEE;AAAQ,CAAC,GAAGJ,GAAG;;AAEvB;AACA;AACA;AACA;AACA,MAAMK,UAAU,GAAGA,CAAA,KAAM;EACvB,MAAM;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGN,GAAG,CAACO,QAAQ,CAAC,CAAC;EACxC,MAAMC,QAAQ,GAAGN,eAAe,CAACO,GAAG,CAAC,UAAU,CAAmC;EAElF,IAAI,CAACJ,KAAK,IAAI,CAACC,MAAM,EACnB,MAAM,IAAII,KAAK,CAAC,iCAAiC,CAAC;EAEpD,IAAI,CAACF,QAAQ,EACX,MAAM,IAAIE,KAAK,CAAC,uDAAuD,CAAC;EAE1E,MAAMC,OAAO,GAAG,IAAIR,OAAO,CAACE,KAAK,EAAEC,MAAM,CAAC;EAC1CE,QAAQ,CAACI,OAAO,CAACD,OAAO,CAAC;EAEzB,MAAME,UAAU,GAAG,IAAIf,UAAU,CAAC,CAAC;EACnCU,QAAQ,CAACI,OAAO,CAACC,UAAU,CAAC;EAE5B,OAAO,MAAM;IACXL,QAAQ,CAACM,UAAU,CAACH,OAAO,CAAC;IAC5BH,QAAQ,CAACM,UAAU,CAACD,UAAU,CAAC;EACjC,CAAC;AACH,CAAC;AAED,eAAeT,UAAU"}
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable no-tabs */
2
2
  import { Color } from '@anov/3d-core';
3
- var ColorifyShader = {
3
+ const ColorifyShader = {
4
4
  uniforms: {
5
5
  tDiffuse: {
6
6
  value: null
@@ -12,8 +12,27 @@ var ColorifyShader = {
12
12
  value: 1.0
13
13
  }
14
14
  },
15
- vertexShader: /* glsl */"\n\t varying vec2 vUv;\n\t\tvoid main() {\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\t\t}",
16
- fragmentShader: /* glsl */"\n\t\tuniform vec3 color;\n\t\tuniform sampler2D tDiffuse;\n uniform float alpha;\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\t\t\tvec4 texel = texture2D( tDiffuse, vUv );\n\t\t\tvec3 luma = vec3( 0.299, 0.587, 0.114 );\n\t\t\tfloat v = dot( texel.xyz, luma );\n\t\t\tgl_FragColor = vec4( v * color, texel.w );\n gl_FragColor = mix( texel, gl_FragColor, alpha );\n\n\t\t}"
15
+ vertexShader: /* glsl */`
16
+ varying vec2 vUv;
17
+ void main() {
18
+ vUv = uv;
19
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
20
+ }`,
21
+ fragmentShader: /* glsl */`
22
+ uniform vec3 color;
23
+ uniform sampler2D tDiffuse;
24
+ uniform float alpha;
25
+
26
+ varying vec2 vUv;
27
+
28
+ void main() {
29
+ vec4 texel = texture2D( tDiffuse, vUv );
30
+ vec3 luma = vec3( 0.299, 0.587, 0.114 );
31
+ float v = dot( texel.xyz, luma );
32
+ gl_FragColor = vec4( v * color, texel.w );
33
+ gl_FragColor = mix( texel, gl_FragColor, alpha );
34
+
35
+ }`
17
36
  };
18
37
  export default ColorifyShader;
19
38
  //# sourceMappingURL=colorify.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Color","ColorifyShader","uniforms","tDiffuse","value","color","alpha","vertexShader","fragmentShader"],"sources":["../../../../src/core/PostEffects/shader/colorify.ts"],"sourcesContent":["/* eslint-disable no-tabs */\nimport { Color } from '@anov/3d-core'\n\nconst ColorifyShader = {\n uniforms: {\n tDiffuse: { value: null },\n color: { value: new Color(0xFFFFFF) },\n alpha: { value: 1.0 },\n\n },\n\n vertexShader: /* glsl */`\n\t varying vec2 vUv;\n\t\tvoid main() {\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\t\t}`,\n\n fragmentShader: /* glsl */`\n\t\tuniform vec3 color;\n\t\tuniform sampler2D tDiffuse;\n uniform float alpha;\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\t\t\tvec4 texel = texture2D( tDiffuse, vUv );\n\t\t\tvec3 luma = vec3( 0.299, 0.587, 0.114 );\n\t\t\tfloat v = dot( texel.xyz, luma );\n\t\t\tgl_FragColor = vec4( v * color, texel.w );\n gl_FragColor = mix( texel, gl_FragColor, alpha );\n\n\t\t}`,\n}\n\nexport default ColorifyShader"],"mappings":"AAAA;AACA,SAASA,KAAK,QAAQ,eAAe;AAErC,IAAMC,cAAc,GAAG;EACrBC,QAAQ,EAAE;IACRC,QAAQ,EAAE;MAAEC,KAAK,EAAE;IAAK,CAAC;IACzBC,KAAK,EAAE;MAAED,KAAK,EAAE,IAAIJ,KAAK,CAAC,QAAQ;IAAE,CAAC;IACrCM,KAAK,EAAE;MAAEF,KAAK,EAAE;IAAI;EAEtB,CAAC;EAEDG,YAAY,EAAE,iKAKZ;EAEFC,cAAc,EAAE;AAelB,CAAC;AAED,eAAeP,cAAc"}
1
+ {"version":3,"names":["Color","ColorifyShader","uniforms","tDiffuse","value","color","alpha","vertexShader","fragmentShader"],"sources":["../../../../src/core/PostEffects/shader/colorify.ts"],"sourcesContent":["/* eslint-disable no-tabs */\nimport { Color } from '@anov/3d-core'\n\nconst ColorifyShader = {\n uniforms: {\n tDiffuse: { value: null },\n color: { value: new Color(0xFFFFFF) },\n alpha: { value: 1.0 },\n\n },\n\n vertexShader: /* glsl */`\n\t varying vec2 vUv;\n\t\tvoid main() {\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\t\t}`,\n\n fragmentShader: /* glsl */`\n\t\tuniform vec3 color;\n\t\tuniform sampler2D tDiffuse;\n uniform float alpha;\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\t\t\tvec4 texel = texture2D( tDiffuse, vUv );\n\t\t\tvec3 luma = vec3( 0.299, 0.587, 0.114 );\n\t\t\tfloat v = dot( texel.xyz, luma );\n\t\t\tgl_FragColor = vec4( v * color, texel.w );\n gl_FragColor = mix( texel, gl_FragColor, alpha );\n\n\t\t}`,\n}\n\nexport default ColorifyShader"],"mappings":"AAAA;AACA,SAASA,KAAK,QAAQ,eAAe;AAErC,MAAMC,cAAc,GAAG;EACrBC,QAAQ,EAAE;IACRC,QAAQ,EAAE;MAAEC,KAAK,EAAE;IAAK,CAAC;IACzBC,KAAK,EAAE;MAAED,KAAK,EAAE,IAAIJ,KAAK,CAAC,QAAQ;IAAE,CAAC;IACrCM,KAAK,EAAE;MAAEF,KAAK,EAAE;IAAI;EAEtB,CAAC;EAEDG,YAAY,EAAE,UAAW;AAC3B;AACA;AACA;AACA;AACA,IAAI;EAEFC,cAAc,EAAE,UAAW;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,eAAeP,cAAc"}
@@ -4,15 +4,39 @@
4
4
  * http://en.wikipedia.org/wiki/gamma_correction
5
5
  */
6
6
 
7
- var GammaCorrectionShader = {
7
+ const GammaCorrectionShader = {
8
8
  name: 'GammaCorrectionShader',
9
9
  uniforms: {
10
10
  tDiffuse: {
11
11
  value: null
12
12
  }
13
13
  },
14
- vertexShader: /* glsl */"\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}",
15
- fragmentShader: /* glsl */"\n\n\t\tuniform sampler2D tDiffuse;\n\n\t\tvarying vec2 vUv;\n\n vec4 sRGBTransferOETF1( in vec4 value ) {\n return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.03 - vec3( 0.03 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n }\n\t\tvoid main() {\n\n\t\t\tvec4 tex = texture2D( tDiffuse, vUv );\n\n\t\t\tgl_FragColor = sRGBTransferOETF1( tex );\n\n\t\t}"
14
+ vertexShader: /* glsl */`
15
+
16
+ varying vec2 vUv;
17
+
18
+ void main() {
19
+
20
+ vUv = uv;
21
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
22
+
23
+ }`,
24
+ fragmentShader: /* glsl */`
25
+
26
+ uniform sampler2D tDiffuse;
27
+
28
+ varying vec2 vUv;
29
+
30
+ vec4 sRGBTransferOETF1( in vec4 value ) {
31
+ return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.03 - vec3( 0.03 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );
32
+ }
33
+ void main() {
34
+
35
+ vec4 tex = texture2D( tDiffuse, vUv );
36
+
37
+ gl_FragColor = sRGBTransferOETF1( tex );
38
+
39
+ }`
16
40
  };
17
41
  export default GammaCorrectionShader;
18
42
  //# sourceMappingURL=gammaCorrectionShader.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["GammaCorrectionShader","name","uniforms","tDiffuse","value","vertexShader","fragmentShader"],"sources":["../../../../src/core/PostEffects/shader/gammaCorrectionShader.ts"],"sourcesContent":["/* eslint-disable no-tabs */\n/**\n * Gamma Correction Shader\n * http://en.wikipedia.org/wiki/gamma_correction\n */\n\nconst GammaCorrectionShader = {\n\n name: 'GammaCorrectionShader',\n\n uniforms: {\n\n tDiffuse: { value: null },\n\n },\n\n vertexShader: /* glsl */`\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}`,\n\n fragmentShader: /* glsl */`\n\n\t\tuniform sampler2D tDiffuse;\n\n\t\tvarying vec2 vUv;\n\n vec4 sRGBTransferOETF1( in vec4 value ) {\n return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.03 - vec3( 0.03 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n }\n\t\tvoid main() {\n\n\t\t\tvec4 tex = texture2D( tDiffuse, vUv );\n\n\t\t\tgl_FragColor = sRGBTransferOETF1( tex );\n\n\t\t}`,\n\n}\n\nexport default GammaCorrectionShader\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAEA,IAAMA,qBAAqB,GAAG;EAE5BC,IAAI,EAAE,uBAAuB;EAE7BC,QAAQ,EAAE;IAERC,QAAQ,EAAE;MAAEC,KAAK,EAAE;IAAK;EAE1B,CAAC;EAEDC,YAAY,EAAE,uKASZ;EAEFC,cAAc,EAAE;AAiBlB,CAAC;AAED,eAAeN,qBAAqB"}
1
+ {"version":3,"names":["GammaCorrectionShader","name","uniforms","tDiffuse","value","vertexShader","fragmentShader"],"sources":["../../../../src/core/PostEffects/shader/gammaCorrectionShader.ts"],"sourcesContent":["/* eslint-disable no-tabs */\n/**\n * Gamma Correction Shader\n * http://en.wikipedia.org/wiki/gamma_correction\n */\n\nconst GammaCorrectionShader = {\n\n name: 'GammaCorrectionShader',\n\n uniforms: {\n\n tDiffuse: { value: null },\n\n },\n\n vertexShader: /* glsl */`\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}`,\n\n fragmentShader: /* glsl */`\n\n\t\tuniform sampler2D tDiffuse;\n\n\t\tvarying vec2 vUv;\n\n vec4 sRGBTransferOETF1( in vec4 value ) {\n return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.03 - vec3( 0.03 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n }\n\t\tvoid main() {\n\n\t\t\tvec4 tex = texture2D( tDiffuse, vUv );\n\n\t\t\tgl_FragColor = sRGBTransferOETF1( tex );\n\n\t\t}`,\n\n}\n\nexport default GammaCorrectionShader\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,qBAAqB,GAAG;EAE5BC,IAAI,EAAE,uBAAuB;EAE7BC,QAAQ,EAAE;IAERC,QAAQ,EAAE;MAAEC,KAAK,EAAE;IAAK;EAE1B,CAAC;EAEDC,YAAY,EAAE,UAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;EAEFC,cAAc,EAAE,UAAW;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,CAAC;AAED,eAAeN,qBAAqB"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
 
7
7
  /* eslint-disable no-tabs */
8
- var ACESFilmicToneMappingShader = {
8
+ const ACESFilmicToneMappingShader = {
9
9
  name: 'ACESFilmicToneMappingShader',
10
10
  uniforms: {
11
11
  tDiffuse: {
@@ -15,8 +15,71 @@ var ACESFilmicToneMappingShader = {
15
15
  value: 1.0
16
16
  }
17
17
  },
18
- vertexShader: /* glsl */"\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}",
19
- fragmentShader: /* glsl */"\n\n\t\t#define saturate(a) clamp( a, 0.0, 1.0 )\n\n\t\tuniform sampler2D tDiffuse;\n\n\t\tuniform float exposure;\n\n\t\tvarying vec2 vUv;\n\n\t\t// vec3 RRTAndODTFit( vec3 v ) {\n\n\t\t// \tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\t\t// \tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\t\t// \treturn a / b;\n\n\t\t// }\n\n\t\t// vec3 ACESFilmicToneMapping( vec3 color ) {\n\n\t\t// // sRGB => XYZ => D65_2_D60 => AP1 => RRT_SAT\n\t\t// \tconst mat3 ACESInputMat = mat3(\n\t\t// \t\tvec3( 0.59719, 0.07600, 0.02840 ), // transposed from source\n\t\t// \t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\t// \t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t\t// \t);\n\n\t\t// // ODT_SAT => XYZ => D60_2_D65 => sRGB\n\t\t// \tconst mat3 ACESOutputMat = mat3(\n\t\t// \t\tvec3( 1.60475, -0.10208, -0.00327 ), // transposed from source\n\t\t// \t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\t// \t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t\t// \t);\n\n\t\t// \tcolor = ACESInputMat * color;\n\n\t\t// // Apply RRT and ODT\n\t\t// \tcolor = RRTAndODTFit( color );\n\n\t\t// \tcolor = ACESOutputMat * color;\n\n\t\t// // Clamp to [0, 1]\n\t\t// \treturn saturate( color );\n\n\t\t// }\n\n\t\tvoid main() {\n\n\t\t\tvec4 tex = texture2D( tDiffuse, vUv );\n\n\t\t\ttex.rgb *= exposure / 0.6; // pre-exposed, outside of the tone mapping function\n\n\t\t\tgl_FragColor = vec4( ACESFilmicToneMapping( tex.rgb ), tex.a );\n\n\t\t}"
18
+ vertexShader: /* glsl */`
19
+
20
+ varying vec2 vUv;
21
+
22
+ void main() {
23
+
24
+ vUv = uv;
25
+ gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
26
+
27
+ }`,
28
+ fragmentShader: /* glsl */`
29
+
30
+ #define saturate(a) clamp( a, 0.0, 1.0 )
31
+
32
+ uniform sampler2D tDiffuse;
33
+
34
+ uniform float exposure;
35
+
36
+ varying vec2 vUv;
37
+
38
+ // vec3 RRTAndODTFit( vec3 v ) {
39
+
40
+ // vec3 a = v * ( v + 0.0245786 ) - 0.000090537;
41
+ // vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;
42
+ // return a / b;
43
+
44
+ // }
45
+
46
+ // vec3 ACESFilmicToneMapping( vec3 color ) {
47
+
48
+ // // sRGB => XYZ => D65_2_D60 => AP1 => RRT_SAT
49
+ // const mat3 ACESInputMat = mat3(
50
+ // vec3( 0.59719, 0.07600, 0.02840 ), // transposed from source
51
+ // vec3( 0.35458, 0.90834, 0.13383 ),
52
+ // vec3( 0.04823, 0.01566, 0.83777 )
53
+ // );
54
+
55
+ // // ODT_SAT => XYZ => D60_2_D65 => sRGB
56
+ // const mat3 ACESOutputMat = mat3(
57
+ // vec3( 1.60475, -0.10208, -0.00327 ), // transposed from source
58
+ // vec3( -0.53108, 1.10813, -0.07276 ),
59
+ // vec3( -0.07367, -0.00605, 1.07602 )
60
+ // );
61
+
62
+ // color = ACESInputMat * color;
63
+
64
+ // // Apply RRT and ODT
65
+ // color = RRTAndODTFit( color );
66
+
67
+ // color = ACESOutputMat * color;
68
+
69
+ // // Clamp to [0, 1]
70
+ // return saturate( color );
71
+
72
+ // }
73
+
74
+ void main() {
75
+
76
+ vec4 tex = texture2D( tDiffuse, vUv );
77
+
78
+ tex.rgb *= exposure / 0.6; // pre-exposed, outside of the tone mapping function
79
+
80
+ gl_FragColor = vec4( ACESFilmicToneMapping( tex.rgb ), tex.a );
81
+
82
+ }`
20
83
  };
21
84
  export default ACESFilmicToneMappingShader;
22
85
  //# sourceMappingURL=mapping.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ACESFilmicToneMappingShader","name","uniforms","tDiffuse","value","exposure","vertexShader","fragmentShader"],"sources":["../../../../src/core/PostEffects/shader/mapping.ts"],"sourcesContent":["/**\n *\n * ACES Filmic Tone Mapping Shader by Stephen Hill\n * source: https://github.com/mrdoob/three.js/blob/3bffaf229d9646a61b9c7087d255c2360d1d2856/examples/jsm/shaders/ACESFilmicToneMappingShader.js\n */\n\n/* eslint-disable no-tabs */\nconst ACESFilmicToneMappingShader = {\n\n name: 'ACESFilmicToneMappingShader',\n\n uniforms: {\n\n tDiffuse: { value: null },\n exposure: { value: 1.0 },\n\n },\n\n vertexShader: /* glsl */`\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}`,\n\n fragmentShader: /* glsl */`\n\n\t\t#define saturate(a) clamp( a, 0.0, 1.0 )\n\n\t\tuniform sampler2D tDiffuse;\n\n\t\tuniform float exposure;\n\n\t\tvarying vec2 vUv;\n\n\t\t// vec3 RRTAndODTFit( vec3 v ) {\n\n\t\t// \tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\t\t// \tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\t\t// \treturn a / b;\n\n\t\t// }\n\n\t\t// vec3 ACESFilmicToneMapping( vec3 color ) {\n\n\t\t// // sRGB => XYZ => D65_2_D60 => AP1 => RRT_SAT\n\t\t// \tconst mat3 ACESInputMat = mat3(\n\t\t// \t\tvec3( 0.59719, 0.07600, 0.02840 ), // transposed from source\n\t\t// \t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\t// \t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t\t// \t);\n\n\t\t// // ODT_SAT => XYZ => D60_2_D65 => sRGB\n\t\t// \tconst mat3 ACESOutputMat = mat3(\n\t\t// \t\tvec3( 1.60475, -0.10208, -0.00327 ), // transposed from source\n\t\t// \t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\t// \t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t\t// \t);\n\n\t\t// \tcolor = ACESInputMat * color;\n\n\t\t// // Apply RRT and ODT\n\t\t// \tcolor = RRTAndODTFit( color );\n\n\t\t// \tcolor = ACESOutputMat * color;\n\n\t\t// // Clamp to [0, 1]\n\t\t// \treturn saturate( color );\n\n\t\t// }\n\n\t\tvoid main() {\n\n\t\t\tvec4 tex = texture2D( tDiffuse, vUv );\n\n\t\t\ttex.rgb *= exposure / 0.6; // pre-exposed, outside of the tone mapping function\n\n\t\t\tgl_FragColor = vec4( ACESFilmicToneMapping( tex.rgb ), tex.a );\n\n\t\t}`,\n\n}\n\nexport default ACESFilmicToneMappingShader"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAMA,2BAA2B,GAAG;EAElCC,IAAI,EAAE,6BAA6B;EAEnCC,QAAQ,EAAE;IAERC,QAAQ,EAAE;MAAEC,KAAK,EAAE;IAAK,CAAC;IACzBC,QAAQ,EAAE;MAAED,KAAK,EAAE;IAAI;EAEzB,CAAC;EAEDE,YAAY,EAAE,uKASZ;EAEFC,cAAc,EAAE;AAwDlB,CAAC;AAED,eAAeP,2BAA2B"}
1
+ {"version":3,"names":["ACESFilmicToneMappingShader","name","uniforms","tDiffuse","value","exposure","vertexShader","fragmentShader"],"sources":["../../../../src/core/PostEffects/shader/mapping.ts"],"sourcesContent":["/**\n *\n * ACES Filmic Tone Mapping Shader by Stephen Hill\n * source: https://github.com/mrdoob/three.js/blob/3bffaf229d9646a61b9c7087d255c2360d1d2856/examples/jsm/shaders/ACESFilmicToneMappingShader.js\n */\n\n/* eslint-disable no-tabs */\nconst ACESFilmicToneMappingShader = {\n\n name: 'ACESFilmicToneMappingShader',\n\n uniforms: {\n\n tDiffuse: { value: null },\n exposure: { value: 1.0 },\n\n },\n\n vertexShader: /* glsl */`\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}`,\n\n fragmentShader: /* glsl */`\n\n\t\t#define saturate(a) clamp( a, 0.0, 1.0 )\n\n\t\tuniform sampler2D tDiffuse;\n\n\t\tuniform float exposure;\n\n\t\tvarying vec2 vUv;\n\n\t\t// vec3 RRTAndODTFit( vec3 v ) {\n\n\t\t// \tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\t\t// \tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\t\t// \treturn a / b;\n\n\t\t// }\n\n\t\t// vec3 ACESFilmicToneMapping( vec3 color ) {\n\n\t\t// // sRGB => XYZ => D65_2_D60 => AP1 => RRT_SAT\n\t\t// \tconst mat3 ACESInputMat = mat3(\n\t\t// \t\tvec3( 0.59719, 0.07600, 0.02840 ), // transposed from source\n\t\t// \t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\t// \t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t\t// \t);\n\n\t\t// // ODT_SAT => XYZ => D60_2_D65 => sRGB\n\t\t// \tconst mat3 ACESOutputMat = mat3(\n\t\t// \t\tvec3( 1.60475, -0.10208, -0.00327 ), // transposed from source\n\t\t// \t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\t// \t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t\t// \t);\n\n\t\t// \tcolor = ACESInputMat * color;\n\n\t\t// // Apply RRT and ODT\n\t\t// \tcolor = RRTAndODTFit( color );\n\n\t\t// \tcolor = ACESOutputMat * color;\n\n\t\t// // Clamp to [0, 1]\n\t\t// \treturn saturate( color );\n\n\t\t// }\n\n\t\tvoid main() {\n\n\t\t\tvec4 tex = texture2D( tDiffuse, vUv );\n\n\t\t\ttex.rgb *= exposure / 0.6; // pre-exposed, outside of the tone mapping function\n\n\t\t\tgl_FragColor = vec4( ACESFilmicToneMapping( tex.rgb ), tex.a );\n\n\t\t}`,\n\n}\n\nexport default ACESFilmicToneMappingShader"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAMA,2BAA2B,GAAG;EAElCC,IAAI,EAAE,6BAA6B;EAEnCC,QAAQ,EAAE;IAERC,QAAQ,EAAE;MAAEC,KAAK,EAAE;IAAK,CAAC;IACzBC,QAAQ,EAAE;MAAED,KAAK,EAAE;IAAI;EAEzB,CAAC;EAEDE,YAAY,EAAE,UAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;EAEFC,cAAc,EAAE,UAAW;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,CAAC;AAED,eAAeP,2BAA2B"}
@@ -1,5 +1,5 @@
1
1
  import { Vector2, Vector3 } from '@anov/3d-core';
2
- var thermalMagingShader = {
2
+ const thermalMagingShader = {
3
3
  uniforms: {
4
4
  tDiffuse: {
5
5
  value: null
@@ -11,8 +11,33 @@ var thermalMagingShader = {
11
11
  value: [new Vector3(234.0, 51.0, 61.0), new Vector3(235.0, 70.0, 105.0), new Vector3(178.0, 119.0, 37.0), new Vector3(247.0, 206.0, 70.0), new Vector3(149.0, 232.0, 71.0), new Vector3(103.0, 200.0, 250.0), new Vector3(68.0, 132.0, 245.0), new Vector3(40.0, 3.0, 143.0), new Vector3(18.0, 5.0, 62.0)]
12
12
  }
13
13
  },
14
- vertexShader: /* glsl */"\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n ",
15
- fragmentShader: /* glsl */"\n uniform sampler2D tDiffuse;\n uniform vec3 colorLevels[9];\n varying vec2 vUv;\n\n void main() {\n vec4 color = texture2D(tDiffuse, vUv);\n\n color.rgb += vec3(1.0, 0.0, 0.5) * color.rgb * 0.2;\n\n float lum = dot(color.rgb, vec3(0.3, 0.59, 0.11));\n lum = 1.0 - lum;\n\n float d = 1.0 / 9.0;\n int i = int(lum / d);\n i = clamp(i, 0, 8);\n\n gl_FragColor = vec4(colorLevels[i] / 255.0, 1.0);\n }\n "
14
+ vertexShader: /* glsl */`
15
+ varying vec2 vUv;
16
+ void main() {
17
+ vUv = uv;
18
+ gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
19
+ }
20
+ `,
21
+ fragmentShader: /* glsl */`
22
+ uniform sampler2D tDiffuse;
23
+ uniform vec3 colorLevels[9];
24
+ varying vec2 vUv;
25
+
26
+ void main() {
27
+ vec4 color = texture2D(tDiffuse, vUv);
28
+
29
+ color.rgb += vec3(1.0, 0.0, 0.5) * color.rgb * 0.2;
30
+
31
+ float lum = dot(color.rgb, vec3(0.3, 0.59, 0.11));
32
+ lum = 1.0 - lum;
33
+
34
+ float d = 1.0 / 9.0;
35
+ int i = int(lum / d);
36
+ i = clamp(i, 0, 8);
37
+
38
+ gl_FragColor = vec4(colorLevels[i] / 255.0, 1.0);
39
+ }
40
+ `
16
41
  };
17
42
  export default thermalMagingShader;
18
43
  //# sourceMappingURL=thermalMaging.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Vector2","Vector3","thermalMagingShader","uniforms","tDiffuse","value","iResolution","colorLevels","vertexShader","fragmentShader"],"sources":["../../../../src/core/PostEffects/shader/thermalMaging.ts"],"sourcesContent":["import { Vector2, Vector3 } from '@anov/3d-core'\n\nconst thermalMagingShader = {\n uniforms: {\n tDiffuse: { value: null },\n iResolution: { value: new Vector2(1, 1) },\n colorLevels: { value: [new Vector3(234.0, 51.0, 61.0), new Vector3(235.0, 70.0, 105.0), new Vector3(178.0, 119.0, 37.0), new Vector3(247.0, 206.0, 70.0), new Vector3(149.0, 232.0, 71.0), new Vector3(103.0, 200.0, 250.0), new Vector3(68.0, 132.0, 245.0), new Vector3(40.0, 3.0, 143.0), new Vector3(18.0, 5.0, 62.0)] },\n },\n vertexShader: /* glsl */`\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n `,\n fragmentShader: /* glsl */`\n uniform sampler2D tDiffuse;\n uniform vec3 colorLevels[9];\n varying vec2 vUv;\n\n void main() {\n vec4 color = texture2D(tDiffuse, vUv);\n\n color.rgb += vec3(1.0, 0.0, 0.5) * color.rgb * 0.2;\n\n float lum = dot(color.rgb, vec3(0.3, 0.59, 0.11));\n lum = 1.0 - lum;\n\n float d = 1.0 / 9.0;\n int i = int(lum / d);\n i = clamp(i, 0, 8);\n\n gl_FragColor = vec4(colorLevels[i] / 255.0, 1.0);\n }\n `,\n}\n\nexport default thermalMagingShader\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,OAAO,QAAQ,eAAe;AAEhD,IAAMC,mBAAmB,GAAG;EAC1BC,QAAQ,EAAE;IACRC,QAAQ,EAAE;MAAEC,KAAK,EAAE;IAAK,CAAC;IACzBC,WAAW,EAAE;MAAED,KAAK,EAAE,IAAIL,OAAO,CAAC,CAAC,EAAE,CAAC;IAAE,CAAC;IACzCO,WAAW,EAAE;MAAEF,KAAK,EAAE,CAAC,IAAIJ,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAIA,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAIA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAIA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAIA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAIA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,IAAIA,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,IAAIA,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,IAAIA,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC;IAAE;EAC7T,CAAC;EACDO,YAAY,EAAE,2LAMX;EACHC,cAAc,EAAE;AAoBlB,CAAC;AAED,eAAeP,mBAAmB"}
1
+ {"version":3,"names":["Vector2","Vector3","thermalMagingShader","uniforms","tDiffuse","value","iResolution","colorLevels","vertexShader","fragmentShader"],"sources":["../../../../src/core/PostEffects/shader/thermalMaging.ts"],"sourcesContent":["import { Vector2, Vector3 } from '@anov/3d-core'\n\nconst thermalMagingShader = {\n uniforms: {\n tDiffuse: { value: null },\n iResolution: { value: new Vector2(1, 1) },\n colorLevels: { value: [new Vector3(234.0, 51.0, 61.0), new Vector3(235.0, 70.0, 105.0), new Vector3(178.0, 119.0, 37.0), new Vector3(247.0, 206.0, 70.0), new Vector3(149.0, 232.0, 71.0), new Vector3(103.0, 200.0, 250.0), new Vector3(68.0, 132.0, 245.0), new Vector3(40.0, 3.0, 143.0), new Vector3(18.0, 5.0, 62.0)] },\n },\n vertexShader: /* glsl */`\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n `,\n fragmentShader: /* glsl */`\n uniform sampler2D tDiffuse;\n uniform vec3 colorLevels[9];\n varying vec2 vUv;\n\n void main() {\n vec4 color = texture2D(tDiffuse, vUv);\n\n color.rgb += vec3(1.0, 0.0, 0.5) * color.rgb * 0.2;\n\n float lum = dot(color.rgb, vec3(0.3, 0.59, 0.11));\n lum = 1.0 - lum;\n\n float d = 1.0 / 9.0;\n int i = int(lum / d);\n i = clamp(i, 0, 8);\n\n gl_FragColor = vec4(colorLevels[i] / 255.0, 1.0);\n }\n `,\n}\n\nexport default thermalMagingShader\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,OAAO,QAAQ,eAAe;AAEhD,MAAMC,mBAAmB,GAAG;EAC1BC,QAAQ,EAAE;IACRC,QAAQ,EAAE;MAAEC,KAAK,EAAE;IAAK,CAAC;IACzBC,WAAW,EAAE;MAAED,KAAK,EAAE,IAAIL,OAAO,CAAC,CAAC,EAAE,CAAC;IAAE,CAAC;IACzCO,WAAW,EAAE;MAAEF,KAAK,EAAE,CAAC,IAAIJ,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAIA,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAIA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAIA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAIA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAIA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,IAAIA,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,IAAIA,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,IAAIA,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC;IAAE;EAC7T,CAAC;EACDO,YAAY,EAAE,UAAW;AAC3B;AACA;AACA;AACA;AACA;AACA,KAAK;EACHC,cAAc,EAAE,UAAW;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,eAAeP,mBAAmB"}
@@ -1,18 +1,13 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
4
  import { Box3, Object3D, Vector3, use } from '@anov/3d-core';
9
5
  import { EEaseType, ESceneGrowType } from "./type";
10
6
  import { GrowStyleDown, GrowStyleUp } from "./growStyle";
11
7
 
12
8
  // 生长动画对象
13
- export var Grow = /*#__PURE__*/function () {
14
- function Grow(opt) {
15
- _classCallCheck(this, Grow);
9
+ export class Grow {
10
+ constructor(opt) {
16
11
  _defineProperty(this, "objs", void 0);
17
12
  _defineProperty(this, "option", void 0);
18
13
  _defineProperty(this, "growStyle", void 0);
@@ -24,104 +19,93 @@ export var Grow = /*#__PURE__*/function () {
24
19
  }
25
20
 
26
21
  // 生长
27
- _createClass(Grow, [{
28
- key: "in",
29
- value: function _in(callback) {
30
- var _this = this;
31
- // 入场事件
32
- this.option.onGrowInStart && this.option.onGrowInStart();
33
- this.growStyle.getTimeLine().eventCallback('onComplete', function () {
34
- _this.option.onGrowInCompleted && _this.option.onGrowInCompleted();
35
- callback && callback();
36
- });
37
- this.growStyle.in();
38
- }
22
+ in(callback) {
23
+ // 入场事件
24
+ this.option.onGrowInStart && this.option.onGrowInStart();
25
+ this.growStyle.getTimeLine().eventCallback('onComplete', () => {
26
+ this.option.onGrowInCompleted && this.option.onGrowInCompleted();
27
+ callback && callback();
28
+ });
29
+ this.growStyle.in();
30
+ }
39
31
 
40
- // 消退
41
- }, {
42
- key: "out",
43
- value: function out(callback) {
44
- var _this2 = this;
45
- // 出场事件
46
- this.option.onGrowOutStart && this.option.onGrowOutStart();
47
- this.growStyle.getTimeLine().eventCallback('onReverseComplete', function () {
48
- _this2.option.onGrowOutCompleted && _this2.option.onGrowOutCompleted();
49
- callback && callback();
32
+ // 消退
33
+ out(callback) {
34
+ // 出场事件
35
+ this.option.onGrowOutStart && this.option.onGrowOutStart();
36
+ this.growStyle.getTimeLine().eventCallback('onReverseComplete', () => {
37
+ this.option.onGrowOutCompleted && this.option.onGrowOutCompleted();
38
+ callback && callback();
39
+ });
40
+ this.growStyle.out();
41
+ }
42
+
43
+ // 初始化
44
+ init(opt) {
45
+ this.option = {
46
+ tag: '*',
47
+ // 可选,进场对象Tag, 默认 "*" 所有可见MESH对象,
48
+ type: ESceneGrowType.Up,
49
+ // 可选,进场动画类型,默认 ESceneGrowType.Up向上生长
50
+ time: 0.5,
51
+ // 可选,单对象进场时间,默认0.5秒
52
+ gapTime: 0.2,
53
+ // 可选,多个对象之间间隔事件,默认0.2秒
54
+ ease: EEaseType.SineInOut,
55
+ // 可选,默认缓入缓出
56
+ center: null,
57
+ // 可选,生长中心位置,默认包围盒中心点
58
+ scale: 1,
59
+ // 可选,倍速,默认为1。
60
+ distance: 1000,
61
+ // 可选,初始化UP/DOWN起始距离,默认1000
62
+ isRotate: true,
63
+ // 可选,初始化UP/DOWN起始旋转角度,默认true
64
+ isScale: true // 可选,初始化UP/DOWN起始缩放大小,默认true
65
+ };
66
+ Object.assign(this.option, opt);
67
+ // ------- 1.初始化目标对象 --------
68
+ this.objs.length = 0;
69
+ // 获取所有对象
70
+ if (this.option.tag === '*') {
71
+ use.useScene().scene.traverseVisible(object => {
72
+ if (object instanceof Object3D) this.objs.push(object);
73
+ });
74
+ } else {
75
+ // 获取指定tag对象
76
+ use.useScene().scene.traverseVisible(object => {
77
+ if (object instanceof Object3D && object.userData.tag && Array.isArray(object.userData.tag) && object.userData.tag.includes(this.option.tag)) this.objs.push(object);
50
78
  });
51
- this.growStyle.out();
52
79
  }
53
80
 
54
- // 初始化
55
- }, {
56
- key: "init",
57
- value: function init(opt) {
58
- var _this3 = this;
59
- this.option = {
60
- tag: '*',
61
- // 可选,进场对象Tag, 默认 "*" 所有可见MESH对象,
62
- type: ESceneGrowType.Up,
63
- // 可选,进场动画类型,默认 ESceneGrowType.Up向上生长
64
- time: 0.5,
65
- // 可选,单对象进场时间,默认0.5秒
66
- gapTime: 0.2,
67
- // 可选,多个对象之间间隔事件,默认0.2秒
68
- ease: EEaseType.SineInOut,
69
- // 可选,默认缓入缓出
70
- center: null,
71
- // 可选,生长中心位置,默认包围盒中心点
72
- scale: 1,
73
- // 可选,倍速,默认为1。
74
- distance: 1000,
75
- // 可选,初始化UP/DOWN起始距离,默认1000
76
- isRotate: true,
77
- // 可选,初始化UP/DOWN起始旋转角度,默认true
78
- isScale: true // 可选,初始化UP/DOWN起始缩放大小,默认true
79
- };
80
- Object.assign(this.option, opt);
81
- // ------- 1.初始化目标对象 --------
82
- this.objs.length = 0;
83
- // 获取所有对象
84
- if (this.option.tag === '*') {
85
- use.useScene().scene.traverseVisible(function (object) {
86
- if (object instanceof Object3D) _this3.objs.push(object);
87
- });
88
- } else {
89
- // 获取指定tag对象
90
- use.useScene().scene.traverseVisible(function (object) {
91
- if (object instanceof Object3D && object.userData.tag && Array.isArray(object.userData.tag) && object.userData.tag.includes(_this3.option.tag)) _this3.objs.push(object);
92
- });
93
- }
94
-
95
- // ------- 2.中心点 ------------
96
- if (!this.option.center) {
97
- var boundingBox = new Box3();
81
+ // ------- 2.中心点 ------------
82
+ if (!this.option.center) {
83
+ const boundingBox = new Box3();
98
84
 
99
- // 将每个物体的边界框扩展到包围盒中
100
- for (var i = 0; i < this.objs.length; i++) {
101
- var object = this.objs[i];
102
- boundingBox.expandByObject(object);
103
- }
104
- // 计算包围盒的中心点
105
- var center = new Vector3();
106
- this.option.center = boundingBox.getCenter(center);
85
+ // 将每个物体的边界框扩展到包围盒中
86
+ for (let i = 0; i < this.objs.length; i++) {
87
+ const object = this.objs[i];
88
+ boundingBox.expandByObject(object);
107
89
  }
90
+ // 计算包围盒的中心点
91
+ const center = new Vector3();
92
+ this.option.center = boundingBox.getCenter(center);
93
+ }
108
94
 
109
- // ------- 2.初始化目标对象 生长前状态 --------
110
- switch (this.option.type) {
111
- case ESceneGrowType.Up:
112
- this.growStyle = new GrowStyleUp(this.objs, this.option);
113
- break;
114
- case ESceneGrowType.Down:
115
- this.growStyle = new GrowStyleDown(this.objs, this.option);
116
- break;
117
- default:
118
- this.growStyle = new GrowStyleUp(this.objs, this.option);
119
- break;
120
- }
121
- this.growStyle.init();
122
- this.option.onGrowInitCompleted && this.option.onGrowInitCompleted();
95
+ // ------- 2.初始化目标对象 生长前状态 --------
96
+ switch (this.option.type) {
97
+ case ESceneGrowType.Up:
98
+ this.growStyle = new GrowStyleUp(this.objs, this.option);
99
+ break;
100
+ case ESceneGrowType.Down:
101
+ this.growStyle = new GrowStyleDown(this.objs, this.option);
102
+ break;
103
+ default:
104
+ this.growStyle = new GrowStyleUp(this.objs, this.option);
105
+ break;
123
106
  }
124
- }]);
125
- return Grow;
126
- }();
107
+ this.growStyle.init();
108
+ this.option.onGrowInitCompleted && this.option.onGrowInitCompleted();
109
+ }
110
+ }
127
111
  //# sourceMappingURL=grow.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Box3","Object3D","Vector3","use","EEaseType","ESceneGrowType","GrowStyleDown","GrowStyleUp","Grow","opt","_classCallCheck","_defineProperty","objs","option","growStyle","init","_createClass","key","value","_in","callback","_this","onGrowInStart","getTimeLine","eventCallback","onGrowInCompleted","in","out","_this2","onGrowOutStart","onGrowOutCompleted","_this3","tag","type","Up","time","gapTime","ease","SineInOut","center","scale","distance","isRotate","isScale","Object","assign","length","useScene","scene","traverseVisible","object","push","userData","Array","isArray","includes","boundingBox","i","expandByObject","getCenter","Down","onGrowInitCompleted"],"sources":["../../../../src/core/SceneEffect/grow/grow.ts"],"sourcesContent":["import { Box3, Object3D, Vector3, gsap, use } from '@anov/3d-core'\nimport type { GrowOption, IGrowStyle } from './type'\nimport { EEaseType, ESceneGrowType } from './type'\nimport { GrowStyleDown, GrowStyleUp } from './growStyle'\n\n// 生长动画对象\nexport class Grow {\n private objs: Array<Object3D>\n private option: GrowOption\n private growStyle: IGrowStyle\n\n constructor(opt?: GrowOption) {\n this.objs = []\n this.option = {}\n // @ts-ignore\n this.growStyle = null\n this.init(opt || {})\n }\n\n // 生长\n in(callback: () => void) {\n // 入场事件\n this.option.onGrowInStart && this.option.onGrowInStart()\n\n this.growStyle.getTimeLine().eventCallback('onComplete', () => {\n this.option.onGrowInCompleted && this.option.onGrowInCompleted()\n callback && callback()\n })\n\n this.growStyle.in()\n }\n\n // 消退\n out(callback: () => void) {\n // 出场事件\n this.option.onGrowOutStart && this.option.onGrowOutStart()\n\n this.growStyle.getTimeLine().eventCallback('onReverseComplete', () => {\n this.option.onGrowOutCompleted && this.option.onGrowOutCompleted()\n\n callback && callback()\n })\n\n this.growStyle.out()\n }\n\n // 初始化\n init(opt: GrowOption) {\n this.option = {\n tag: '*', // 可选,进场对象Tag, 默认 \"*\" 所有可见MESH对象,\n type: ESceneGrowType.Up, // 可选,进场动画类型,默认 ESceneGrowType.Up向上生长\n time: 0.5, // 可选,单对象进场时间,默认0.5秒\n gapTime: 0.2, // 可选,多个对象之间间隔事件,默认0.2秒\n ease: EEaseType.SineInOut, // 可选,默认缓入缓出\n center: null, // 可选,生长中心位置,默认包围盒中心点\n scale: 1, // 可选,倍速,默认为1。\n distance: 1000, // 可选,初始化UP/DOWN起始距离,默认1000\n isRotate: true, // 可选,初始化UP/DOWN起始旋转角度,默认true\n isScale: true, // 可选,初始化UP/DOWN起始缩放大小,默认true\n }\n Object.assign(this.option, opt)\n // ------- 1.初始化目标对象 --------\n this.objs.length = 0\n // 获取所有对象\n if (this.option.tag === '*') {\n use.useScene().scene!.traverseVisible((object) => {\n if (object instanceof Object3D)\n this.objs.push(object)\n })\n }\n else { // 获取指定tag对象\n use.useScene().scene!.traverseVisible((object) => {\n if (object instanceof Object3D && object.userData.tag && Array.isArray(object.userData.tag) && object.userData.tag.includes(this.option.tag))\n this.objs.push(object)\n })\n }\n\n // ------- 2.中心点 ------------\n if (!this.option.center) {\n const boundingBox = new Box3()\n\n // 将每个物体的边界框扩展到包围盒中\n for (let i = 0; i < this.objs.length; i++) {\n const object = this.objs[i]\n boundingBox.expandByObject(object)\n }\n // 计算包围盒的中心点\n const center = new Vector3()\n this.option.center = boundingBox.getCenter(center)\n }\n\n // ------- 2.初始化目标对象 生长前状态 --------\n switch (this.option.type) {\n case ESceneGrowType.Up:\n this.growStyle = new GrowStyleUp(this.objs, this.option)\n break\n case ESceneGrowType.Down:\n this.growStyle = new GrowStyleDown(this.objs, this.option)\n break\n default:\n this.growStyle = new GrowStyleUp(this.objs, this.option)\n break\n }\n this.growStyle.init()\n this.option.onGrowInitCompleted && this.option.onGrowInitCompleted()\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["Box3","Object3D","Vector3","use","EEaseType","ESceneGrowType","GrowStyleDown","GrowStyleUp","Grow","constructor","opt","_defineProperty","objs","option","growStyle","init","in","callback","onGrowInStart","getTimeLine","eventCallback","onGrowInCompleted","out","onGrowOutStart","onGrowOutCompleted","tag","type","Up","time","gapTime","ease","SineInOut","center","scale","distance","isRotate","isScale","Object","assign","length","useScene","scene","traverseVisible","object","push","userData","Array","isArray","includes","boundingBox","i","expandByObject","getCenter","Down","onGrowInitCompleted"],"sources":["../../../../src/core/SceneEffect/grow/grow.ts"],"sourcesContent":["import { Box3, Object3D, Vector3, gsap, use } from '@anov/3d-core'\nimport type { GrowOption, IGrowStyle } from './type'\nimport { EEaseType, ESceneGrowType } from './type'\nimport { GrowStyleDown, GrowStyleUp } from './growStyle'\n\n// 生长动画对象\nexport class Grow {\n private objs: Array<Object3D>\n private option: GrowOption\n private growStyle: IGrowStyle\n\n constructor(opt?: GrowOption) {\n this.objs = []\n this.option = {}\n // @ts-ignore\n this.growStyle = null\n this.init(opt || {})\n }\n\n // 生长\n in(callback: () => void) {\n // 入场事件\n this.option.onGrowInStart && this.option.onGrowInStart()\n\n this.growStyle.getTimeLine().eventCallback('onComplete', () => {\n this.option.onGrowInCompleted && this.option.onGrowInCompleted()\n callback && callback()\n })\n\n this.growStyle.in()\n }\n\n // 消退\n out(callback: () => void) {\n // 出场事件\n this.option.onGrowOutStart && this.option.onGrowOutStart()\n\n this.growStyle.getTimeLine().eventCallback('onReverseComplete', () => {\n this.option.onGrowOutCompleted && this.option.onGrowOutCompleted()\n\n callback && callback()\n })\n\n this.growStyle.out()\n }\n\n // 初始化\n init(opt: GrowOption) {\n this.option = {\n tag: '*', // 可选,进场对象Tag, 默认 \"*\" 所有可见MESH对象,\n type: ESceneGrowType.Up, // 可选,进场动画类型,默认 ESceneGrowType.Up向上生长\n time: 0.5, // 可选,单对象进场时间,默认0.5秒\n gapTime: 0.2, // 可选,多个对象之间间隔事件,默认0.2秒\n ease: EEaseType.SineInOut, // 可选,默认缓入缓出\n center: null, // 可选,生长中心位置,默认包围盒中心点\n scale: 1, // 可选,倍速,默认为1。\n distance: 1000, // 可选,初始化UP/DOWN起始距离,默认1000\n isRotate: true, // 可选,初始化UP/DOWN起始旋转角度,默认true\n isScale: true, // 可选,初始化UP/DOWN起始缩放大小,默认true\n }\n Object.assign(this.option, opt)\n // ------- 1.初始化目标对象 --------\n this.objs.length = 0\n // 获取所有对象\n if (this.option.tag === '*') {\n use.useScene().scene!.traverseVisible((object) => {\n if (object instanceof Object3D)\n this.objs.push(object)\n })\n }\n else { // 获取指定tag对象\n use.useScene().scene!.traverseVisible((object) => {\n if (object instanceof Object3D && object.userData.tag && Array.isArray(object.userData.tag) && object.userData.tag.includes(this.option.tag))\n this.objs.push(object)\n })\n }\n\n // ------- 2.中心点 ------------\n if (!this.option.center) {\n const boundingBox = new Box3()\n\n // 将每个物体的边界框扩展到包围盒中\n for (let i = 0; i < this.objs.length; i++) {\n const object = this.objs[i]\n boundingBox.expandByObject(object)\n }\n // 计算包围盒的中心点\n const center = new Vector3()\n this.option.center = boundingBox.getCenter(center)\n }\n\n // ------- 2.初始化目标对象 生长前状态 --------\n switch (this.option.type) {\n case ESceneGrowType.Up:\n this.growStyle = new GrowStyleUp(this.objs, this.option)\n break\n case ESceneGrowType.Down:\n this.growStyle = new GrowStyleDown(this.objs, this.option)\n break\n default:\n this.growStyle = new GrowStyleUp(this.objs, this.option)\n break\n }\n this.growStyle.init()\n this.option.onGrowInitCompleted && this.option.onGrowInitCompleted()\n }\n}\n"],"mappings":"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"}