@luminocity/lemonate-engine 15.2.2 → 15.2.3

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 (375) hide show
  1. package/dist/engine.min.js +302 -0
  2. package/dist/player.zip +302 -0
  3. package/package.json +6 -2
  4. package/dist/Builder.js +0 -93
  5. package/dist/Builder.js.map +0 -1
  6. package/dist/Canvas.js +0 -109
  7. package/dist/Canvas.js.map +0 -1
  8. package/dist/Controllers.js +0 -97
  9. package/dist/Controllers.js.map +0 -1
  10. package/dist/EditorScene.js +0 -372
  11. package/dist/EditorScene.js.map +0 -1
  12. package/dist/Engine.js +0 -1576
  13. package/dist/Engine.js.map +0 -1
  14. package/dist/LoadingManager.js +0 -1195
  15. package/dist/LoadingManager.js.map +0 -1
  16. package/dist/LoadingState.js +0 -37
  17. package/dist/LoadingState.js.map +0 -1
  18. package/dist/Logger.js +0 -141
  19. package/dist/Logger.js.map +0 -1
  20. package/dist/Player.js +0 -470
  21. package/dist/Player.js.map +0 -1
  22. package/dist/Preview.js +0 -166
  23. package/dist/Preview.js.map +0 -1
  24. package/dist/RenderOptions.js +0 -59
  25. package/dist/RenderOptions.js.map +0 -1
  26. package/dist/RenderPassInfo.js +0 -133
  27. package/dist/RenderPassInfo.js.map +0 -1
  28. package/dist/RenderView.js +0 -459
  29. package/dist/RenderView.js.map +0 -1
  30. package/dist/Renderer.js +0 -1867
  31. package/dist/Renderer.js.map +0 -1
  32. package/dist/SceneGraph.js +0 -798
  33. package/dist/SceneGraph.js.map +0 -1
  34. package/dist/SceneGraphCollection.js +0 -614
  35. package/dist/SceneGraphCollection.js.map +0 -1
  36. package/dist/Shortcuts.js +0 -259
  37. package/dist/Shortcuts.js.map +0 -1
  38. package/dist/Tools.js +0 -500
  39. package/dist/Tools.js.map +0 -1
  40. package/dist/Variables.js +0 -243
  41. package/dist/Variables.js.map +0 -1
  42. package/dist/helpers/ArrowHelper.js +0 -104
  43. package/dist/helpers/ArrowHelper.js.map +0 -1
  44. package/dist/helpers/BoxHelper.js +0 -112
  45. package/dist/helpers/BoxHelper.js.map +0 -1
  46. package/dist/helpers/CameraHelper.js +0 -237
  47. package/dist/helpers/CameraHelper.js.map +0 -1
  48. package/dist/helpers/FaceNormalsHelper.js +0 -85
  49. package/dist/helpers/FaceNormalsHelper.js.map +0 -1
  50. package/dist/helpers/MeshHelper.js +0 -92
  51. package/dist/helpers/MeshHelper.js.map +0 -1
  52. package/dist/helpers/MultiGridHelper.js +0 -61
  53. package/dist/helpers/MultiGridHelper.js.map +0 -1
  54. package/dist/helpers/ParticlesHelper.js +0 -245
  55. package/dist/helpers/ParticlesHelper.js.map +0 -1
  56. package/dist/helpers/PointHelper.js +0 -85
  57. package/dist/helpers/PointHelper.js.map +0 -1
  58. package/dist/helpers/SphereHelper.js +0 -62
  59. package/dist/helpers/SphereHelper.js.map +0 -1
  60. package/dist/helpers/VertexNormalsHelper.js +0 -75
  61. package/dist/helpers/VertexNormalsHelper.js.map +0 -1
  62. package/dist/helpers/ViewHelper.js +0 -252
  63. package/dist/helpers/ViewHelper.js.map +0 -1
  64. package/dist/helpers/lighthelpers/DirectionalLightHelper.js +0 -136
  65. package/dist/helpers/lighthelpers/DirectionalLightHelper.js.map +0 -1
  66. package/dist/helpers/lighthelpers/HemisphereLightHelper.js +0 -124
  67. package/dist/helpers/lighthelpers/HemisphereLightHelper.js.map +0 -1
  68. package/dist/helpers/lighthelpers/PointLightHelper.js +0 -133
  69. package/dist/helpers/lighthelpers/PointLightHelper.js.map +0 -1
  70. package/dist/helpers/lighthelpers/SpotLightHelper.js +0 -123
  71. package/dist/helpers/lighthelpers/SpotLightHelper.js.map +0 -1
  72. package/dist/index.js +0 -40
  73. package/dist/index.js.map +0 -1
  74. package/dist/items/AudioCollectionItem.js +0 -230
  75. package/dist/items/AudioCollectionItem.js.map +0 -1
  76. package/dist/items/AudioItem.js +0 -75
  77. package/dist/items/AudioItem.js.map +0 -1
  78. package/dist/items/BackgroundShaderItem.js +0 -239
  79. package/dist/items/BackgroundShaderItem.js.map +0 -1
  80. package/dist/items/CanvasTextureItem.js +0 -194
  81. package/dist/items/CanvasTextureItem.js.map +0 -1
  82. package/dist/items/CompositionItem.js +0 -110
  83. package/dist/items/CompositionItem.js.map +0 -1
  84. package/dist/items/FontItem.js +0 -135
  85. package/dist/items/FontItem.js.map +0 -1
  86. package/dist/items/GaussianSplatsItem.js +0 -103
  87. package/dist/items/GaussianSplatsItem.js.map +0 -1
  88. package/dist/items/GridMapItem.js +0 -202
  89. package/dist/items/GridMapItem.js.map +0 -1
  90. package/dist/items/ImageItem.js +0 -255
  91. package/dist/items/ImageItem.js.map +0 -1
  92. package/dist/items/Item.js +0 -739
  93. package/dist/items/Item.js.map +0 -1
  94. package/dist/items/MaterialCollectionItem.js +0 -216
  95. package/dist/items/MaterialCollectionItem.js.map +0 -1
  96. package/dist/items/MaterialItem.js +0 -1762
  97. package/dist/items/MaterialItem.js.map +0 -1
  98. package/dist/items/MeshCollectionItem.js +0 -258
  99. package/dist/items/MeshCollectionItem.js.map +0 -1
  100. package/dist/items/MeshItem.js +0 -274
  101. package/dist/items/MeshItem.js.map +0 -1
  102. package/dist/items/ParticlesItem.js +0 -187
  103. package/dist/items/ParticlesItem.js.map +0 -1
  104. package/dist/items/PixelShaderItem.js +0 -42
  105. package/dist/items/PixelShaderItem.js.map +0 -1
  106. package/dist/items/PointsItem.js +0 -122
  107. package/dist/items/PointsItem.js.map +0 -1
  108. package/dist/items/PrefabItem.js +0 -140
  109. package/dist/items/PrefabItem.js.map +0 -1
  110. package/dist/items/ProjectItem.js +0 -857
  111. package/dist/items/ProjectItem.js.map +0 -1
  112. package/dist/items/SceneItem.js +0 -443
  113. package/dist/items/SceneItem.js.map +0 -1
  114. package/dist/items/ScriptItem.js +0 -159
  115. package/dist/items/ScriptItem.js.map +0 -1
  116. package/dist/items/VariableSetItem.js +0 -208
  117. package/dist/items/VariableSetItem.js.map +0 -1
  118. package/dist/items/VertexShaderItem.js +0 -42
  119. package/dist/items/VertexShaderItem.js.map +0 -1
  120. package/dist/items/VideoItem.js +0 -152
  121. package/dist/items/VideoItem.js.map +0 -1
  122. package/dist/items/base/ImageOwningItem.js +0 -205
  123. package/dist/items/base/ImageOwningItem.js.map +0 -1
  124. package/dist/items/base/MeshBase.js +0 -342
  125. package/dist/items/base/MeshBase.js.map +0 -1
  126. package/dist/items/base/ShaderBase.js +0 -115
  127. package/dist/items/base/ShaderBase.js.map +0 -1
  128. package/dist/items/helpers/ListEntry.js +0 -113
  129. package/dist/items/helpers/ListEntry.js.map +0 -1
  130. package/dist/items/helpers/ListField.js +0 -210
  131. package/dist/items/helpers/ListField.js.map +0 -1
  132. package/dist/items/helpers/MappingSetup.js +0 -126
  133. package/dist/items/helpers/MappingSetup.js.map +0 -1
  134. package/dist/json/packageVersionInfo.json +0 -6
  135. package/dist/json/shortcuts.json +0 -37
  136. package/dist/renderers/ForwardRenderer.js +0 -50
  137. package/dist/renderers/ForwardRenderer.js.map +0 -1
  138. package/dist/renderers/RendererBase.js +0 -38
  139. package/dist/renderers/RendererBase.js.map +0 -1
  140. package/dist/scenegraph/SgAudio.js +0 -286
  141. package/dist/scenegraph/SgAudio.js.map +0 -1
  142. package/dist/scenegraph/SgAudioListener.js +0 -64
  143. package/dist/scenegraph/SgAudioListener.js.map +0 -1
  144. package/dist/scenegraph/SgBillboard.js +0 -150
  145. package/dist/scenegraph/SgBillboard.js.map +0 -1
  146. package/dist/scenegraph/SgBox.js +0 -54
  147. package/dist/scenegraph/SgBox.js.map +0 -1
  148. package/dist/scenegraph/SgCamera.js +0 -219
  149. package/dist/scenegraph/SgCamera.js.map +0 -1
  150. package/dist/scenegraph/SgCircleShadow.js +0 -105
  151. package/dist/scenegraph/SgCircleShadow.js.map +0 -1
  152. package/dist/scenegraph/SgCone.js +0 -61
  153. package/dist/scenegraph/SgCone.js.map +0 -1
  154. package/dist/scenegraph/SgCylinder.js +0 -62
  155. package/dist/scenegraph/SgCylinder.js.map +0 -1
  156. package/dist/scenegraph/SgGaussianSplats.js +0 -103
  157. package/dist/scenegraph/SgGaussianSplats.js.map +0 -1
  158. package/dist/scenegraph/SgGridMap.js +0 -112
  159. package/dist/scenegraph/SgGridMap.js.map +0 -1
  160. package/dist/scenegraph/SgGroup.js +0 -40
  161. package/dist/scenegraph/SgGroup.js.map +0 -1
  162. package/dist/scenegraph/SgItem.js +0 -1427
  163. package/dist/scenegraph/SgItem.js.map +0 -1
  164. package/dist/scenegraph/SgItemScript.js +0 -117
  165. package/dist/scenegraph/SgItemScript.js.map +0 -1
  166. package/dist/scenegraph/SgLightsource.js +0 -319
  167. package/dist/scenegraph/SgLightsource.js.map +0 -1
  168. package/dist/scenegraph/SgLod.js +0 -82
  169. package/dist/scenegraph/SgLod.js.map +0 -1
  170. package/dist/scenegraph/SgMesh.js +0 -662
  171. package/dist/scenegraph/SgMesh.js.map +0 -1
  172. package/dist/scenegraph/SgNavMesh.js +0 -503
  173. package/dist/scenegraph/SgNavMesh.js.map +0 -1
  174. package/dist/scenegraph/SgParticles.js +0 -796
  175. package/dist/scenegraph/SgParticles.js.map +0 -1
  176. package/dist/scenegraph/SgPhysicsItem.js +0 -806
  177. package/dist/scenegraph/SgPhysicsItem.js.map +0 -1
  178. package/dist/scenegraph/SgPhysicsSubItem.js +0 -449
  179. package/dist/scenegraph/SgPhysicsSubItem.js.map +0 -1
  180. package/dist/scenegraph/SgPlane.js +0 -47
  181. package/dist/scenegraph/SgPlane.js.map +0 -1
  182. package/dist/scenegraph/SgPoints.js +0 -143
  183. package/dist/scenegraph/SgPoints.js.map +0 -1
  184. package/dist/scenegraph/SgPositionalAudio.js +0 -93
  185. package/dist/scenegraph/SgPositionalAudio.js.map +0 -1
  186. package/dist/scenegraph/SgPrefab.js +0 -153
  187. package/dist/scenegraph/SgPrefab.js.map +0 -1
  188. package/dist/scenegraph/SgProceduralGeometryItem.js +0 -146
  189. package/dist/scenegraph/SgProceduralGeometryItem.js.map +0 -1
  190. package/dist/scenegraph/SgResourceOwner.js +0 -127
  191. package/dist/scenegraph/SgResourceOwner.js.map +0 -1
  192. package/dist/scenegraph/SgRibbon.js +0 -107
  193. package/dist/scenegraph/SgRibbon.js.map +0 -1
  194. package/dist/scenegraph/SgRing.js +0 -49
  195. package/dist/scenegraph/SgRing.js.map +0 -1
  196. package/dist/scenegraph/SgRoot.js +0 -87
  197. package/dist/scenegraph/SgRoot.js.map +0 -1
  198. package/dist/scenegraph/SgScriptedMesh.js +0 -213
  199. package/dist/scenegraph/SgScriptedMesh.js.map +0 -1
  200. package/dist/scenegraph/SgSky.js +0 -126
  201. package/dist/scenegraph/SgSky.js.map +0 -1
  202. package/dist/scenegraph/SgSphere.js +0 -59
  203. package/dist/scenegraph/SgSphere.js.map +0 -1
  204. package/dist/scenegraph/SgText.js +0 -182
  205. package/dist/scenegraph/SgText.js.map +0 -1
  206. package/dist/scenegraph/SgTorus.js +0 -48
  207. package/dist/scenegraph/SgTorus.js.map +0 -1
  208. package/dist/scenegraph/SgVehicle.js +0 -370
  209. package/dist/scenegraph/SgVehicle.js.map +0 -1
  210. package/dist/subsystems/AudioSystem.js +0 -128
  211. package/dist/subsystems/AudioSystem.js.map +0 -1
  212. package/dist/subsystems/Billboard.js +0 -190
  213. package/dist/subsystems/Billboard.js.map +0 -1
  214. package/dist/subsystems/FontLoader.js +0 -161
  215. package/dist/subsystems/FontLoader.js.map +0 -1
  216. package/dist/subsystems/Physics.js +0 -1079
  217. package/dist/subsystems/Physics.js.map +0 -1
  218. package/dist/subsystems/Ribbons.js +0 -179
  219. package/dist/subsystems/Ribbons.js.map +0 -1
  220. package/dist/subsystems/gridmap/GridMapBuilder.js +0 -430
  221. package/dist/subsystems/gridmap/GridMapBuilder.js.map +0 -1
  222. package/dist/subsystems/imgui/ImGui.js +0 -742
  223. package/dist/subsystems/imgui/ImGui.js.map +0 -1
  224. package/dist/subsystems/importer/Converter.js +0 -199
  225. package/dist/subsystems/importer/Converter.js.map +0 -1
  226. package/dist/subsystems/importer/ImageConverter.js +0 -77
  227. package/dist/subsystems/importer/ImageConverter.js.map +0 -1
  228. package/dist/subsystems/importer/Importer.js +0 -381
  229. package/dist/subsystems/importer/Importer.js.map +0 -1
  230. package/dist/subsystems/importer/MeshConverter.js +0 -595
  231. package/dist/subsystems/importer/MeshConverter.js.map +0 -1
  232. package/dist/subsystems/particlesystem/CurlNoiseTexturePreview.js +0 -127
  233. package/dist/subsystems/particlesystem/CurlNoiseTexturePreview.js.map +0 -1
  234. package/dist/subsystems/particlesystem/Emitters/CircleEmitter.js +0 -135
  235. package/dist/subsystems/particlesystem/Emitters/CircleEmitter.js.map +0 -1
  236. package/dist/subsystems/particlesystem/Emitters/ConeEmitter.js +0 -192
  237. package/dist/subsystems/particlesystem/Emitters/ConeEmitter.js.map +0 -1
  238. package/dist/subsystems/particlesystem/Emitters/CubeEmitter.js +0 -157
  239. package/dist/subsystems/particlesystem/Emitters/CubeEmitter.js.map +0 -1
  240. package/dist/subsystems/particlesystem/Emitters/EdgeEmitter.js +0 -133
  241. package/dist/subsystems/particlesystem/Emitters/EdgeEmitter.js.map +0 -1
  242. package/dist/subsystems/particlesystem/Emitters/Emitter.js +0 -107
  243. package/dist/subsystems/particlesystem/Emitters/Emitter.js.map +0 -1
  244. package/dist/subsystems/particlesystem/Emitters/HemiSphereEmitter.js +0 -142
  245. package/dist/subsystems/particlesystem/Emitters/HemiSphereEmitter.js.map +0 -1
  246. package/dist/subsystems/particlesystem/Emitters/MeshEmitter.js +0 -56
  247. package/dist/subsystems/particlesystem/Emitters/MeshEmitter.js.map +0 -1
  248. package/dist/subsystems/particlesystem/Emitters/SphereEmitter.js +0 -142
  249. package/dist/subsystems/particlesystem/Emitters/SphereEmitter.js.map +0 -1
  250. package/dist/subsystems/particlesystem/Emitters/TorusEmitter.js +0 -159
  251. package/dist/subsystems/particlesystem/Emitters/TorusEmitter.js.map +0 -1
  252. package/dist/subsystems/particlesystem/ParticleSystem.js +0 -706
  253. package/dist/subsystems/particlesystem/ParticleSystem.js.map +0 -1
  254. package/dist/subsystems/particlesystem/Simulation.js +0 -475
  255. package/dist/subsystems/particlesystem/Simulation.js.map +0 -1
  256. package/dist/subsystems/particlesystem/Visualization.js +0 -518
  257. package/dist/subsystems/particlesystem/Visualization.js.map +0 -1
  258. package/dist/subsystems/particlesystem/shaders/noise/CurlNoiseTexturePreviewShader.js +0 -56
  259. package/dist/subsystems/particlesystem/shaders/noise/CurlNoiseTexturePreviewShader.js.map +0 -1
  260. package/dist/subsystems/particlesystem/utils.js +0 -115
  261. package/dist/subsystems/particlesystem/utils.js.map +0 -1
  262. package/dist/subsystems/scripting/ScriptEngine.js +0 -1074
  263. package/dist/subsystems/scripting/ScriptEngine.js.map +0 -1
  264. package/dist/subsystems/scripting/ScriptRunner.js +0 -153
  265. package/dist/subsystems/scripting/ScriptRunner.js.map +0 -1
  266. package/dist/subsystems/scripting/ScriptRuntime.js +0 -244
  267. package/dist/subsystems/scripting/ScriptRuntime.js.map +0 -1
  268. package/dist/subsystems/scripting/runtime/RtAudio.js +0 -37
  269. package/dist/subsystems/scripting/runtime/RtAudio.js.map +0 -1
  270. package/dist/subsystems/scripting/runtime/RtBase.js +0 -117
  271. package/dist/subsystems/scripting/runtime/RtBase.js.map +0 -1
  272. package/dist/subsystems/scripting/runtime/RtCanvas.js +0 -326
  273. package/dist/subsystems/scripting/runtime/RtCanvas.js.map +0 -1
  274. package/dist/subsystems/scripting/runtime/RtComposer.js +0 -58
  275. package/dist/subsystems/scripting/runtime/RtComposer.js.map +0 -1
  276. package/dist/subsystems/scripting/runtime/RtConsole.js +0 -51
  277. package/dist/subsystems/scripting/runtime/RtConsole.js.map +0 -1
  278. package/dist/subsystems/scripting/runtime/RtControllers.js +0 -52
  279. package/dist/subsystems/scripting/runtime/RtControllers.js.map +0 -1
  280. package/dist/subsystems/scripting/runtime/RtEvents.js +0 -46
  281. package/dist/subsystems/scripting/runtime/RtEvents.js.map +0 -1
  282. package/dist/subsystems/scripting/runtime/RtImGui.js +0 -410
  283. package/dist/subsystems/scripting/runtime/RtImGui.js.map +0 -1
  284. package/dist/subsystems/scripting/runtime/RtItem.js +0 -297
  285. package/dist/subsystems/scripting/runtime/RtItem.js.map +0 -1
  286. package/dist/subsystems/scripting/runtime/RtLoader.js +0 -77
  287. package/dist/subsystems/scripting/runtime/RtLoader.js.map +0 -1
  288. package/dist/subsystems/scripting/runtime/RtObject.js +0 -34
  289. package/dist/subsystems/scripting/runtime/RtObject.js.map +0 -1
  290. package/dist/subsystems/scripting/runtime/RtPhysics.js +0 -69
  291. package/dist/subsystems/scripting/runtime/RtPhysics.js.map +0 -1
  292. package/dist/subsystems/scripting/runtime/RtPointer.js +0 -45
  293. package/dist/subsystems/scripting/runtime/RtPointer.js.map +0 -1
  294. package/dist/subsystems/scripting/runtime/RtProject.js +0 -66
  295. package/dist/subsystems/scripting/runtime/RtProject.js.map +0 -1
  296. package/dist/subsystems/scripting/runtime/RtRenderer.js +0 -138
  297. package/dist/subsystems/scripting/runtime/RtRenderer.js.map +0 -1
  298. package/dist/subsystems/scripting/runtime/RtSceneEntry.js +0 -67
  299. package/dist/subsystems/scripting/runtime/RtSceneEntry.js.map +0 -1
  300. package/dist/subsystems/scripting/runtime/RtSceneObject.js +0 -666
  301. package/dist/subsystems/scripting/runtime/RtSceneObject.js.map +0 -1
  302. package/dist/subsystems/scripting/runtime/RtStorage.js +0 -64
  303. package/dist/subsystems/scripting/runtime/RtStorage.js.map +0 -1
  304. package/dist/subsystems/scripting/runtime/RtSystem.js +0 -85
  305. package/dist/subsystems/scripting/runtime/RtSystem.js.map +0 -1
  306. package/dist/subsystems/scripting/runtime/RtTools.js +0 -37
  307. package/dist/subsystems/scripting/runtime/RtTools.js.map +0 -1
  308. package/dist/subsystems/scripting/runtime/RtVariables.js +0 -57
  309. package/dist/subsystems/scripting/runtime/RtVariables.js.map +0 -1
  310. package/dist/subsystems/scripting/runtime/items/RtCanvasTexture.js +0 -101
  311. package/dist/subsystems/scripting/runtime/items/RtCanvasTexture.js.map +0 -1
  312. package/dist/subsystems/scripting/runtime/items/RtMaterial.js +0 -34
  313. package/dist/subsystems/scripting/runtime/items/RtMaterial.js.map +0 -1
  314. package/dist/subsystems/scripting/runtime/items/RtMesh.js +0 -34
  315. package/dist/subsystems/scripting/runtime/items/RtMesh.js.map +0 -1
  316. package/dist/subsystems/scripting/runtime/items/RtTexture.js +0 -34
  317. package/dist/subsystems/scripting/runtime/items/RtTexture.js.map +0 -1
  318. package/dist/subsystems/scripting/runtime/items/RtVideo.js +0 -56
  319. package/dist/subsystems/scripting/runtime/items/RtVideo.js.map +0 -1
  320. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgAudio.js +0 -59
  321. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgAudio.js.map +0 -1
  322. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgCamera.js +0 -134
  323. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgCamera.js.map +0 -1
  324. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgMesh.js +0 -99
  325. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgMesh.js.map +0 -1
  326. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgNavMesh.js +0 -114
  327. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgNavMesh.js.map +0 -1
  328. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgParticles.js +0 -576
  329. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgParticles.js.map +0 -1
  330. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgPositionalAudio.js +0 -56
  331. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgPositionalAudio.js.map +0 -1
  332. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgRibbon.js +0 -42
  333. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgRibbon.js.map +0 -1
  334. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgScriptedMesh.js +0 -65
  335. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgScriptedMesh.js.map +0 -1
  336. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgVehicle.js +0 -60
  337. package/dist/subsystems/scripting/runtime/sceneobjects/RtSgVehicle.js.map +0 -1
  338. package/dist/tools/AsyncInterval.js +0 -55
  339. package/dist/tools/AsyncInterval.js.map +0 -1
  340. package/dist/tools/Converters.js +0 -41
  341. package/dist/tools/Converters.js.map +0 -1
  342. package/dist/tools/DebugTools.js +0 -91
  343. package/dist/tools/DebugTools.js.map +0 -1
  344. package/dist/tools/FontTools.js +0 -43
  345. package/dist/tools/FontTools.js.map +0 -1
  346. package/dist/tools/FsShader.js +0 -112
  347. package/dist/tools/FsShader.js.map +0 -1
  348. package/dist/tools/GeometryTools.js +0 -373
  349. package/dist/tools/GeometryTools.js.map +0 -1
  350. package/dist/tools/ItemTools.js +0 -139
  351. package/dist/tools/ItemTools.js.map +0 -1
  352. package/dist/tools/MathHelpers.js +0 -125
  353. package/dist/tools/MathHelpers.js.map +0 -1
  354. package/dist/tools/Profiler.js +0 -174
  355. package/dist/tools/Profiler.js.map +0 -1
  356. package/dist/tools/Random.js +0 -48
  357. package/dist/tools/Random.js.map +0 -1
  358. package/dist/tools/RtDebugger.js +0 -84
  359. package/dist/tools/RtDebugger.js.map +0 -1
  360. package/dist/tools/StringExtensions.js +0 -72
  361. package/dist/tools/StringExtensions.js.map +0 -1
  362. package/dist/tools/TextureTools.js +0 -444
  363. package/dist/tools/TextureTools.js.map +0 -1
  364. package/dist/tools/Timer.js +0 -52
  365. package/dist/tools/Timer.js.map +0 -1
  366. package/dist/tools/audioVisualizers/WavyAudioVisualizer.js +0 -59
  367. package/dist/tools/audioVisualizers/WavyAudioVisualizer.js.map +0 -1
  368. /package/dist/renderers/{forwardrenderer.d.ts → ForwardRenderer.d.ts} +0 -0
  369. /package/dist/subsystems/imgui/{imgui.d.ts → ImGui.d.ts} +0 -0
  370. /package/dist/subsystems/importer/{imageconverter.d.ts → ImageConverter.d.ts} +0 -0
  371. /package/dist/subsystems/scripting/{scriptrunner.d.ts → ScriptRunner.d.ts} +0 -0
  372. /package/dist/subsystems/scripting/{scriptruntime.d.ts → ScriptRuntime.d.ts} +0 -0
  373. /package/dist/subsystems/scripting/runtime/{rtAudio.d.ts → RtAudio.d.ts} +0 -0
  374. /package/dist/subsystems/scripting/runtime/{rtComposer.d.ts → RtComposer.d.ts} +0 -0
  375. /package/dist/subsystems/scripting/runtime/{rtObject.d.ts → RtObject.d.ts} +0 -0
@@ -1,1762 +0,0 @@
1
- // -----------------------------------------------------------------------------------------------------------
2
- // __ ______ __ __ ______ __ __ ______ ______ ______
3
- // /\ \ /\ ___\ /\ "-./ \ /\ __ \ /\ "-.\ \ /\ __ \ /\__ _\ /\ ___\
4
- // \ \ \____ \ \ __\ \ \ \-./\ \ \ \ \/\ \ \ \ \-. \ \ \ __ \ \/_/\ \/ \ \ __\
5
- // \ \_____\ \ \_____\ \ \_\ \ \_\ \ \_____\ \ \_\\"\_\ \ \_\ \_\ \ \_\ \ \_____\
6
- // \/_____/ \/_____/ \/_/ \/_/ \/_____/ \/_/ \/_/ \/_/\/_/ \/_/ \/_____/
7
- //
8
- //
9
- // Copyright 2023- Luminocity AG
10
- //
11
- // "Hadouken!" - Street Fighter series (1987–)
12
- //
13
- // Permission is hereby granted, free of charge, to any person obtaining a copy of this software
14
- // and associated documentation files (the “Software”), to deal in the Software without restriction,
15
- // including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
16
- // and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
17
- // subject to the following conditions:
18
- //
19
- // The above copyright notice and this permission notice shall be included in all copies or substantial
20
- // portions of the Software.
21
- //
22
- // THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
23
- // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24
- // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
25
- // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26
- // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27
- // -----------------------------------------------------------------------------------------------------------
28
- import { ImageOwningItem } from './base/ImageOwningItem';
29
- import { MeshPhysicalMaterial, ShaderMaterial, PointsMaterial, MeshBasicMaterial, MeshNormalMaterial, MeshToonMaterial, MeshMatcapMaterial, MeshLambertMaterial, MeshPhongMaterial, ObjectSpaceNormalMap, TangentSpaceNormalMap, MultiplyOperation, MixOperation, AddOperation, Vector2, NoBlending, NormalBlending, AdditiveBlending, SubtractiveBlending, MultiplyBlending, CustomBlending, FrontSide, BackSide, DoubleSide, NeverDepth, AlwaysDepth, LessDepth, LessEqualDepth, GreaterEqualDepth, GreaterDepth, NotEqualDepth, AddEquation, SubtractEquation, ReverseSubtractEquation, MinEquation, MaxEquation, ZeroFactor, OneFactor, SrcColorFactor, OneMinusSrcColorFactor, SrcAlphaFactor, OneMinusSrcAlphaFactor, DstAlphaFactor, OneMinusDstAlphaFactor, DstColorFactor, OneMinusDstColorFactor, SrcAlphaSaturateFactor, ClampToEdgeWrapping } from "three";
30
- import { LoadingState } from "@/LoadingState";
31
- import { ItemState } from './Item';
32
- const DEFAULT_VERTEX_SHADER = `
33
- void main() {
34
- gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
35
- }
36
- `;
37
- const DEFAULT_PIXEL_SHADER = `
38
- void main() {
39
- gl_FragColor = vec4(1.0);
40
- }
41
- `;
42
- export class MaterialItem extends ImageOwningItem {
43
- material;
44
- pixelShader;
45
- vertexShader;
46
- constructor(item, engine, renderer, lodMode) {
47
- super(item, engine, renderer, lodMode, "material");
48
- }
49
- getType() {
50
- return "Material";
51
- }
52
- getObject() {
53
- return this.material;
54
- }
55
- _setTextureLinkDefault(linkUsage, mappingPrefix) {
56
- this.setLinkItemDefault(linkUsage, null);
57
- this._setMappingSetupDefaults(mappingPrefix || linkUsage);
58
- }
59
- setFieldInstanceDefaults() {
60
- // Color Fields
61
- // ---------------------------------------------------------------------------------
62
- this.setFieldValueDefault("DiffuseColor", { r: 255, g: 255, b: 255, a: 255 });
63
- this.setFieldValueDefault("EmissiveColor", { r: 0, g: 0, b: 0, a: 255 });
64
- this.setFieldValueDefault("SheenColor", { r: 0, g: 0, b: 0, a: 255 });
65
- this.setFieldValueDefault("AttenuationColor", { r: 255, g: 255, b: 255, a: 255 });
66
- this.setFieldValueDefault("SpecularColor", { r: 255, g: 255, b: 255, a: 255 });
67
- this.setFieldValueDefault("EmissionColor", { r: 255, g: 255, b: 255, a: 255 });
68
- // Links
69
- // ---------------------------------------------------------------------------------
70
- this.setLinkItemDefault("Environment", null);
71
- this._setTextureLinkDefault("Albedo");
72
- this._setTextureLinkDefault("Alpha");
73
- this._setTextureLinkDefault("Gradient");
74
- this._setTextureLinkDefault("Metalness");
75
- this._setTextureLinkDefault("Roughness");
76
- this._setTextureLinkDefault("Normal");
77
- this._setTextureLinkDefault("AmbientOcclusion");
78
- this._setTextureLinkDefault("Emissive");
79
- this._setTextureLinkDefault("Displacement");
80
- this._setTextureLinkDefault("TransmissionMap", "Transmission");
81
- this._setTextureLinkDefault("ClearcoatMap", "Clearcoat");
82
- this._setTextureLinkDefault("ClearcoatNormalMap", "ClearcoatNormal");
83
- this._setTextureLinkDefault("ClearcoatRoughnessMap", "ClearcoatRoughness");
84
- this._setTextureLinkDefault("SheenRoughnessMap", "SheenRoughness");
85
- this._setTextureLinkDefault("SheenColorMap", "SheenColor");
86
- this._setTextureLinkDefault("SpecularIntensityMap", "SpecularIntensity");
87
- this._setTextureLinkDefault("SpecularColorMap", "SpecularColor");
88
- this._setTextureLinkDefault("ThicknessMap", "Thickness");
89
- this._setTextureLinkDefault("LightMap", "LightMap");
90
- this._setTextureLinkDefault("SpecularMap", "Specular");
91
- this._setTextureLinkDefault("MatcapMap", "Matcap");
92
- this.setLinkItemDefault("VertexShader", null);
93
- this.setLinkItemDefault("PixelShader", null);
94
- // Floats, Ints, Enums, etc.
95
- // ---------------------------------------------------------------------------------
96
- this.setFieldValueDefault("MaterialType", "Physical");
97
- this.setFieldValueDefault("AmbientOcclusionIntensity", 1);
98
- this.setFieldValueDefault("ClearcoatLevel", 0);
99
- this.setFieldValueDefault("ClearcoatRoughness", 0);
100
- this.setFieldValueDefault("ClearcoatNormalScale2d", { x: 1, y: 1 });
101
- this.setFieldValueDefault("NormalType", "TangentSpace");
102
- this.setFieldValueDefault("Reflectivity", 0.5);
103
- this.setFieldValueDefault("NormalScale2d", { x: 1, y: 1 });
104
- this.setFieldValueDefault("EnvironmentIntensity", 1);
105
- this.setFieldValueDefault("EmissiveIntensity", 1);
106
- this.setFieldValueDefault("DisplacementScale", 1);
107
- this.setFieldValueDefault("DisplacementBias", 0);
108
- this.setFieldValueDefault("Transmission", 0);
109
- this.setFieldValueDefault("IndexOfRefraction", 1.5);
110
- this.setFieldValueDefault("AttenuationDistance", 1000);
111
- this.setFieldValueDefault("Sheen", 0);
112
- this.setFieldValueDefault("SheenRoughness", 0);
113
- this.setFieldValueDefault("Thickness", 0);
114
- this.setFieldValueDefault("PointSize", 1);
115
- this.setFieldValueDefault("PointSizeAttenuation", true);
116
- this.setFieldValueDefault("VertexColors", false);
117
- this.setFieldValueDefault("AlphaTest", 0);
118
- this.setFieldValueDefault("Blending", "Normal");
119
- this.setFieldValueDefault("BlendSrc", "Source alpha");
120
- this.setFieldValueDefault("BlendDest", "One minus source alpha");
121
- this.setFieldValueDefault("BlendEquation", "Add");
122
- this.setFieldValueDefault("FlatShading", false);
123
- this.setFieldValueDefault("Transparent", false);
124
- this.setFieldValueDefault("DepthTest", true);
125
- this.setFieldValueDefault("DepthWrite", true);
126
- this.setFieldValueDefault("DepthMode", "Less/equal");
127
- this.setFieldValueDefault("Opacity", 1);
128
- this.setFieldValueDefault("Culling", "Back");
129
- this.setFieldValueDefault("RoughnessIntensity", 1);
130
- this.setFieldValueDefault("MetalnessIntensity", 1);
131
- this.setFieldValueDefault("SpecularIntensity", 1);
132
- this.setFieldValueDefault("LightMapIntensity", 1);
133
- this.setFieldValueDefault("RefractionRatio", 0.98);
134
- this.setFieldValueDefault("SurfaceEnvironmentCombination", "Multiply");
135
- this.setFieldValueDefault("Wireframe", false);
136
- this.setFieldValueDefault("Shininess", 30);
137
- }
138
- _enumerateChildren() {
139
- return [
140
- this._getChildOrLinkItem("albedoMapTexture", "Albedo"),
141
- this._getChildOrLinkItem("alphaMapTexture", "Alpha"),
142
- this._getChildOrLinkItem("gradientMapTexture", "Gradient"),
143
- this._getChildOrLinkItem("sheenRoughnessMapTexture", "SheenRoughnessMap"),
144
- this._getChildOrLinkItem("sheenColorMapTexture", "SheenColorMap"),
145
- this._getChildOrLinkItem("specularIntensityMapTexture", "SpecularIntensityMap"),
146
- this._getChildOrLinkItem("specularColorMapTexture", "SpecularColorMap"),
147
- this._getChildOrLinkItem("thicknessMapTexture", "ThicknessMap"),
148
- this._getChildOrLinkItem("metalnessMapTexture", "Metalness"),
149
- this._getChildOrLinkItem("roughnessMapTexture", "Roughness"),
150
- this._getChildOrLinkItem("normalMapTexture", "Normal"),
151
- this._getChildOrLinkItem("ambientOcclusionMapTexture", "AmbientOcclusion"),
152
- this._getChildOrLinkItem("environmentMapTexture", "Environment"),
153
- this._getChildOrLinkItem("emissiveMapTexture", "Emissive"),
154
- this._getChildOrLinkItem("displacementMapTexture", "Displacement"),
155
- this._getChildOrLinkItem("transmissionMapTexture", "TransmissionMap"),
156
- this._getChildOrLinkItem("clearcoatMapTexture", "Clearcoat"),
157
- this._getChildOrLinkItem("clearcoatNormalMapTexture", "ClearcoatNormalMap"),
158
- this._getChildOrLinkItem("clearcoatRoughnessMapTexture", "ClearcoatRoughnessMap"),
159
- this._getChildOrLinkItem("lightMapTexture", "LightMap"),
160
- this._getChildOrLinkItem("specularMapTexture", "SpecularMap"),
161
- this._getChildOrLinkItem("matcapMapTexture", "MatcapMap"),
162
- this._getChildOrLinkItem("vertexShader", "VertexShader"),
163
- this._getChildOrLinkItem("pixelShader", "PixelShader"),
164
- ];
165
- }
166
- async create() {
167
- this.destroy();
168
- await this._createThreeJsMaterial();
169
- this.state = ItemState.Created;
170
- this._loadingManagerProgress(LoadingState.CREATED);
171
- return this;
172
- }
173
- async load() {
174
- this._loadingManagerProgress(LoadingState.LOADING);
175
- await this.setProperties();
176
- this.state = ItemState.Finished;
177
- this._loadingManagerProgress(LoadingState.DONE);
178
- }
179
- async setProperties() {
180
- if (!this.material)
181
- return;
182
- const materialType = this.getFieldValue("MaterialType");
183
- // Color Fields
184
- // ---------------------------------------------------------------------------------
185
- const diffuseColor = this.getFieldValue("DiffuseColor");
186
- const emissiveColor = this.getFieldValue("EmissiveColor");
187
- const sheenColor = this.getFieldValue("SheenColor");
188
- const attenuationColor = this.getFieldValue('AttenuationColor');
189
- const emissionColor = this.getFieldValue("EmissionColor");
190
- // Links
191
- // ---------------------------------------------------------------------------------
192
- const albedoItem = this.getFieldValue("Albedo");
193
- const alphaItem = this.getFieldValue("Alpha");
194
- const metalnessItem = this.getFieldValue("Metalness");
195
- const roughnessItem = this.getFieldValue("Roughness");
196
- const normalItem = this.getFieldValue("Normal");
197
- const ambientOcclusionItem = this.getFieldValue("AmbientOcclusion");
198
- const environmentItem = this.getFieldValue("Environment");
199
- const emissiveItem = this.getFieldValue("Emissive");
200
- const displacementItem = this.getFieldValue("Displacement");
201
- const transmissionItem = this.getFieldValue("TransmissionMap");
202
- const clearcoatItem = this.getFieldValue("ClearcoatMap");
203
- const clearcoatNormalItem = this.getFieldValue("ClearcoatNormalMap");
204
- const clearcoatRoughnessItem = this.getFieldValue("ClearcoatRoughnessMap");
205
- const sheenRoughnessItem = this.getFieldValue('SheenRoughnessMap');
206
- const sheenColorItem = this.getFieldValue('SheenColorMap');
207
- const specularIntensityItem = this.getFieldValue('SpecularIntensityMap');
208
- const specularColorItem = this.getFieldValue('SpecularColorMap');
209
- const thicknessItem = this.getFieldValue('ThicknessMap');
210
- const lightMapItem = this.getFieldValue('LightMap');
211
- const specularMapItem = this.getFieldValue('SpecularMap');
212
- const gradientItem = this.getFieldValue("Gradient");
213
- const matcapItem = this.getFieldValue("Matcap");
214
- // Floats, Ints, Enums, etc.
215
- // ---------------------------------------------------------------------------------
216
- const ambientOcclusionIntensity = this.getFieldValue("AmbientOcclusionIntensity");
217
- const clearcoatLevel = this.getFieldValue("ClearcoatLevel");
218
- const clearcoatRoughness = this.getFieldValue("ClearcoatRoughness");
219
- const clearcoatNormalScale = this.getFieldValue("ClearcoatNormalScale2d");
220
- const normalType = this.getFieldValue("NormalType");
221
- const reflectivity = this.getFieldValue("Reflectivity");
222
- const normalScale = this.getFieldValue("NormalScale2d");
223
- const environmentIntensity = this.getFieldValue("EnvironmentIntensity");
224
- const emissiveIntensity = this.getFieldValue("EmissiveIntensity");
225
- const displacementScale = this.getFieldValue("DisplacementScale");
226
- const displacementBias = this.getFieldValue("DisplacementBias");
227
- const transmission = this.getFieldValue("Transmission");
228
- const indexOfRefraction = this.getFieldValue("IndexOfRefraction");
229
- const attenuationDistance = this.getFieldValue('AttenuationDistance');
230
- const sheen = this.getFieldValue('Sheen');
231
- const sheenRoughness = this.getFieldValue('SheenRoughness');
232
- const thickness = this.getFieldValue('Thickness');
233
- const specularColor = this.getFieldValue("SpecularColor");
234
- const specularIntensity = this.getFieldValue('SpecularIntensity');
235
- const roughnessIntensity = this.getFieldValue("RoughnessIntensity");
236
- const metalnessIntensity = this.getFieldValue("MetalnessIntensity");
237
- const lightMapIntensity = this.getFieldValue('LightMapIntensity');
238
- const pointSize = this.getFieldValue("PointSize");
239
- const pointSizeAttenuation = this.getFieldValue("PointSizeAttenuation");
240
- const vertexColors = this.getFieldValue("VertexColors");
241
- const alphaTest = this.getFieldValue("AlphaTest");
242
- const blending = this.getFieldValue("Blending");
243
- const blendSource = this.getFieldValue("BlendSrc");
244
- const blendDest = this.getFieldValue("BlendDest");
245
- const blendEquation = this.getFieldValue("BlendEquation");
246
- const flatShading = this.getFieldValue("FlatShading");
247
- const transparent = this.getFieldValue("Transparent");
248
- const depthTest = this.getFieldValue("DepthTest");
249
- const depthWrite = this.getFieldValue("DepthWrite");
250
- const depthMode = this.getFieldValue("DepthMode");
251
- const opacity = this.getFieldValue("Opacity");
252
- const culling = this.getFieldValue("Culling");
253
- const surfaceEnvCombination = this.getFieldValue("SurfaceEnvironmentCombination");
254
- const refractionRatio = this.getFieldValue("RefractionRatio");
255
- const wireframe = this.getFieldValue("Wireframe");
256
- const shininess = this.getFieldValue("Shininess");
257
- const promises = [];
258
- // Properties for all materials
259
- this.material.vertexColors = vertexColors;
260
- this.material.opacity = opacity;
261
- this.material.transparent = transparent;
262
- this.material.alphaTest = alphaTest;
263
- this.material.depthTest = depthTest;
264
- this.material.depthWrite = depthWrite;
265
- this.setBlending(blending);
266
- this.setCulling(culling);
267
- this.setBlendSource(blendSource);
268
- this.setBlendDest(blendDest);
269
- this.setBlendEquation(blendEquation);
270
- this.setDepthMode(depthMode);
271
- // MeshStandardMaterial properties
272
- if (materialType === "Physical" && this.material instanceof MeshPhysicalMaterial) {
273
- this.material.color = this.toColorObjRgba(diffuseColor, 0xffffff);
274
- this.material.roughness = roughnessIntensity;
275
- this.material.metalness = metalnessIntensity;
276
- this.material.lightMapIntensity = lightMapIntensity;
277
- this.material.aoMapIntensity = ambientOcclusionIntensity;
278
- this.material.emissive = this.toColorObjRgba(emissiveColor, 0x000000);
279
- this.material.emissiveIntensity = emissiveIntensity;
280
- this.material.normalScale = new Vector2(normalScale.x, normalScale.y);
281
- this.material.displacementScale = displacementScale;
282
- this.material.displacementBias = displacementBias;
283
- this.material.envMapIntensity = environmentIntensity;
284
- this.material.flatShading = flatShading;
285
- this.material.wireframe = wireframe;
286
- this.setNormalType(normalType);
287
- if (albedoItem)
288
- promises.push(this.setAlbedoMapItem(albedoItem));
289
- if (lightMapItem)
290
- promises.push(this.setLightMapItem(lightMapItem));
291
- if (ambientOcclusionItem)
292
- promises.push(this.setAmbientOcclusionMapItem(ambientOcclusionItem));
293
- if (emissiveItem)
294
- promises.push(this.setEmissiveMapItem(emissiveItem));
295
- if (normalItem)
296
- promises.push(this.setNormalMapItem(normalItem));
297
- if (displacementItem)
298
- promises.push(this.setDisplacementMapItem(displacementItem));
299
- if (roughnessItem)
300
- promises.push(this.setRoughnessMapItem(roughnessItem));
301
- if (metalnessItem)
302
- promises.push(this.setMetalnessMapItem(metalnessItem));
303
- if (alphaItem)
304
- promises.push(this.setAlphaMapItem(alphaItem));
305
- if (environmentItem)
306
- promises.push(this.setEnvironmentMapItem(environmentItem));
307
- }
308
- // MeshPhysicalMaterial properties
309
- if (materialType === "Physical" && this.material instanceof MeshPhysicalMaterial) {
310
- this.material.clearcoatRoughness = clearcoatRoughness;
311
- this.material.clearcoatNormalScale = new Vector2(clearcoatNormalScale.x, clearcoatNormalScale.y);
312
- this.material.ior = indexOfRefraction;
313
- //@ts-ignore
314
- this.material.reflectivity = reflectivity;
315
- this.material.sheenColor = this.toColorObjRgba(sheenColor, 0xffffff);
316
- this.material.sheenRoughness = sheenRoughness || 0;
317
- this.material.thickness = thickness || 0;
318
- this.material.attenuationDistance = attenuationDistance || Infinity;
319
- this.material.attenuationColor = this.toColorObjRgba(attenuationColor, 0xffffff);
320
- this.material.specularIntensity = specularIntensity;
321
- this.material.specularColor = this.toColorObjRgba(specularColor, 0xffffff);
322
- this.material.sheen = sheen || 0;
323
- this.material.clearcoat = clearcoatLevel;
324
- this.material.transmission = transmission;
325
- if (clearcoatItem)
326
- promises.push(this.setClearcoatMapItem(clearcoatItem));
327
- if (clearcoatRoughnessItem)
328
- promises.push(this.setClearcoatRoughnessMapItem(clearcoatRoughnessItem));
329
- if (clearcoatNormalItem)
330
- promises.push(this.setClearcoatNormalMapItem(clearcoatNormalItem));
331
- if (sheenColorItem)
332
- promises.push(this.setSheenColorMapItem(sheenColorItem));
333
- if (transmissionItem)
334
- promises.push(this.setTransmissionMapItem(transmissionItem));
335
- if (thicknessItem)
336
- promises.push(this.setThicknessMapItem(thicknessItem));
337
- if (specularIntensityItem)
338
- promises.push(this.setSpecularIntensityMapItem(specularIntensityItem));
339
- if (specularColorItem)
340
- promises.push(this.setSpecularColorMapItem(specularColorItem));
341
- if (sheenRoughnessItem)
342
- promises.push(this.setSheenRoughnessMapItem(sheenRoughnessItem));
343
- }
344
- // PointsMaterial properties
345
- if (materialType === "Point" && this.material instanceof PointsMaterial) {
346
- this.material.color = this.toColorObjRgba(diffuseColor, 0xffffff);
347
- this.material.size = pointSize / 1000;
348
- this.material.sizeAttenuation = pointSizeAttenuation;
349
- if (albedoItem)
350
- promises.push(this.setAlbedoMapItem(albedoItem));
351
- if (alphaItem)
352
- promises.push(this.setAlphaMapItem(alphaItem));
353
- }
354
- // MeshBasicMaterial properties
355
- if (materialType === "Basic" && this.material instanceof MeshBasicMaterial) {
356
- this.material.color = this.toColorObjRgba(emissionColor, 0xffffff);
357
- this.material.aoMapIntensity = ambientOcclusionIntensity;
358
- this.material.lightMapIntensity = lightMapIntensity;
359
- this.material.reflectivity = reflectivity;
360
- this.material.refractionRatio = refractionRatio;
361
- this.material.wireframe = wireframe;
362
- this.setCombineMode(surfaceEnvCombination);
363
- if (alphaItem)
364
- promises.push(this.setAlphaMapItem(alphaItem));
365
- if (ambientOcclusionItem)
366
- promises.push(this.setAmbientOcclusionMapItem(ambientOcclusionItem));
367
- if (environmentItem)
368
- promises.push(this.setEnvironmentMapItem(environmentItem));
369
- if (lightMapItem)
370
- promises.push(this.setLightMapItem(lightMapItem));
371
- if (albedoItem)
372
- promises.push(this.setAlbedoMapItem(albedoItem));
373
- if (specularMapItem)
374
- promises.push(this.setSpecularMapItem(specularMapItem));
375
- }
376
- // MeshNormalMaterial properties
377
- if (materialType === "Normal" && this.material instanceof MeshNormalMaterial) {
378
- this.material.displacementScale = displacementScale;
379
- this.material.displacementBias = displacementBias;
380
- this.material.flatShading = flatShading;
381
- this.material.normalScale = new Vector2(normalScale.x, normalScale.y);
382
- this.material.wireframe = wireframe;
383
- this.setNormalType(normalType);
384
- if (displacementItem)
385
- promises.push(this.setDisplacementMapItem(displacementItem));
386
- if (normalItem)
387
- promises.push(this.setNormalMapItem(normalItem));
388
- }
389
- // MeshToonMaterial properties
390
- if (materialType === "Toon" && this.material instanceof MeshToonMaterial) {
391
- this.material.aoMapIntensity = ambientOcclusionIntensity;
392
- this.material.color = this.toColorObjRgba(diffuseColor, 0xffffff);
393
- this.material.displacementScale = displacementScale;
394
- this.material.displacementBias = displacementBias;
395
- this.material.emissive = this.toColorObjRgba(emissiveColor, 0x000000);
396
- this.material.emissiveIntensity = emissiveIntensity;
397
- this.material.lightMapIntensity = lightMapIntensity;
398
- this.material.normalScale = new Vector2(normalScale.x, normalScale.y);
399
- this.material.wireframe = wireframe;
400
- this.setNormalType(normalType);
401
- if (emissiveItem)
402
- promises.push(this.setEmissiveMapItem(emissiveItem));
403
- if (displacementItem)
404
- promises.push(this.setDisplacementMapItem(displacementItem));
405
- if (ambientOcclusionItem)
406
- promises.push(this.setAmbientOcclusionMapItem(ambientOcclusionItem));
407
- if (alphaItem)
408
- promises.push(this.setAlphaMapItem(alphaItem));
409
- if (gradientItem)
410
- promises.push(this.setGradientMapItem(gradientItem));
411
- if (lightMapItem)
412
- promises.push(this.setLightMapItem(lightMapItem));
413
- if (albedoItem)
414
- promises.push(this.setAlbedoMapItem(albedoItem));
415
- if (normalItem)
416
- promises.push(this.setNormalMapItem(normalItem));
417
- }
418
- // MeshMatcapMaterial properties
419
- if (materialType === "Matcap" && this.material instanceof MeshMatcapMaterial) {
420
- this.material.color = this.toColorObjRgba(diffuseColor, 0xffffff);
421
- this.material.displacementScale = displacementScale;
422
- this.material.displacementBias = displacementBias;
423
- this.material.flatShading = flatShading;
424
- this.material.normalScale = new Vector2(normalScale.x, normalScale.y);
425
- this.setNormalType(normalType);
426
- if (displacementItem)
427
- promises.push(this.setDisplacementMapItem(displacementItem));
428
- if (alphaItem)
429
- promises.push(this.setAlphaMapItem(alphaItem));
430
- if (albedoItem)
431
- promises.push(this.setAlbedoMapItem(albedoItem));
432
- if (matcapItem)
433
- promises.push(this.setMatcapMapItem(matcapItem));
434
- if (normalItem)
435
- promises.push(this.setNormalMapItem(normalItem));
436
- }
437
- // MeshLambertMaterial properties
438
- if (materialType === "Lambert" && this.material instanceof MeshLambertMaterial) {
439
- this.material.aoMapIntensity = ambientOcclusionIntensity;
440
- this.material.color = this.toColorObjRgba(diffuseColor, 0xffffff);
441
- this.material.displacementScale = displacementScale;
442
- this.material.displacementBias = displacementBias;
443
- this.material.emissive = this.toColorObjRgba(emissiveColor, 0x000000);
444
- this.material.emissiveIntensity = emissiveIntensity;
445
- this.material.flatShading = flatShading;
446
- this.material.lightMapIntensity = lightMapIntensity;
447
- this.material.normalScale = new Vector2(normalScale.x, normalScale.y);
448
- this.material.reflectivity = reflectivity;
449
- this.material.refractionRatio = refractionRatio;
450
- this.material.wireframe = wireframe;
451
- this.setNormalType(normalType);
452
- this.setCombineMode(surfaceEnvCombination);
453
- if (ambientOcclusionItem)
454
- promises.push(this.setAmbientOcclusionMapItem(ambientOcclusionItem));
455
- if (alphaItem)
456
- promises.push(this.setAlphaMapItem(alphaItem));
457
- if (displacementItem)
458
- promises.push(this.setDisplacementMapItem(displacementItem));
459
- if (emissiveItem)
460
- promises.push(this.setEmissiveMapItem(emissiveItem));
461
- if (environmentItem)
462
- promises.push(this.setEnvironmentMapItem(environmentItem));
463
- if (lightMapItem)
464
- promises.push(this.setLightMapItem(lightMapItem));
465
- if (normalItem)
466
- promises.push(this.setNormalMapItem(normalItem));
467
- if (albedoItem)
468
- promises.push(this.setAlbedoMapItem(albedoItem));
469
- if (specularMapItem)
470
- promises.push(this.setSpecularMapItem(specularMapItem));
471
- }
472
- // MesehPhongMaterial properties
473
- if (materialType === "Phong" && this.material instanceof MeshPhongMaterial) {
474
- this.material.aoMapIntensity = ambientOcclusionIntensity;
475
- this.material.color = this.toColorObjRgba(diffuseColor, 0xffffff);
476
- this.material.displacementScale = displacementScale;
477
- this.material.displacementBias = displacementBias;
478
- this.material.emissive = this.toColorObjRgba(emissiveColor, 0x000000);
479
- this.material.emissiveIntensity = emissiveIntensity;
480
- this.material.flatShading = flatShading;
481
- this.material.lightMapIntensity = lightMapIntensity;
482
- this.material.normalScale = new Vector2(normalScale.x, normalScale.y);
483
- this.material.reflectivity = reflectivity;
484
- this.material.refractionRatio = refractionRatio;
485
- this.material.wireframe = wireframe;
486
- this.material.specular = this.toColorObjRgba(specularColor, 0xffffff);
487
- this.material.shininess = shininess;
488
- this.setNormalType(normalType);
489
- this.setCombineMode(surfaceEnvCombination);
490
- if (ambientOcclusionItem)
491
- promises.push(this.setAmbientOcclusionMapItem(ambientOcclusionItem));
492
- if (displacementItem)
493
- promises.push(this.setDisplacementMapItem(displacementItem));
494
- if (alphaItem)
495
- promises.push(this.setAlphaMapItem(alphaItem));
496
- if (emissiveItem)
497
- promises.push(this.setEmissiveMapItem(emissiveItem));
498
- if (environmentItem)
499
- promises.push(this.setEnvironmentMapItem(environmentItem));
500
- if (lightMapItem)
501
- promises.push(this.setLightMapItem(lightMapItem));
502
- if (normalItem)
503
- promises.push(this.setNormalMapItem(normalItem));
504
- if (albedoItem)
505
- promises.push(this.setAlbedoMapItem(albedoItem));
506
- if (specularMapItem)
507
- promises.push(this.setSpecularMapItem(specularMapItem));
508
- }
509
- if (materialType === "Shader" && this.material instanceof ShaderMaterial) {
510
- this.material.wireframe = wireframe;
511
- }
512
- return Promise.all(promises);
513
- }
514
- async destroy() {
515
- if (this.material) {
516
- // activate all channels first if any are deactivated
517
- this.setAlbedoActive(true);
518
- this.setNormalActive(true);
519
- this.setMetalnessActive(true);
520
- this.setRoughnessActive(true);
521
- this.setAmbientOcclusionActive(true);
522
- this.setEnvironmentActive(true);
523
- this.setGradientActive(true);
524
- this.setSpecularMapActive(true);
525
- this.setMatcapActive(true);
526
- this.renderer.removeMaterial(this);
527
- this.material.dispose();
528
- this.material = undefined;
529
- }
530
- this.unloadShaders();
531
- this.unloadMap("AlbedoMap");
532
- this.unloadMap("LightMap");
533
- this.unloadMap("AmbientOcclusionMap");
534
- this.unloadMap("EmissiveMap");
535
- this.unloadMap("NormalMap");
536
- this.unloadMap("DisplacementMap");
537
- this.unloadMap("RoughnessMap");
538
- this.unloadMap("MetalnessMap");
539
- this.unloadMap("AlphaMap");
540
- this.unloadMap("EnvironmentMap");
541
- this.unloadMap("ClearcoatMap");
542
- this.unloadMap("ClearcoatRoughnessMap");
543
- this.unloadMap("ClearcoatNormalMap");
544
- this.unloadMap("SheenColorMap");
545
- this.unloadMap("TransmissionMap");
546
- this.unloadMap("ThicknessMap");
547
- this.unloadMap("SpecularIntensityMap");
548
- this.unloadMap("SpecularColorMap");
549
- this.unloadMap("SheenRoughnessMap");
550
- this.unloadMap("SpecularMap");
551
- this.unloadMap("GradientMap");
552
- this.unloadMap("MatcapMap");
553
- this.state = ItemState.Destroyed;
554
- }
555
- unloadMap(mapName) {
556
- const textureName = `${mapName}Texture`;
557
- if (!this[textureName])
558
- return;
559
- this.engine.loadingManager.unload(this.getId(), this[textureName]);
560
- this[textureName] = null;
561
- }
562
- unloadShaders() {
563
- this.unloadPixelShader();
564
- this.unloadVertexShader();
565
- }
566
- unloadPixelShader() {
567
- if (!this.pixelShader)
568
- return;
569
- this.engine.loadingManager.unload(this.getId(), this.pixelShader);
570
- this.pixelShader.$off('item:objectUpdated', this.setPixelShaderCode, this);
571
- this.pixelShader = undefined;
572
- }
573
- unloadVertexShader() {
574
- if (!this.vertexShader)
575
- return;
576
- this.engine.loadingManager.unload(this.getId(), this.vertexShader);
577
- this.vertexShader.$off('item:objectUpdated', this.setVertexShaderCode, this);
578
- this.vertexShader = undefined;
579
- }
580
- async loadShaders() {
581
- const p1 = this.loadPixelShader();
582
- const p2 = this.loadVertexShader();
583
- return Promise.all([p1, p2]);
584
- }
585
- async loadPixelShader(value) {
586
- const pixelShader = value === undefined ? this.getFieldValue("PixelShader") : value;
587
- if (pixelShader) {
588
- this.pixelShader = await this.engine.loadingManager.loadPixelShader(this.getId(), pixelShader);
589
- this.pixelShader.$on('item:objectUpdated', this.setPixelShaderCode, this);
590
- }
591
- }
592
- async loadVertexShader(value) {
593
- const vertexShader = value === undefined ? this.getFieldValue("VertexShader") : value;
594
- if (vertexShader) {
595
- this.vertexShader = await this.engine.loadingManager.loadVertexShader(this.getId(), vertexShader);
596
- this.vertexShader.$on('item:objectUpdated', this.setVertexShaderCode, this);
597
- }
598
- }
599
- recreateThreeJsMaterial = async () => {
600
- await this._createThreeJsMaterial();
601
- await this.setProperties();
602
- this.update();
603
- this.state = ItemState.Finished;
604
- };
605
- async _createThreeJsMaterial() {
606
- let newMaterial;
607
- if (this.material) {
608
- this.destroy();
609
- }
610
- await this.loadShaders();
611
- const materialType = this.getFieldValue("MaterialType");
612
- switch (materialType) {
613
- case "Physical":
614
- newMaterial = new MeshPhysicalMaterial();
615
- break;
616
- case "Point":
617
- newMaterial = new PointsMaterial();
618
- break;
619
- case "Shader":
620
- newMaterial = this.createShaderMaterial();
621
- break;
622
- case "Basic":
623
- newMaterial = new MeshBasicMaterial();
624
- break;
625
- case "Normal":
626
- newMaterial = new MeshNormalMaterial();
627
- break;
628
- case "Toon":
629
- newMaterial = new MeshToonMaterial();
630
- break;
631
- case "Matcap":
632
- newMaterial = new MeshMatcapMaterial();
633
- break;
634
- case "Lambert":
635
- newMaterial = new MeshLambertMaterial();
636
- break;
637
- case "Phong":
638
- newMaterial = new MeshPhongMaterial();
639
- break;
640
- default:
641
- console.warn("Material type not supported: ", materialType);
642
- console.warn("Defaulting to physical material.");
643
- newMaterial = new MeshPhysicalMaterial();
644
- }
645
- this.material = newMaterial;
646
- this.renderer.addMaterial(this);
647
- this.$emit('item:objectUpdated', this);
648
- }
649
- createShaderMaterial() {
650
- const psCode = this.pixelShader ? this.pixelShader.getCode() : DEFAULT_PIXEL_SHADER;
651
- const vsCode = this.vertexShader ? this.vertexShader.getCode() : DEFAULT_VERTEX_SHADER;
652
- const newMaterial = new ShaderMaterial({
653
- uniforms: {
654
- iTime: { value: 0.0 },
655
- iResolution: { value: new Vector2() }
656
- },
657
- vertexShader: vsCode,
658
- fragmentShader: psCode
659
- });
660
- return newMaterial;
661
- }
662
- setVertexShaderCode = () => {
663
- if (!this.material || !(this.material instanceof ShaderMaterial))
664
- return;
665
- this.material.vertexShader = this.vertexShader ? this.vertexShader.getCode() : DEFAULT_VERTEX_SHADER;
666
- this.material.needsUpdate = true;
667
- };
668
- setPixelShaderCode = () => {
669
- if (!this.material || !(this.material instanceof ShaderMaterial))
670
- return;
671
- this.material.fragmentShader = this.pixelShader ? this.pixelShader.getCode() : DEFAULT_PIXEL_SHADER;
672
- this.material.needsUpdate = true;
673
- };
674
- getChannels() {
675
- return [
676
- {
677
- name: "albedo",
678
- displayName: "Albedo",
679
- active: this.isAlbedoMapSet()
680
- },
681
- {
682
- name: "alpha",
683
- displayName: "Alpha",
684
- active: this.isAlphaMapSet()
685
- },
686
- {
687
- name: "normal",
688
- displayName: "Normal",
689
- active: this.isNormalMapSet()
690
- },
691
- {
692
- name: "roughness",
693
- displayName: "Roughness",
694
- active: this.isRoughnessMapSet()
695
- },
696
- {
697
- name: "metalness",
698
- displayName: "Metalness",
699
- active: this.isMetalnessMapSet()
700
- },
701
- {
702
- name: "ambientOcclusion",
703
- displayName: "Ambient Occlusion",
704
- active: this.isAmbientOcclusionMapSet()
705
- },
706
- {
707
- name: "emissive",
708
- displayName: "Emissive",
709
- active: this.isEmissiveMapSet()
710
- },
711
- {
712
- name: "displacement",
713
- displayName: "Displacement",
714
- active: this.isDisplacementMapSet()
715
- },
716
- {
717
- name: "transmission",
718
- displayName: "Transmission",
719
- active: this.isTransmissionMapSet()
720
- },
721
- {
722
- name: "clearcoat",
723
- displayName: "Clearcoat",
724
- active: this.isClearcoatMapSet()
725
- },
726
- {
727
- name: "clearcoatNormal",
728
- displayName: "Clearcoat Normal",
729
- active: this.isClearcoatNormalMapSet()
730
- },
731
- {
732
- name: "clearcoatRoughness",
733
- displayName: "Clearcoat Roughness",
734
- active: this.isClearcoatRoughnessMapSet()
735
- },
736
- {
737
- name: "environment",
738
- displayName: "Environment",
739
- active: this.isEnvironmentMapSet()
740
- },
741
- {
742
- name: "sheenRoughness",
743
- displayName: "Sheen Roughness",
744
- active: this.isSheenRoughnessMapSet()
745
- },
746
- {
747
- name: "sheenColor",
748
- displayName: "Sheen Color",
749
- active: this.isSheenColorMapSet()
750
- },
751
- {
752
- name: "specularColor",
753
- displayName: "Specular Color",
754
- active: this.isSpecularColorMapSet()
755
- },
756
- {
757
- name: "specularIntensity",
758
- displayName: "Specular Intensity",
759
- active: this.isSpecularIntensityMapSet()
760
- },
761
- {
762
- name: "thickness",
763
- displayName: "Thickness",
764
- active: this.isThicknessMapSet()
765
- },
766
- {
767
- name: "lightMap",
768
- displayName: "LightMap",
769
- active: this.isLightMapSet()
770
- },
771
- {
772
- name: "gradient",
773
- displayName: "Gradient",
774
- active: this.isGradientMapSet()
775
- },
776
- {
777
- name: "matcap",
778
- displayName: "Matcap",
779
- active: this.isMatcapMapSet()
780
- }
781
- ];
782
- }
783
- setChannelActive(channel, value) {
784
- switch (channel) {
785
- case "albedo":
786
- this.setAlbedoActive(value);
787
- break;
788
- case "alpha":
789
- this.setAlphaActive(value);
790
- break;
791
- case "normal":
792
- this.setNormalActive(value);
793
- break;
794
- case "roughness":
795
- this.setRoughnessActive(value);
796
- break;
797
- case "metalness":
798
- this.setMetalnessActive(value);
799
- break;
800
- case "ambientOcclusion":
801
- this.setAmbientOcclusionActive(value);
802
- break;
803
- case "emissive":
804
- this.setEmissiveActive(value);
805
- break;
806
- case "displacement":
807
- this.setDisplacementActive(value);
808
- break;
809
- case "transmission":
810
- this.setTransmissionActive(value);
811
- break;
812
- case "clearcoat":
813
- this.setClearcoatActive(value);
814
- break;
815
- case "clearcoatNormal":
816
- this.setClearcoatNormalActive(value);
817
- break;
818
- case "clearcoatRoughness":
819
- this.setClearcoatRoughnessActive(value);
820
- break;
821
- case "environment":
822
- this.setEnvironmentActive(value);
823
- break;
824
- case "sheenRoughness":
825
- this.setSheenRoughnessActive(value);
826
- break;
827
- case "sheenColor":
828
- this.setSheenColorActive(value);
829
- break;
830
- case "specularColor":
831
- this.setSpecularColorActive(value);
832
- break;
833
- case "specularIntensity":
834
- this.setSpecularIntensityActive(value);
835
- break;
836
- case "thickness":
837
- this.setThicknessActive(value);
838
- break;
839
- case "lightMap":
840
- this.setLightMapActive(value);
841
- break;
842
- case "gradient":
843
- this.setGradientActive(value);
844
- break;
845
- case "matcap":
846
- this.setMatcapActive(value);
847
- break;
848
- default:
849
- console.error("Invalid channel: ", channel);
850
- break;
851
- }
852
- }
853
- update() {
854
- if (this.material) {
855
- this.material.needsUpdate = true;
856
- }
857
- }
858
- // ------------------------------------------------------------------------------------------------
859
- // ALBEDO METHODS
860
- // ------------------------------------------------------------------------------------------------
861
- isAlbedoMapSet() {
862
- return this._isMapSet("map");
863
- }
864
- async setAlbedoMapItem(item) {
865
- return this._setMapItem(item, "setAlbedoMap", undefined, true);
866
- }
867
- setAlbedoMap(texture) {
868
- this._setMap(texture, "albedoMapTexture", "map", undefined, "albedo", undefined, "Albedo");
869
- }
870
- getAlbedoMap() {
871
- return this._getMap("albedoMapTexture", "map");
872
- }
873
- setAlbedoActive(value) {
874
- this._setMapActive(value, "map", "savedAlbedo");
875
- }
876
- // ------------------------------------------------------------------------------------------------
877
- // ALPHA METHODS
878
- // ------------------------------------------------------------------------------------------------
879
- isAlphaMapSet() {
880
- return this._isMapSet("alphaMap");
881
- }
882
- async setAlphaMapItem(item) {
883
- return this._setMapItem(item, "setAlphaMap");
884
- }
885
- setAlphaMap(texture) {
886
- this._setMap(texture, "alphaMapTexture", "alphaMap", undefined, "alpha", undefined, "Alpha");
887
- }
888
- getAlphaMap() {
889
- return this._getMap("alphaMapTexture", "alphaMap");
890
- }
891
- setAlphaActive(value) {
892
- this._setMapActive(value, "alphaMap", "savedAlpha");
893
- }
894
- // ------------------------------------------------------------------------------------------------
895
- // GRADIENT METHODS
896
- // ------------------------------------------------------------------------------------------------
897
- isGradientMapSet() {
898
- return this._isMapSet("gradientMap");
899
- }
900
- async setGradientMapItem(item) {
901
- this._setMapItem(item, "setGradientMap");
902
- }
903
- setGradientMap(texture) {
904
- this._setMap(texture, "gradientMapTexture", "gradientMap", ClampToEdgeWrapping, "gradient", undefined, "Gradient");
905
- }
906
- getGradientMap() {
907
- return this._getMap("gradientMapTexture", "gradientMap");
908
- }
909
- setGradientActive(value) {
910
- this._setMapActive(value, "gradientMap", "savedGradient");
911
- }
912
- // ------------------------------------------------------------------------------------------------
913
- // MATCAP METHODS
914
- // ------------------------------------------------------------------------------------------------
915
- isMatcapMapSet() {
916
- return this._isMapSet("matcap");
917
- }
918
- async setMatcapMapItem(item) {
919
- this._setMapItem(item, "setMatcap");
920
- }
921
- setMatcap(texture) {
922
- this._setMap(texture, "matcapMapTexture", "matcap", ClampToEdgeWrapping, "matcap", undefined, "Matcap");
923
- }
924
- getMatcapMap() {
925
- return this._getMap("matcapMapTexture", "matcap");
926
- }
927
- setMatcapActive(value) {
928
- this._setMapActive(value, "matcap", "savedMatcap");
929
- }
930
- // ------------------------------------------------------------------------------------------------
931
- // NORMAL METHODS
932
- // ------------------------------------------------------------------------------------------------
933
- isNormalMapSet() {
934
- return this._isMapSet("normalMap");
935
- }
936
- async setNormalMapItem(item) {
937
- return this._setMapItem(item, "setNormalMap");
938
- }
939
- setNormalMap(texture) {
940
- this._setMap(texture, "normalMapTexture", "normalMap", undefined, "normal", undefined, "Normal");
941
- }
942
- getNormalMap() {
943
- return this._getMap("normalMapTexture", "normalMap");
944
- }
945
- setNormalActive(value) {
946
- this._setMapActive(value, "normalMap", "savedNormal");
947
- }
948
- // ------------------------------------------------------------------------------------------------
949
- // METALNESS METHODS
950
- // ------------------------------------------------------------------------------------------------
951
- isMetalnessMapSet() {
952
- return this._isMapSet("metalnessMap");
953
- }
954
- async setMetalnessMapItem(item) {
955
- return this._setMapItem(item, "setMetalnessMap");
956
- }
957
- setMetalnessMap(texture) {
958
- this._setMap(texture, "metalnessMapTexture", "metalnessMap", undefined, "metalness", undefined, "Metalness");
959
- }
960
- getMetalnessMap() {
961
- return this._getMap("metalnessMapTexture", "metalnessMap");
962
- }
963
- setMetalnessActive(value) {
964
- this._setMapActive(value, "metalnessMap", "savedMetalness");
965
- }
966
- // ------------------------------------------------------------------------------------------------
967
- // ROUGHNESS METHODS
968
- // ------------------------------------------------------------------------------------------------
969
- isRoughnessMapSet() {
970
- return this._isMapSet("roughnessMap");
971
- }
972
- async setRoughnessMapItem(item) {
973
- return this._setMapItem(item, "setRoughnessMap");
974
- }
975
- setRoughnessMap(texture) {
976
- this._setMap(texture, "roughnessMapTexture", "roughnessMap", undefined, "roughness", undefined, "Roughness");
977
- }
978
- getRoughnessMap() {
979
- return this._getMap("roughnessMapTexture", "roughnessMap");
980
- }
981
- setRoughnessActive(value) {
982
- this._setMapActive(value, "roughnessMap", "savedRoughness");
983
- }
984
- // ------------------------------------------------------------------------------------------------
985
- // AMBIENT OCCLUSION METHODS
986
- // ------------------------------------------------------------------------------------------------
987
- isAmbientOcclusionMapSet() {
988
- return this._isMapSet("aoMap");
989
- }
990
- async setAmbientOcclusionMapItem(item) {
991
- return this._setMapItem(item, "setAmbientOcclusionMap");
992
- }
993
- setAmbientOcclusionMap(texture) {
994
- this._setMap(texture, "ambientOcclusionMapTexture", "aoMap", undefined, "ambientocclusion", undefined, "AmbientOcclusion");
995
- }
996
- getAmbientOcclusionMap() {
997
- return this._getMap("ambientOcclusionMapTexture", "aoMap");
998
- }
999
- setAmbientOcclusionActive(value) {
1000
- this._setMapActive(value, "aoMap", "savedAmbientOcclusion");
1001
- }
1002
- // ------------------------------------------------------------------------------------------------
1003
- // ENVIRONMENT METHODS
1004
- // ------------------------------------------------------------------------------------------------
1005
- isEnvironmentMapSet() {
1006
- return this._isMapSet("envMap");
1007
- }
1008
- async setEnvironmentMapItem(item) {
1009
- return this._setMapItem(item, "setEnvironmentMap", true);
1010
- }
1011
- setEnvironmentMap(texture) {
1012
- this._setMap(texture, "environmentMapTexture", "envMap", ClampToEdgeWrapping, "environment");
1013
- }
1014
- getEnvironmentMap() {
1015
- return this._getMap("environmentMapTexture", "envMap");
1016
- }
1017
- setEnvironmentActive(value) {
1018
- this._setMapActive(value, "envMap", "savedEnvironment");
1019
- }
1020
- // ------------------------------------------------------------------------------------------------
1021
- // EMISSIVE METHODS
1022
- // ------------------------------------------------------------------------------------------------
1023
- isEmissiveMapSet() {
1024
- return this._isMapSet("emissiveMap");
1025
- }
1026
- async setEmissiveMapItem(item) {
1027
- return this._setMapItem(item, "setEmissiveMap");
1028
- }
1029
- setEmissiveMap(texture) {
1030
- this._setMap(texture, "emissiveMapTexture", "emissiveMap", undefined, "emissive", undefined, "Emissive");
1031
- }
1032
- getEmissiveMap() {
1033
- return this._getMap("emissiveMapTexture", "emissiveMap");
1034
- }
1035
- setEmissiveActive(value) {
1036
- this._setMapActive(value, "emissiveMap", "savedEmissive");
1037
- }
1038
- // ------------------------------------------------------------------------------------------------
1039
- // DISPLACEMENT METHODS
1040
- // ------------------------------------------------------------------------------------------------
1041
- isDisplacementMapSet() {
1042
- return this._isMapSet("displacementMap");
1043
- }
1044
- async setDisplacementMapItem(item) {
1045
- return this._setMapItem(item, "setDisplacementMap");
1046
- }
1047
- setDisplacementMap(texture) {
1048
- this._setMap(texture, "displacementMapTexture", "displacementMap", undefined, "displacement", undefined, "Displacement");
1049
- }
1050
- getDisplacementMap() {
1051
- return this._getMap("displacementMapTexture", "displacementMap");
1052
- }
1053
- setDisplacementActive(value) {
1054
- this._setMapActive(value, "displacementMap", "savedDisplacement");
1055
- }
1056
- // ------------------------------------------------------------------------------------------------
1057
- // TRANSMISSION METHODS
1058
- // ------------------------------------------------------------------------------------------------
1059
- isTransmissionMapSet() {
1060
- return this._isMapSet("transmissionMap");
1061
- }
1062
- async setTransmissionMapItem(item) {
1063
- return this._setMapItem(item, "setTransmissionMap");
1064
- }
1065
- setTransmissionMap(texture) {
1066
- this._setMap(texture, "transmissionMapTexture", "transmissionMap", undefined, "transmissionMap", undefined, "Transmission");
1067
- }
1068
- getTransmissionMap() {
1069
- return this._getMap("transmissionMapTexture", "transmissionMap");
1070
- }
1071
- setTransmissionActive(value) {
1072
- this._setMapActive(value, "transmissionMap", "savedTransmission");
1073
- }
1074
- // ------------------------------------------------------------------------------------------------
1075
- // CLEARCOAT METHODS
1076
- // ------------------------------------------------------------------------------------------------
1077
- isClearcoatMapSet() {
1078
- return this._isMapSet("clearcoatMap");
1079
- }
1080
- async setClearcoatMapItem(item) {
1081
- return this._setMapItem(item, "setClearcoatMap");
1082
- }
1083
- setClearcoatMap(texture) {
1084
- this._setMap(texture, "clearcoatMapTexture", "clearcoatMap", undefined, "clearcoatMap", undefined, "Clearcoat");
1085
- }
1086
- getClearcoatMap() {
1087
- return this._getMap("clearcoatMapTexture", "clearcoatMap");
1088
- }
1089
- setClearcoatActive(value) {
1090
- this._setMapActive(value, "clearcoatMap", "savedClearcoat");
1091
- }
1092
- // ------------------------------------------------------------------------------------------------
1093
- // CLEARCOAT NORMAL METHODS
1094
- // ------------------------------------------------------------------------------------------------
1095
- isClearcoatNormalMapSet() {
1096
- return this._isMapSet("clearcoatNormalMap");
1097
- }
1098
- async setClearcoatNormalMapItem(item) {
1099
- return this._setMapItem(item, "setClearcoatNormalMap");
1100
- }
1101
- setClearcoatNormalMap(texture) {
1102
- this._setMap(texture, "clearcoatNormalMapTexture", "clearcoatNormalMap", undefined, "clearcoatNormalMap", undefined, "ClearcoatNormal");
1103
- }
1104
- getClearcoatNormalMap() {
1105
- return this._getMap("clearcoatNormalMapTexture", "clearcoatNormalMap");
1106
- }
1107
- setClearcoatNormalActive(value) {
1108
- this._setMapActive(value, "clearcoatNormalMap", "savedClearcoatNormal");
1109
- }
1110
- // ------------------------------------------------------------------------------------------------
1111
- // CLEARCOAT ROUGHNESS METHODS
1112
- // ------------------------------------------------------------------------------------------------
1113
- isClearcoatRoughnessMapSet() {
1114
- return this._isMapSet("clearcoatRoughnessMap");
1115
- }
1116
- async setClearcoatRoughnessMapItem(item) {
1117
- return this._setMapItem(item, "setClearcoatRoughnessMap");
1118
- }
1119
- setClearcoatRoughnessMap(texture) {
1120
- this._setMap(texture, "clearcoatRoughnessMapTexture", "clearcoatRoughnessMap", undefined, "clearcoatRoughnessMap", undefined, "ClearcoatRoughness");
1121
- }
1122
- getClearcoatRoughnessMap() {
1123
- return this._getMap("clearcoatRoughnessMapTexture", "clearcoatRoughnessMap");
1124
- }
1125
- setClearcoatRoughnessActive(value) {
1126
- this._setMapActive(value, "clearcoatRoughnessMap", "savedClearcoatRoughness");
1127
- }
1128
- // ------------------------------------------------------------------------------------------------
1129
- // SHEEN ROUGHNESS METHODS
1130
- // ------------------------------------------------------------------------------------------------
1131
- isSheenRoughnessMapSet() {
1132
- return this._isMapSet("sheenRoughnessMap");
1133
- }
1134
- async setSheenRoughnessMapItem(item) {
1135
- return this._setMapItem(item, "setSheenRoughnessMap");
1136
- }
1137
- setSheenRoughnessMap(texture) {
1138
- this._setMap(texture, "sheenRoughnessMapTexture", "sheenRoughnessMap", undefined, "sheenRoughnessMap", undefined, "SheenRoughness");
1139
- }
1140
- getSheenRoughnessMap() {
1141
- return this._getMap("sheenRoughnessMapTexture", "sheenRoughnessMap");
1142
- }
1143
- setSheenRoughnessActive(value) {
1144
- this._setMapActive(value, "sheenRoughnessMap", "savedSheenRoughness");
1145
- }
1146
- // ------------------------------------------------------------------------------------------------
1147
- // SHEEN COLOR METHODS
1148
- // ------------------------------------------------------------------------------------------------
1149
- isSheenColorMapSet() {
1150
- return this._isMapSet("sheenColorMap");
1151
- }
1152
- async setSheenColorMapItem(item) {
1153
- return this._setMapItem(item, "setSheenColorMap");
1154
- }
1155
- setSheenColorMap(texture) {
1156
- this._setMap(texture, "sheenColorMapTexture", "sheenColorMap", undefined, "sheenColorMap", undefined, "SheenColor");
1157
- }
1158
- getSheenColorMap() {
1159
- return this._getMap("sheenColorMapTexture", "sheenColorMap");
1160
- }
1161
- setSheenColorActive(value) {
1162
- this._setMapActive(value, "sheenColorMap", "savedSheenColor");
1163
- }
1164
- // ------------------------------------------------------------------------------------------------
1165
- // SPECULAR COLOR METHODS
1166
- // ------------------------------------------------------------------------------------------------
1167
- isSpecularColorMapSet() {
1168
- return this._isMapSet("specularColorMap");
1169
- }
1170
- async setSpecularColorMapItem(item) {
1171
- return this._setMapItem(item, "setSpecularColorMap");
1172
- }
1173
- setSpecularColorMap(texture) {
1174
- this._setMap(texture, "specularColorMapTexture", "specularColorMap", undefined, "specularColorMap", undefined, "SpecularColor");
1175
- }
1176
- getSpecularColorMap() {
1177
- return this._getMap("specularColorMapTexture", "specularColorMap");
1178
- }
1179
- setSpecularColorActive(value) {
1180
- this._setMapActive(value, "specularColorMap", "savedSpecularColor");
1181
- }
1182
- // ------------------------------------------------------------------------------------------------
1183
- // SPECULAR INTENSITY METHODS
1184
- // ------------------------------------------------------------------------------------------------
1185
- isSpecularIntensityMapSet() {
1186
- return this._isMapSet("specularIntensityMap");
1187
- }
1188
- async setSpecularIntensityMapItem(item) {
1189
- return this._setMapItem(item, "setSpecularIntensityMap");
1190
- }
1191
- setSpecularIntensityMap(texture) {
1192
- this._setMap(texture, "specularIntensityMapTexture", "specularIntensityMap", undefined, "specularIntensityMap", undefined, "SpecularIntensity");
1193
- }
1194
- getSpecularIntensityMap() {
1195
- return this._getMap("specularIntensityMapTexture", "specularIntensityMap");
1196
- }
1197
- setSpecularIntensityActive(value) {
1198
- this._setMapActive(value, "specularIntensityMap", "savedSpecularIntensity");
1199
- }
1200
- // ------------------------------------------------------------------------------------------------
1201
- // THICKNESS METHODS
1202
- // ------------------------------------------------------------------------------------------------
1203
- isThicknessMapSet() {
1204
- return this._isMapSet("thicknessMap");
1205
- }
1206
- async setThicknessMapItem(item) {
1207
- return this._setMapItem(item, "setThicknessMap");
1208
- }
1209
- setThicknessMap(texture) {
1210
- this._setMap(texture, "thicknessMapTexture", "thicknessMap", undefined, "thicknessMap", undefined, "Thickness");
1211
- }
1212
- getThicknessMap() {
1213
- return this._getMap("thicknessMapTexture", "thicknessMap");
1214
- }
1215
- setThicknessActive(value) {
1216
- this._setMapActive(value, "thicknessMap", "savedThickness");
1217
- }
1218
- // ------------------------------------------------------------------------------------------------
1219
- // LIGHTMAP METHODS
1220
- // ------------------------------------------------------------------------------------------------
1221
- isLightMapSet() {
1222
- return this._isMapSet("lightMap");
1223
- }
1224
- async setLightMapItem(item) {
1225
- return this._setMapItem(item, "setLightMap");
1226
- }
1227
- setLightMap(texture) {
1228
- this._setMap(texture, "lightMapTexture", "lightMap", undefined, "lightMap", undefined, "LightMap");
1229
- }
1230
- getLightMap() {
1231
- return this._getMap("lightMapTexture", "lightMap");
1232
- }
1233
- setLightMapActive(value) {
1234
- this._setMapActive(value, "lightMap", "savedLightMap");
1235
- }
1236
- // ------------------------------------------------------------------------------------------------
1237
- // SPECULAR MAP METHODS
1238
- // ------------------------------------------------------------------------------------------------
1239
- isSpecularMapSet() {
1240
- return this._isMapSet("specularMap");
1241
- }
1242
- async setSpecularMapItem(item) {
1243
- return this._setMapItem(item, "setSpecularMap");
1244
- }
1245
- setSpecularMap(texture) {
1246
- this._setMap(texture, "specularMapTexture", "specularMap", undefined, "specularMap", undefined, "Specular");
1247
- }
1248
- getSpecularMap() {
1249
- return this._getMap("specularMapTexture", "specularMap");
1250
- }
1251
- setSpecularMapActive(value) {
1252
- this._setMapActive(value, "specularMap", "savedSpecularMap");
1253
- }
1254
- // ------------------------------------------------------------------------------------------------
1255
- // SHADER METHODS
1256
- // ------------------------------------------------------------------------------------------------
1257
- setWireframe(enabled) {
1258
- if (this.material && "wireframe" in this.material) {
1259
- this.material.wireframe = enabled;
1260
- }
1261
- }
1262
- setNormalType(normalType) {
1263
- if (this.material && "normalMapType" in this.material) {
1264
- switch (normalType) {
1265
- case "ObjectSpace":
1266
- this.material.normalMapType = ObjectSpaceNormalMap;
1267
- break;
1268
- case "TangentSpace":
1269
- this.material.normalMapType = TangentSpaceNormalMap;
1270
- break;
1271
- default:
1272
- console.error("Material.setNormalType(): Unknown normal type: " + normalType);
1273
- break;
1274
- }
1275
- }
1276
- }
1277
- setDepthMode(depthMode) {
1278
- if (this.material) {
1279
- switch (depthMode) {
1280
- case "Never":
1281
- this.material.depthMode = NeverDepth;
1282
- break;
1283
- case "Always":
1284
- this.material.depthMode = AlwaysDepth;
1285
- break;
1286
- case "Less":
1287
- this.material.depthMode = LessDepth;
1288
- break;
1289
- case "Less/equal":
1290
- this.material.depthMode = LessEqualDepth;
1291
- break;
1292
- case "Greater/equal":
1293
- this.material.depthMode = GreaterEqualDepth;
1294
- break;
1295
- case "Greater":
1296
- this.material.depthMode = GreaterDepth;
1297
- break;
1298
- case "Not equal":
1299
- this.material.depthMode = NotEqualDepth;
1300
- break;
1301
- default:
1302
- console.error("Material.setCulling(): Unknown depth mode: " + depthMode);
1303
- break;
1304
- }
1305
- }
1306
- }
1307
- setCulling(culling) {
1308
- if (this.material) {
1309
- switch (culling) {
1310
- case "Front":
1311
- this.material.side = BackSide;
1312
- break;
1313
- case "Back":
1314
- this.material.side = FrontSide;
1315
- break;
1316
- case "Off":
1317
- this.material.side = DoubleSide;
1318
- break;
1319
- default:
1320
- console.error("Material.setCulling(): Unknown cull mode: " + culling);
1321
- break;
1322
- }
1323
- }
1324
- }
1325
- setBlending(blending) {
1326
- if (this.material) {
1327
- switch (blending) {
1328
- case "None":
1329
- this.material.blending = NoBlending;
1330
- this.material.premultipliedAlpha = false;
1331
- break;
1332
- case "Normal":
1333
- this.material.blending = NormalBlending;
1334
- this.material.premultipliedAlpha = false;
1335
- break;
1336
- case "Additive":
1337
- this.material.blending = AdditiveBlending;
1338
- this.material.premultipliedAlpha = false;
1339
- break;
1340
- case "Subtractive":
1341
- this.material.blending = SubtractiveBlending;
1342
- this.material.premultipliedAlpha = true;
1343
- break;
1344
- case "Multiply":
1345
- this.material.blending = MultiplyBlending;
1346
- this.material.premultipliedAlpha = true;
1347
- break;
1348
- case "Custom":
1349
- this.material.blending = CustomBlending;
1350
- this.material.premultipliedAlpha = false;
1351
- break;
1352
- default:
1353
- console.error("Material.setBlending(): Unknown blend mode: " + blending);
1354
- break;
1355
- }
1356
- }
1357
- }
1358
- setBlendSource(blendSource) {
1359
- if (this.material) {
1360
- switch (blendSource) {
1361
- case "Zero":
1362
- this.material.blendSrc = ZeroFactor;
1363
- break;
1364
- case "One":
1365
- this.material.blendSrc = OneFactor;
1366
- break;
1367
- case "Source color":
1368
- this.material.blendSrc = SrcColorFactor;
1369
- break;
1370
- case "One minus source color":
1371
- this.material.blendSrc = OneMinusSrcColorFactor;
1372
- break;
1373
- case "Source alpha":
1374
- this.material.blendSrc = SrcAlphaFactor;
1375
- break;
1376
- case "One minus source alpha":
1377
- this.material.blendSrc = OneMinusSrcAlphaFactor;
1378
- break;
1379
- case "Destination alpha":
1380
- this.material.blendSrc = DstAlphaFactor;
1381
- break;
1382
- case "One minus destination alpha":
1383
- this.material.blendSrc = OneMinusDstAlphaFactor;
1384
- break;
1385
- case "Destination color":
1386
- this.material.blendSrc = DstColorFactor;
1387
- break;
1388
- case "One minus destination color":
1389
- this.material.blendSrc = OneMinusDstColorFactor;
1390
- break;
1391
- case "Source alpha saturate":
1392
- this.material.blendSrc = SrcAlphaSaturateFactor;
1393
- break;
1394
- default:
1395
- console.error("Material.setBlendSource(): Unknown blend source: " + blendSource);
1396
- break;
1397
- }
1398
- }
1399
- }
1400
- setBlendDest(blendDest) {
1401
- if (this.material) {
1402
- switch (blendDest) {
1403
- case "Zero":
1404
- this.material.blendDst = ZeroFactor;
1405
- break;
1406
- case "One":
1407
- this.material.blendDst = OneFactor;
1408
- break;
1409
- case "Source color":
1410
- this.material.blendDst = SrcColorFactor;
1411
- break;
1412
- case "One minus source color":
1413
- this.material.blendDst = OneMinusSrcColorFactor;
1414
- break;
1415
- case "Source alpha":
1416
- this.material.blendDst = SrcAlphaFactor;
1417
- break;
1418
- case "One minus source alpha":
1419
- this.material.blendDst = OneMinusSrcAlphaFactor;
1420
- break;
1421
- case "Destination alpha":
1422
- this.material.blendDst = DstAlphaFactor;
1423
- break;
1424
- case "One minus destination alpha":
1425
- this.material.blendDst = OneMinusDstAlphaFactor;
1426
- break;
1427
- case "Destination color":
1428
- this.material.blendDst = DstColorFactor;
1429
- break;
1430
- case "One minus destination color":
1431
- this.material.blendDst = OneMinusDstColorFactor;
1432
- break;
1433
- default:
1434
- console.error("Material.setBlendDest(): Unknown blend dest: " + blendDest);
1435
- break;
1436
- }
1437
- }
1438
- }
1439
- setBlendEquation(blendEquation) {
1440
- if (this.material) {
1441
- switch (blendEquation) {
1442
- case "Add":
1443
- this.material.blendEquation = AddEquation;
1444
- break;
1445
- case "Subtract":
1446
- this.material.blendEquation = SubtractEquation;
1447
- break;
1448
- case "Reverse subtract":
1449
- this.material.blendEquation = ReverseSubtractEquation;
1450
- break;
1451
- case "Min":
1452
- this.material.blendEquation = MinEquation;
1453
- break;
1454
- case "Max":
1455
- this.material.blendEquation = MaxEquation;
1456
- break;
1457
- default:
1458
- console.error("Material.setBlendEquation(): Unknown blend equation: " + blendEquation);
1459
- break;
1460
- }
1461
- }
1462
- }
1463
- setCombineMode(combineMode) {
1464
- if (this.material && "combine" in this.material) {
1465
- switch (combineMode) {
1466
- case "Multiply":
1467
- this.material.combine = MultiplyOperation;
1468
- break;
1469
- case "Mix":
1470
- this.material.combine = MixOperation;
1471
- break;
1472
- case "Add":
1473
- this.material.combine = AddOperation;
1474
- break;
1475
- default:
1476
- console.error("Material.setCombineMode(): Unknown combine mode: " + combineMode);
1477
- break;
1478
- }
1479
- }
1480
- }
1481
- setSpecularColor(value) {
1482
- if (!this.material)
1483
- return;
1484
- const materialType = this.getFieldValue("MaterialType");
1485
- if (materialType === "Phong") {
1486
- this.material.specular = this.toColorObjRgba(value, 0x111111);
1487
- }
1488
- else {
1489
- this.material.specularColor = this.toColorObjRgba(value, 0xffffff);
1490
- }
1491
- }
1492
- updateEvent(field, value) {
1493
- if (!this.material) {
1494
- return;
1495
- }
1496
- super.updateEvent(field, value);
1497
- switch (field) {
1498
- case "MaterialType":
1499
- this.recreateThreeJsMaterial();
1500
- break;
1501
- case "AttenuationColor":
1502
- this.material.attenuationColor = this.toColorObjRgba(value, 0xffffff);
1503
- break;
1504
- case "AttenuationDistance":
1505
- this.material.attenuationDistance = value;
1506
- break;
1507
- case "DiffuseColor":
1508
- this.material.color = this.toColorObjRgba(value, 0xffffff);
1509
- break;
1510
- case "EmissiveColor":
1511
- this.material.emissive = this.toColorObjRgba(value, 0x000000);
1512
- break;
1513
- case "Sheen":
1514
- this.material.sheen = value;
1515
- break;
1516
- case "SheenColor":
1517
- this.material.sheenColor = this.toColorObjRgba(value, 0xffffff);
1518
- break;
1519
- case "SheenColorMap":
1520
- this.setSheenColorMapItem(value).catch(function (err) {
1521
- console.error(err);
1522
- });
1523
- break;
1524
- case "SheenRoughness":
1525
- this.material.sheenRoughness = value;
1526
- break;
1527
- case "SheenRoughnessMap":
1528
- this.setSheenRoughnessMapItem(value).catch(function (err) {
1529
- console.error(err);
1530
- });
1531
- break;
1532
- case "Albedo":
1533
- this.setAlbedoMapItem(value).catch(function (err) {
1534
- console.error(err);
1535
- });
1536
- break;
1537
- case "Alpha":
1538
- this.setAlphaMapItem(value).catch(function (err) {
1539
- console.error(err);
1540
- });
1541
- break;
1542
- case "Metalness":
1543
- this.setMetalnessMapItem(value).catch(function (err) {
1544
- console.error(err);
1545
- });
1546
- break;
1547
- case "Roughness":
1548
- this.setRoughnessMapItem(value).catch(function (err) {
1549
- console.error(err);
1550
- });
1551
- break;
1552
- case "SpecularIntensity":
1553
- this.material.specularIntensity = value;
1554
- break;
1555
- case "SpecularIntensityMap":
1556
- this.setSpecularIntensityMapItem(value).catch(function (err) {
1557
- console.error(err);
1558
- });
1559
- break;
1560
- case "SpecularColor":
1561
- this.setSpecularColor(value);
1562
- break;
1563
- case "SpecularColorMap":
1564
- this.setSpecularColorMapItem(value).catch(function (err) {
1565
- console.error(err);
1566
- });
1567
- break;
1568
- case "Thickness":
1569
- this.material.thickness = value;
1570
- break;
1571
- case "ThicknessMap":
1572
- this.setThicknessMapItem(value).catch(function (err) {
1573
- console.error(err);
1574
- });
1575
- break;
1576
- case "LightMapIntensity":
1577
- this.material.lightMapIntensity = value;
1578
- break;
1579
- case "LightMap":
1580
- this.setLightMapItem(value).catch(function (err) {
1581
- console.error(err);
1582
- });
1583
- break;
1584
- case "Normal":
1585
- this.setNormalMapItem(value).catch(function (err) {
1586
- console.error(err);
1587
- });
1588
- break;
1589
- case "AmbientOcclusion":
1590
- this.setAmbientOcclusionMapItem(value).catch(function (err) {
1591
- console.error(err);
1592
- });
1593
- break;
1594
- case "Environment":
1595
- this.setEnvironmentMapItem(value).catch(function (err) {
1596
- console.error(err);
1597
- });
1598
- break;
1599
- case "Emissive":
1600
- this.setEmissiveMapItem(value).catch(function (err) {
1601
- console.error(err);
1602
- });
1603
- break;
1604
- case "Displacement":
1605
- this.setDisplacementMapItem(value).catch(function (err) {
1606
- console.error(err);
1607
- });
1608
- break;
1609
- case "TransmissionMap":
1610
- this.setTransmissionMapItem(value).catch(function (err) {
1611
- console.error(err);
1612
- });
1613
- break;
1614
- case "ClearcoatMap":
1615
- this.setClearcoatMapItem(value).catch(function (err) {
1616
- console.error(err);
1617
- });
1618
- break;
1619
- case "ClearcoatNormalMap":
1620
- this.setClearcoatNormalMapItem(value).catch(function (err) {
1621
- console.error(err);
1622
- });
1623
- break;
1624
- case "ClearcoatRoughnessMap":
1625
- this.setClearcoatRoughnessMapItem(value).catch(function (err) {
1626
- console.error(err);
1627
- });
1628
- break;
1629
- case "VertexShader":
1630
- this.unloadVertexShader();
1631
- this.loadVertexShader(value).then(this.setVertexShaderCode);
1632
- break;
1633
- case "PixelShader":
1634
- this.unloadPixelShader();
1635
- this.loadPixelShader(value).then(this.setPixelShaderCode);
1636
- break;
1637
- case "AmbientOcclusionIntensity":
1638
- this.material.aoMapIntensity = value;
1639
- break;
1640
- case "ClearcoatLevel":
1641
- this.material.clearcoat = value;
1642
- break;
1643
- case "ClearcoatRoughness":
1644
- this.material.clearcoatRoughness = value;
1645
- break;
1646
- case "ClearcoatNormalScale2d":
1647
- this.material.clearcoatNormalScale = new Vector2(value.x, value.y);
1648
- break;
1649
- case "NormalType":
1650
- this.setNormalType(value);
1651
- break;
1652
- case "IndexOfRefraction":
1653
- this.material.ior = value;
1654
- break;
1655
- case "Transmission":
1656
- this.material.transmission = value;
1657
- break;
1658
- case "Reflectivity":
1659
- this.material.reflectivity = value;
1660
- break;
1661
- case "NormalScale2d":
1662
- this.material.normalScale = new Vector2(value.x, value.y);
1663
- break;
1664
- case "RoughnessIntensity":
1665
- this.material.roughness = value;
1666
- break;
1667
- case "MetalnessIntensity":
1668
- this.material.metalness = value;
1669
- break;
1670
- case "EnvironmentIntensity":
1671
- this.material.envMapIntensity = value;
1672
- break;
1673
- case "EmissiveIntensity":
1674
- this.material.emissiveIntensity = value;
1675
- break;
1676
- case "DisplacementScale":
1677
- this.material.displacementScale = value;
1678
- break;
1679
- case "DisplacementBias":
1680
- this.material.displacementBias = value;
1681
- break;
1682
- case "PointSize":
1683
- this.material.size = value / 1000;
1684
- break;
1685
- case "PointSizeAttenuation":
1686
- this.material.sizeAttenuation = value;
1687
- break;
1688
- case "VertexColors":
1689
- this.material.vertexColors = value;
1690
- break;
1691
- case "AlphaTest":
1692
- this.material.alphaTest = value;
1693
- break;
1694
- case "Blending":
1695
- this.setBlending(value);
1696
- break;
1697
- case "BlendSrc":
1698
- this.setBlendSource(value);
1699
- break;
1700
- case "BlendDest":
1701
- this.setBlendDest(value);
1702
- break;
1703
- case "BlendEquation":
1704
- this.setBlendEquation(value);
1705
- break;
1706
- case "FlatShading":
1707
- this.material.flatShading = value;
1708
- break;
1709
- case "Transparent":
1710
- this.material.transparent = value;
1711
- break;
1712
- case "DepthTest":
1713
- this.material.depthTest = value;
1714
- break;
1715
- case "DepthWrite":
1716
- this.material.depthWrite = value;
1717
- break;
1718
- case "DepthMode":
1719
- this.setDepthMode(value);
1720
- break;
1721
- case "Opacity":
1722
- this.material.opacity = value;
1723
- break;
1724
- case "Culling":
1725
- this.setCulling(value);
1726
- break;
1727
- case "SurfaceEnvironmentCombination":
1728
- this.setCombineMode(value);
1729
- break;
1730
- case "RefractionRatio":
1731
- this.material.refractionRatio = value;
1732
- break;
1733
- case "Wireframe":
1734
- this.material.wireframe = value;
1735
- break;
1736
- case "EmissionColor":
1737
- this.material.color = this.toColorObjRgba(value, 0xffffff);
1738
- break;
1739
- case "SpecularMap":
1740
- this.setSpecularMapItem(value).catch(function (err) {
1741
- console.error(err);
1742
- });
1743
- break;
1744
- case "Gradient":
1745
- this.setGradientMapItem(value).catch(function (err) {
1746
- console.error(err);
1747
- });
1748
- break;
1749
- case "Matcap":
1750
- this.setMatcapMapItem(value).catch(function (err) {
1751
- console.error(err);
1752
- });
1753
- break;
1754
- case "Shininess":
1755
- this.material.shininess = value;
1756
- break;
1757
- }
1758
- if (this.material)
1759
- this.material.needsUpdate = true;
1760
- }
1761
- }
1762
- //# sourceMappingURL=MaterialItem.js.map