@zephyr3d/scene 0.9.22 → 0.9.24

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 (234) hide show
  1. package/dist/animation/joint_dynamics/collision.js +1 -7
  2. package/dist/animation/joint_dynamics/collision.js.map +1 -1
  3. package/dist/animation/joint_dynamics/constraints.js +2 -17
  4. package/dist/animation/joint_dynamics/constraints.js.map +1 -1
  5. package/dist/animation/joint_dynamics/controller.js +2 -20
  6. package/dist/animation/joint_dynamics/controller.js.map +1 -1
  7. package/dist/animation/joint_dynamics/joint_dynamics_system.js +1 -3
  8. package/dist/animation/joint_dynamics/joint_dynamics_system.js.map +1 -1
  9. package/dist/animation/joint_dynamics/solver.js +14 -60
  10. package/dist/animation/joint_dynamics/solver.js.map +1 -1
  11. package/dist/animation/joint_dynamics/types.js +3 -3
  12. package/dist/animation/joint_dynamics/types.js.map +1 -1
  13. package/dist/app/app.js +23 -0
  14. package/dist/app/app.js.map +1 -1
  15. package/dist/app/scriptregistry.js +16 -53
  16. package/dist/app/scriptregistry.js.map +1 -1
  17. package/dist/asset/assetmanager.js +2 -0
  18. package/dist/asset/assetmanager.js.map +1 -1
  19. package/dist/asset/model.js +22 -0
  20. package/dist/asset/model.js.map +1 -1
  21. package/dist/blitter/bilateralblur.js +3 -1
  22. package/dist/blitter/bilateralblur.js.map +1 -1
  23. package/dist/blitter/blitter.js +3 -3
  24. package/dist/blitter/blitter.js.map +1 -1
  25. package/dist/camera/camera.js +398 -45
  26. package/dist/camera/camera.js.map +1 -1
  27. package/dist/camera/perspectivecamera.js +69 -2
  28. package/dist/camera/perspectivecamera.js.map +1 -1
  29. package/dist/index.d.ts +9113 -8740
  30. package/dist/index.js +10 -2
  31. package/dist/index.js.map +1 -1
  32. package/dist/material/blinn.js +1 -1
  33. package/dist/material/blinn.js.map +1 -1
  34. package/dist/material/lambert.js +3 -3
  35. package/dist/material/lambert.js.map +1 -1
  36. package/dist/material/material.js +8 -5
  37. package/dist/material/material.js.map +1 -1
  38. package/dist/material/meshmaterial.js +17 -10
  39. package/dist/material/meshmaterial.js.map +1 -1
  40. package/dist/material/mixins/lightmodel/blinnphong.js +1 -1
  41. package/dist/material/mixins/lightmodel/blinnphong.js.map +1 -1
  42. package/dist/material/mixins/lightmodel/lambert.js +1 -1
  43. package/dist/material/mixins/lightmodel/lambert.js.map +1 -1
  44. package/dist/material/mixins/lightmodel/pbrblueprintmixin.js +21 -6
  45. package/dist/material/mixins/lightmodel/pbrblueprintmixin.js.map +1 -1
  46. package/dist/material/mixins/lightmodel/pbrmetallicroughness.js +1 -1
  47. package/dist/material/mixins/lightmodel/pbrmetallicroughness.js.map +1 -1
  48. package/dist/material/mixins/lightmodel/pbrspecularglossness.js +1 -1
  49. package/dist/material/mixins/lightmodel/pbrspecularglossness.js.map +1 -1
  50. package/dist/material/mixins/lit.js +33 -11
  51. package/dist/material/mixins/lit.js.map +1 -1
  52. package/dist/material/mixins/pbr/brdf.js +44 -12
  53. package/dist/material/mixins/pbr/brdf.js.map +1 -1
  54. package/dist/material/mixins/pbr/common.js +149 -14
  55. package/dist/material/mixins/pbr/common.js.map +1 -1
  56. package/dist/material/mtoon.js +7 -4
  57. package/dist/material/mtoon.js.map +1 -1
  58. package/dist/material/pbrblueprint.js +5 -1
  59. package/dist/material/pbrblueprint.js.map +1 -1
  60. package/dist/material/pbrmr.js +1 -1
  61. package/dist/material/pbrmr.js.map +1 -1
  62. package/dist/material/pbrsg.js +1 -1
  63. package/dist/material/pbrsg.js.map +1 -1
  64. package/dist/material/shader/helper.js +512 -334
  65. package/dist/material/shader/helper.js.map +1 -1
  66. package/dist/material/skin.js +2 -2
  67. package/dist/material/skin.js.map +1 -1
  68. package/dist/material/terrain-cm.js +5 -5
  69. package/dist/material/terrain-cm.js.map +1 -1
  70. package/dist/material/water.js +6 -4
  71. package/dist/material/water.js.map +1 -1
  72. package/dist/posteffect/bloom.js +54 -4
  73. package/dist/posteffect/bloom.js.map +1 -1
  74. package/dist/posteffect/compositor.js +41 -0
  75. package/dist/posteffect/compositor.js.map +1 -1
  76. package/dist/posteffect/posteffect.js +35 -0
  77. package/dist/posteffect/posteffect.js.map +1 -1
  78. package/dist/posteffect/sao.js +7 -6
  79. package/dist/posteffect/sao.js.map +1 -1
  80. package/dist/posteffect/skinsss.js +3 -3
  81. package/dist/posteffect/skinsss.js.map +1 -1
  82. package/dist/posteffect/ssgi.js +988 -436
  83. package/dist/posteffect/ssgi.js.map +1 -1
  84. package/dist/posteffect/ssr.js +83 -45
  85. package/dist/posteffect/ssr.js.map +1 -1
  86. package/dist/posteffect/sss.js +18 -15
  87. package/dist/posteffect/sss.js.map +1 -1
  88. package/dist/posteffect/taa.js +5 -4
  89. package/dist/posteffect/taa.js.map +1 -1
  90. package/dist/posteffect/tonemap.js +15 -3
  91. package/dist/posteffect/tonemap.js.map +1 -1
  92. package/dist/render/abuffer_oit.js +2 -2
  93. package/dist/render/abuffer_oit.js.map +1 -1
  94. package/dist/render/cluster_light.js +22 -16
  95. package/dist/render/cluster_light.js.map +1 -1
  96. package/dist/render/drawable_mixin.js +8 -5
  97. package/dist/render/drawable_mixin.js.map +1 -1
  98. package/dist/render/dualdepthpeeling_oit.js +10 -5
  99. package/dist/render/dualdepthpeeling_oit.js.map +1 -1
  100. package/dist/render/envlight.js +298 -5
  101. package/dist/render/envlight.js.map +1 -1
  102. package/dist/render/gpu_picking.js +7 -5
  103. package/dist/render/gpu_picking.js.map +1 -1
  104. package/dist/render/hzb.js +28 -19
  105. package/dist/render/hzb.js.map +1 -1
  106. package/dist/render/lightpass.js +18 -4
  107. package/dist/render/lightpass.js.map +1 -1
  108. package/dist/render/render_queue.js +37 -4
  109. package/dist/render/render_queue.js.map +1 -1
  110. package/dist/render/renderer.js +8 -3
  111. package/dist/render/renderer.js.map +1 -1
  112. package/dist/render/rendergraph/blackboard.js +20 -48
  113. package/dist/render/rendergraph/blackboard.js.map +1 -1
  114. package/dist/render/rendergraph/device_pool_allocator.js +18 -58
  115. package/dist/render/rendergraph/device_pool_allocator.js.map +1 -1
  116. package/dist/render/rendergraph/executor.js +89 -115
  117. package/dist/render/rendergraph/executor.js.map +1 -1
  118. package/dist/render/rendergraph/forward_plus_builder.js +1003 -715
  119. package/dist/render/rendergraph/forward_plus_builder.js.map +1 -1
  120. package/dist/render/rendergraph/frame_graph_context.js +1 -1
  121. package/dist/render/rendergraph/frame_graph_context.js.map +1 -1
  122. package/dist/render/rendergraph/frame_resource_requirements.js +14 -0
  123. package/dist/render/rendergraph/frame_resource_requirements.js.map +1 -0
  124. package/dist/render/rendergraph/history_resource_manager.js +74 -140
  125. package/dist/render/rendergraph/history_resource_manager.js.map +1 -1
  126. package/dist/render/rendergraph/history_resources.js +7 -5
  127. package/dist/render/rendergraph/history_resources.js.map +1 -1
  128. package/dist/render/rendergraph/render_context.js +19 -0
  129. package/dist/render/rendergraph/render_context.js.map +1 -0
  130. package/dist/render/rendergraph/render_pipeline.js +315 -0
  131. package/dist/render/rendergraph/render_pipeline.js.map +1 -0
  132. package/dist/render/rendergraph/rendergraph.js +158 -141
  133. package/dist/render/rendergraph/rendergraph.js.map +1 -1
  134. package/dist/render/rendergraph/scene_render_context.js +267 -0
  135. package/dist/render/rendergraph/scene_render_context.js.map +1 -0
  136. package/dist/render/rendergraph/texture_affinity_cache.js +19 -0
  137. package/dist/render/rendergraph/texture_affinity_cache.js.map +1 -0
  138. package/dist/render/rendergraph/types.js +19 -31
  139. package/dist/render/rendergraph/types.js.map +1 -1
  140. package/dist/render/renderpass.js +3 -3
  141. package/dist/render/renderpass.js.map +1 -1
  142. package/dist/render/shadow_mask_pass.js +7 -6
  143. package/dist/render/shadow_mask_pass.js.map +1 -1
  144. package/dist/render/sky.js +257 -95
  145. package/dist/render/sky.js.map +1 -1
  146. package/dist/render/weightedblended_oit.js +4 -3
  147. package/dist/render/weightedblended_oit.js.map +1 -1
  148. package/dist/scene/basesprite.js +2 -0
  149. package/dist/scene/basesprite.js.map +1 -1
  150. package/dist/scene/batchgroup.js +10 -0
  151. package/dist/scene/batchgroup.js.map +1 -1
  152. package/dist/scene/environment.js +61 -2
  153. package/dist/scene/environment.js.map +1 -1
  154. package/dist/scene/light.js +178 -10
  155. package/dist/scene/light.js.map +1 -1
  156. package/dist/scene/meshdrawable.js +89 -2
  157. package/dist/scene/meshdrawable.js.map +1 -1
  158. package/dist/scene/msdftext.js +2 -0
  159. package/dist/scene/msdftext.js.map +1 -1
  160. package/dist/scene/msdftextsprite.js +2 -0
  161. package/dist/scene/msdftextsprite.js.map +1 -1
  162. package/dist/scene/particlesys.js +2 -0
  163. package/dist/scene/particlesys.js.map +1 -1
  164. package/dist/scene/scene.js +34 -1
  165. package/dist/scene/scene.js.map +1 -1
  166. package/dist/scene/terrain-cm/grass.js +2 -1
  167. package/dist/scene/terrain-cm/grass.js.map +1 -1
  168. package/dist/scene/terrain-cm/terrain-cm.js +2 -0
  169. package/dist/scene/terrain-cm/terrain-cm.js.map +1 -1
  170. package/dist/scene/water.js +2 -0
  171. package/dist/scene/water.js.map +1 -1
  172. package/dist/shaders/atmosphere.js +5 -4
  173. package/dist/shaders/atmosphere.js.map +1 -1
  174. package/dist/shaders/fog.js +10 -3
  175. package/dist/shaders/fog.js.map +1 -1
  176. package/dist/shaders/shadow.js +149 -40
  177. package/dist/shaders/shadow.js.map +1 -1
  178. package/dist/shaders/ssgi_reprojection.js +118 -0
  179. package/dist/shaders/ssgi_reprojection.js.map +1 -0
  180. package/dist/shaders/ssr.js +322 -154
  181. package/dist/shaders/ssr.js.map +1 -1
  182. package/dist/shadow/esm.js +10 -7
  183. package/dist/shadow/esm.js.map +1 -1
  184. package/dist/shadow/pcf_opt.js +12 -12
  185. package/dist/shadow/pcf_opt.js.map +1 -1
  186. package/dist/shadow/pcf_pd.js +12 -12
  187. package/dist/shadow/pcf_pd.js.map +1 -1
  188. package/dist/shadow/pcss.js +16 -11
  189. package/dist/shadow/pcss.js.map +1 -1
  190. package/dist/shadow/shadow_impl.js +29 -3
  191. package/dist/shadow/shadow_impl.js.map +1 -1
  192. package/dist/shadow/shadowmapper.js +5 -2
  193. package/dist/shadow/shadowmapper.js.map +1 -1
  194. package/dist/shadow/ssm.js +13 -13
  195. package/dist/shadow/ssm.js.map +1 -1
  196. package/dist/shadow/vsm.js +7 -7
  197. package/dist/shadow/vsm.js.map +1 -1
  198. package/dist/utility/physical.js +74 -0
  199. package/dist/utility/physical.js.map +1 -0
  200. package/dist/utility/rendermipmap.js +2 -2
  201. package/dist/utility/rendermipmap.js.map +1 -1
  202. package/dist/utility/serialization/manager.js +3 -1
  203. package/dist/utility/serialization/manager.js.map +1 -1
  204. package/dist/utility/serialization/scene/animation.js +3 -1
  205. package/dist/utility/serialization/scene/animation.js.map +1 -1
  206. package/dist/utility/serialization/scene/batch.js +3 -1
  207. package/dist/utility/serialization/scene/batch.js.map +1 -1
  208. package/dist/utility/serialization/scene/camera.js +598 -2
  209. package/dist/utility/serialization/scene/camera.js.map +1 -1
  210. package/dist/utility/serialization/scene/light.js +180 -9
  211. package/dist/utility/serialization/scene/light.js.map +1 -1
  212. package/dist/utility/serialization/scene/material.js +43 -3
  213. package/dist/utility/serialization/scene/material.js.map +1 -1
  214. package/dist/utility/serialization/scene/mesh.js +3 -1
  215. package/dist/utility/serialization/scene/mesh.js.map +1 -1
  216. package/dist/utility/serialization/scene/node.js +3 -1
  217. package/dist/utility/serialization/scene/node.js.map +1 -1
  218. package/dist/utility/serialization/scene/particle.js +3 -1
  219. package/dist/utility/serialization/scene/particle.js.map +1 -1
  220. package/dist/utility/serialization/scene/primitive.js +2 -0
  221. package/dist/utility/serialization/scene/primitive.js.map +1 -1
  222. package/dist/utility/serialization/scene/scene.js +70 -0
  223. package/dist/utility/serialization/scene/scene.js.map +1 -1
  224. package/dist/utility/serialization/scene/sprite.js +3 -1
  225. package/dist/utility/serialization/scene/sprite.js.map +1 -1
  226. package/dist/utility/serialization/scene/terrain.js +3 -1
  227. package/dist/utility/serialization/scene/terrain.js.map +1 -1
  228. package/dist/utility/serialization/scene/text.js +3 -0
  229. package/dist/utility/serialization/scene/text.js.map +1 -1
  230. package/dist/utility/serialization/scene/water.js +3 -1
  231. package/dist/utility/serialization/scene/water.js.map +1 -1
  232. package/dist/values.js +59 -65
  233. package/dist/values.js.map +1 -1
  234. package/package.json +3 -3
@@ -27,11 +27,14 @@ import '../../../render/rendergraph/forward_plus_builder.js';
27
27
  import '../../../render/lightpass.js';
28
28
  import '../../../render/sky.js';
29
29
  import '../../../render/clipmap.js';
30
+ import '../../../render/envlight.js';
30
31
  import '../../../render/dualdepthpeeling_oit.js';
31
32
  import '../../../shaders/atmosphere.js';
33
+ import '../../../render/rendergraph/scene_render_context.js';
32
34
  import { GraphNode } from '../../../scene/graph_node.js';
33
35
  import '../../../shadow/shadowmapper.js';
34
36
  import '../../../scene/mesh.js';
37
+ import '../../../scene/meshdrawable.js';
35
38
  import '../../../scene/basesprite.js';
36
39
  import { TextSprite } from '../../../scene/textsprite.js';
37
40
  import { MSDFText } from '../../../scene/msdftext.js';
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sources":["../../../../src/utility/serialization/scene/text.ts"],"sourcesContent":["import { getEngine } from '../../../app/api';\r\nimport { GraphNode, MSDFText, type SceneNode } from '../../../scene';\r\nimport { defineProps, type SerializableClass } from '../types';\r\nimport { Vector3 } from '@zephyr3d/base';\r\nimport { TextSprite } from '../../../scene/textsprite';\r\nimport { MSDFTextSprite } from '../../../scene/msdftextsprite';\r\n\r\n/** @internal */\r\nexport function getTextSpriteClass(): SerializableClass {\r\n return {\r\n ctor: TextSprite,\r\n name: 'TextSprite',\r\n parent: GraphNode,\r\n noTitle: true,\r\n createFunc(ctx: SceneNode) {\r\n const node = new TextSprite(ctx.scene!);\r\n node.parent = ctx;\r\n return { obj: node };\r\n },\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Anchor',\r\n description: 'Sprite pivot in normalized UV space',\r\n type: 'vec2',\r\n default: [0.5, 0.5],\r\n get(this: TextSprite, value) {\r\n value.num[0] = this.anchorX;\r\n value.num[1] = this.anchorY;\r\n },\r\n set(this: TextSprite, value) {\r\n this.anchorX = value.num[0];\r\n this.anchorY = value.num[1];\r\n }\r\n },\r\n {\r\n name: 'Resolution',\r\n description: 'Text render target resolution',\r\n type: 'int2',\r\n options: {\r\n minValue: 1,\r\n maxValue: 4096\r\n },\r\n default: [128, 128],\r\n get(this: TextSprite, value) {\r\n value.num[0] = this.resolutionX;\r\n value.num[1] = this.resolutionY;\r\n },\r\n set(this: TextSprite, value) {\r\n this.resolutionX = value.num[0];\r\n this.resolutionY = value.num[1];\r\n }\r\n },\r\n {\r\n name: 'Font',\r\n description: 'Canvas font string (e.g. \"12px arial\")',\r\n type: 'string',\r\n default: '12px arial',\r\n get(this: TextSprite, value) {\r\n value.str[0] = this.font;\r\n },\r\n set(this: TextSprite, value) {\r\n this.font = value.str[0];\r\n }\r\n },\r\n {\r\n name: 'Text',\r\n description: 'Displayed text content',\r\n type: 'string',\r\n default: '',\r\n options: {\r\n multiline: true\r\n },\r\n get(this: TextSprite, value) {\r\n value.str[0] = this.text;\r\n },\r\n set(this: TextSprite, value) {\r\n this.text = value.str[0];\r\n }\r\n },\r\n {\r\n name: 'TextColor',\r\n description: 'Color of the rendered text',\r\n type: 'rgb',\r\n default: [1, 1, 1],\r\n get(this: TextSprite, value) {\r\n const c = this.textColor;\r\n value.num[0] = c.x;\r\n value.num[1] = c.y;\r\n value.num[2] = c.z;\r\n },\r\n set(this: TextSprite, value) {\r\n this.textColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport function getMSDFTextSpriteClass(): SerializableClass {\r\n return {\r\n ctor: MSDFTextSprite,\r\n name: 'MSDFTextSprite',\r\n parent: GraphNode,\r\n noTitle: true,\r\n createFunc(ctx: SceneNode) {\r\n const node = new MSDFTextSprite(ctx.scene!);\r\n node.parent = ctx;\r\n return { obj: node };\r\n },\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Anchor',\r\n description: 'Sprite pivot in normalized layout-box space',\r\n type: 'vec2',\r\n default: [0.5, 0.5],\r\n get(this: MSDFTextSprite, value) {\r\n value.num[0] = this.anchorX;\r\n value.num[1] = this.anchorY;\r\n },\r\n set(this: MSDFTextSprite, value) {\r\n this.anchorX = value.num[0];\r\n this.anchorY = value.num[1];\r\n }\r\n },\r\n {\r\n name: 'FontAsset',\r\n description: 'Font asset path used to build the runtime MSDF glyph atlas',\r\n type: 'object',\r\n default: '',\r\n options: {\r\n mimeTypes: ['font/ttf', 'font/otf']\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: MSDFTextSprite, value) {\r\n value.str[0] = this.fontAsset\r\n ? (getEngine().resourceManager.getAssetId(this.fontAsset) ?? '')\r\n : '';\r\n },\r\n async set(this: MSDFTextSprite, value) {\r\n this.fontAsset = value.str[0]\r\n ? await getEngine().resourceManager.fetchFontAsset(value.str[0])\r\n : null;\r\n }\r\n },\r\n {\r\n name: 'FontSize',\r\n description: 'Font size in local-space units before node scaling',\r\n type: 'float',\r\n default: 32,\r\n options: {\r\n minValue: 1,\r\n maxValue: 4096\r\n },\r\n get(this: MSDFTextSprite, value) {\r\n value.num[0] = this.fontSize;\r\n },\r\n set(this: MSDFTextSprite, value) {\r\n this.fontSize = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'MaxWidth',\r\n description: 'Maximum layout width in local-space units, 0 disables wrapping',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n minValue: 0,\r\n maxValue: 4096\r\n },\r\n get(this: MSDFTextSprite, value) {\r\n value.num[0] = this.maxWidth;\r\n },\r\n set(this: MSDFTextSprite, value) {\r\n this.maxWidth = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'TextAlign',\r\n description: 'Horizontal alignment within the layout width',\r\n type: 'string',\r\n default: 'left',\r\n options: {\r\n enum: {\r\n labels: ['Left', 'Center', 'Right'],\r\n values: ['left', 'center', 'right']\r\n }\r\n },\r\n get(this: MSDFTextSprite, value) {\r\n value.str[0] = this.textAlign;\r\n },\r\n set(this: MSDFTextSprite, value) {\r\n this.textAlign = value.str[0] as 'left' | 'center' | 'right';\r\n }\r\n },\r\n {\r\n name: 'Text',\r\n description: 'Displayed text content',\r\n type: 'string',\r\n default: '',\r\n options: {\r\n multiline: true\r\n },\r\n get(this: MSDFTextSprite, value) {\r\n value.str[0] = this.text;\r\n },\r\n set(this: MSDFTextSprite, value) {\r\n this.text = value.str[0];\r\n }\r\n },\r\n {\r\n name: 'TextColor',\r\n description: 'Color of the rendered text',\r\n type: 'rgb',\r\n default: [1, 1, 1],\r\n get(this: MSDFTextSprite, value) {\r\n const c = this.textColor;\r\n value.num[0] = c.x;\r\n value.num[1] = c.y;\r\n value.num[2] = c.z;\r\n },\r\n set(this: MSDFTextSprite, value) {\r\n this.textColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'OutlineColor',\r\n description: 'Color of the SDF outline rendered around the text',\r\n type: 'rgb',\r\n default: [0, 0, 0],\r\n get(this: MSDFTextSprite, value) {\r\n const c = this.outlineColor;\r\n value.num[0] = c.x;\r\n value.num[1] = c.y;\r\n value.num[2] = c.z;\r\n },\r\n set(this: MSDFTextSprite, value) {\r\n this.outlineColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'OutlineWidth',\r\n description:\r\n 'Outline thickness in text local-space units; it scales with the text when moving closer or farther',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n minValue: 0,\r\n maxValue: 4096\r\n },\r\n get(this: MSDFTextSprite, value) {\r\n value.num[0] = this.outlineWidth;\r\n },\r\n set(this: MSDFTextSprite, value) {\r\n this.outlineWidth = value.num[0];\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport function getMSDFTextClass(): SerializableClass {\r\n return {\r\n ctor: MSDFText,\r\n name: 'MSDFText',\r\n parent: GraphNode,\r\n noTitle: true,\r\n createFunc(ctx: SceneNode) {\r\n const node = new MSDFText(ctx.scene!);\r\n node.parent = ctx;\r\n return { obj: node };\r\n },\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Anchor',\r\n description: 'Sprite pivot in normalized layout-box space',\r\n type: 'vec2',\r\n default: [0.5, 0.5],\r\n get(this: MSDFText, value) {\r\n value.num[0] = this.anchorX;\r\n value.num[1] = this.anchorY;\r\n },\r\n set(this: MSDFText, value) {\r\n this.anchorX = value.num[0];\r\n this.anchorY = value.num[1];\r\n }\r\n },\r\n {\r\n name: 'FontAsset',\r\n description: 'Font asset path used to build the runtime MSDF glyph atlas',\r\n type: 'object',\r\n default: '',\r\n options: {\r\n mimeTypes: ['font/ttf', 'font/otf']\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: MSDFText, value) {\r\n value.str[0] = this.fontAsset\r\n ? (getEngine().resourceManager.getAssetId(this.fontAsset) ?? '')\r\n : '';\r\n },\r\n async set(this: MSDFText, value) {\r\n this.fontAsset = value.str[0]\r\n ? await getEngine().resourceManager.fetchFontAsset(value.str[0])\r\n : null;\r\n }\r\n },\r\n {\r\n name: 'FontSize',\r\n description: 'Font size in local-space units before node scaling',\r\n type: 'float',\r\n default: 32,\r\n options: {\r\n minValue: 1,\r\n maxValue: 4096\r\n },\r\n get(this: MSDFText, value) {\r\n value.num[0] = this.fontSize;\r\n },\r\n set(this: MSDFText, value) {\r\n this.fontSize = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'MaxWidth',\r\n description: 'Maximum layout width in local-space units, 0 disables wrapping',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n minValue: 0,\r\n maxValue: 4096\r\n },\r\n get(this: MSDFText, value) {\r\n value.num[0] = this.maxWidth;\r\n },\r\n set(this: MSDFText, value) {\r\n this.maxWidth = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'TextAlign',\r\n description: 'Horizontal alignment within the layout width',\r\n type: 'string',\r\n default: 'left',\r\n options: {\r\n enum: {\r\n labels: ['Left', 'Center', 'Right'],\r\n values: ['left', 'center', 'right']\r\n }\r\n },\r\n get(this: MSDFText, value) {\r\n value.str[0] = this.textAlign;\r\n },\r\n set(this: MSDFText, value) {\r\n this.textAlign = value.str[0] as 'left' | 'center' | 'right';\r\n }\r\n },\r\n {\r\n name: 'Text',\r\n description: 'Displayed text content',\r\n type: 'string',\r\n default: '',\r\n options: {\r\n multiline: true\r\n },\r\n get(this: MSDFText, value) {\r\n value.str[0] = this.text;\r\n },\r\n set(this: MSDFText, value) {\r\n this.text = value.str[0];\r\n }\r\n },\r\n {\r\n name: 'TextColor',\r\n description: 'Color of the rendered text',\r\n type: 'rgb',\r\n default: [1, 1, 1],\r\n get(this: MSDFText, value) {\r\n const c = this.textColor;\r\n value.num[0] = c.x;\r\n value.num[1] = c.y;\r\n value.num[2] = c.z;\r\n },\r\n set(this: MSDFText, value) {\r\n this.textColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'OutlineColor',\r\n description: 'Color of the SDF outline rendered around the text',\r\n type: 'rgb',\r\n default: [0, 0, 0],\r\n get(this: MSDFText, value) {\r\n const c = this.outlineColor;\r\n value.num[0] = c.x;\r\n value.num[1] = c.y;\r\n value.num[2] = c.z;\r\n },\r\n set(this: MSDFText, value) {\r\n this.outlineColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'OutlineWidth',\r\n description:\r\n 'Outline thickness in text local-space units; it scales with the text when moving closer or farther',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n minValue: 0,\r\n maxValue: 4096\r\n },\r\n get(this: MSDFText, value) {\r\n value.num[0] = this.outlineWidth;\r\n },\r\n set(this: MSDFText, value) {\r\n this.outlineWidth = value.num[0];\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n"],"names":["getTextSpriteClass","ctor","TextSprite","name","parent","GraphNode","noTitle","createFunc","ctx","node","scene","obj","getProps","defineProps","description","type","default","get","value","num","anchorX","anchorY","set","options","minValue","maxValue","resolutionX","resolutionY","str","font","multiline","text","c","textColor","x","y","z","Vector3","getMSDFTextSpriteClass","MSDFTextSprite","mimeTypes","isNullable","fontAsset","getEngine","resourceManager","getAssetId","fetchFontAsset","fontSize","maxWidth","enum","labels","values","textAlign","outlineColor","outlineWidth","getMSDFTextClass","MSDFText"],"mappings":"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"}
1
+ {"version":3,"file":"text.js","sources":["../../../../src/utility/serialization/scene/text.ts"],"sourcesContent":["import { getEngine } from '../../../app/api';\r\nimport { GraphNode, MSDFText, type SceneNode } from '../../../scene';\r\nimport { defineProps, type SerializableClass } from '../types';\r\nimport { Vector3 } from '@zephyr3d/base';\r\nimport { TextSprite } from '../../../scene/textsprite';\r\nimport { MSDFTextSprite } from '../../../scene/msdftextsprite';\r\n\r\n/** @internal */\r\nexport function getTextSpriteClass(): SerializableClass {\r\n return {\r\n ctor: TextSprite,\r\n name: 'TextSprite',\r\n parent: GraphNode,\r\n noTitle: true,\r\n createFunc(ctx: SceneNode) {\r\n const node = new TextSprite(ctx.scene!);\r\n node.parent = ctx;\r\n return { obj: node };\r\n },\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Anchor',\r\n description: 'Sprite pivot in normalized UV space',\r\n type: 'vec2',\r\n default: [0.5, 0.5],\r\n get(this: TextSprite, value) {\r\n value.num[0] = this.anchorX;\r\n value.num[1] = this.anchorY;\r\n },\r\n set(this: TextSprite, value) {\r\n this.anchorX = value.num[0];\r\n this.anchorY = value.num[1];\r\n }\r\n },\r\n {\r\n name: 'Resolution',\r\n description: 'Text render target resolution',\r\n type: 'int2',\r\n options: {\r\n minValue: 1,\r\n maxValue: 4096\r\n },\r\n default: [128, 128],\r\n get(this: TextSprite, value) {\r\n value.num[0] = this.resolutionX;\r\n value.num[1] = this.resolutionY;\r\n },\r\n set(this: TextSprite, value) {\r\n this.resolutionX = value.num[0];\r\n this.resolutionY = value.num[1];\r\n }\r\n },\r\n {\r\n name: 'Font',\r\n description: 'Canvas font string (e.g. \"12px arial\")',\r\n type: 'string',\r\n default: '12px arial',\r\n get(this: TextSprite, value) {\r\n value.str[0] = this.font;\r\n },\r\n set(this: TextSprite, value) {\r\n this.font = value.str[0];\r\n }\r\n },\r\n {\r\n name: 'Text',\r\n description: 'Displayed text content',\r\n type: 'string',\r\n default: '',\r\n options: {\r\n multiline: true\r\n },\r\n get(this: TextSprite, value) {\r\n value.str[0] = this.text;\r\n },\r\n set(this: TextSprite, value) {\r\n this.text = value.str[0];\r\n }\r\n },\r\n {\r\n name: 'TextColor',\r\n description: 'Color of the rendered text',\r\n type: 'rgb',\r\n default: [1, 1, 1],\r\n get(this: TextSprite, value) {\r\n const c = this.textColor;\r\n value.num[0] = c.x;\r\n value.num[1] = c.y;\r\n value.num[2] = c.z;\r\n },\r\n set(this: TextSprite, value) {\r\n this.textColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport function getMSDFTextSpriteClass(): SerializableClass {\r\n return {\r\n ctor: MSDFTextSprite,\r\n name: 'MSDFTextSprite',\r\n parent: GraphNode,\r\n noTitle: true,\r\n createFunc(ctx: SceneNode) {\r\n const node = new MSDFTextSprite(ctx.scene!);\r\n node.parent = ctx;\r\n return { obj: node };\r\n },\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Anchor',\r\n description: 'Sprite pivot in normalized layout-box space',\r\n type: 'vec2',\r\n default: [0.5, 0.5],\r\n get(this: MSDFTextSprite, value) {\r\n value.num[0] = this.anchorX;\r\n value.num[1] = this.anchorY;\r\n },\r\n set(this: MSDFTextSprite, value) {\r\n this.anchorX = value.num[0];\r\n this.anchorY = value.num[1];\r\n }\r\n },\r\n {\r\n name: 'FontAsset',\r\n description: 'Font asset path used to build the runtime MSDF glyph atlas',\r\n type: 'object',\r\n default: '',\r\n options: {\r\n mimeTypes: ['font/ttf', 'font/otf']\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: MSDFTextSprite, value) {\r\n value.str[0] = this.fontAsset\r\n ? (getEngine().resourceManager.getAssetId(this.fontAsset) ?? '')\r\n : '';\r\n },\r\n async set(this: MSDFTextSprite, value) {\r\n this.fontAsset = value.str[0]\r\n ? await getEngine().resourceManager.fetchFontAsset(value.str[0])\r\n : null;\r\n }\r\n },\r\n {\r\n name: 'FontSize',\r\n description: 'Font size in local-space units before node scaling',\r\n type: 'float',\r\n default: 32,\r\n options: {\r\n minValue: 1,\r\n maxValue: 4096\r\n },\r\n get(this: MSDFTextSprite, value) {\r\n value.num[0] = this.fontSize;\r\n },\r\n set(this: MSDFTextSprite, value) {\r\n this.fontSize = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'MaxWidth',\r\n description: 'Maximum layout width in local-space units, 0 disables wrapping',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n minValue: 0,\r\n maxValue: 4096\r\n },\r\n get(this: MSDFTextSprite, value) {\r\n value.num[0] = this.maxWidth;\r\n },\r\n set(this: MSDFTextSprite, value) {\r\n this.maxWidth = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'TextAlign',\r\n description: 'Horizontal alignment within the layout width',\r\n type: 'string',\r\n default: 'left',\r\n options: {\r\n enum: {\r\n labels: ['Left', 'Center', 'Right'],\r\n values: ['left', 'center', 'right']\r\n }\r\n },\r\n get(this: MSDFTextSprite, value) {\r\n value.str[0] = this.textAlign;\r\n },\r\n set(this: MSDFTextSprite, value) {\r\n this.textAlign = value.str[0] as 'left' | 'center' | 'right';\r\n }\r\n },\r\n {\r\n name: 'Text',\r\n description: 'Displayed text content',\r\n type: 'string',\r\n default: '',\r\n options: {\r\n multiline: true\r\n },\r\n get(this: MSDFTextSprite, value) {\r\n value.str[0] = this.text;\r\n },\r\n set(this: MSDFTextSprite, value) {\r\n this.text = value.str[0];\r\n }\r\n },\r\n {\r\n name: 'TextColor',\r\n description: 'Color of the rendered text',\r\n type: 'rgb',\r\n default: [1, 1, 1],\r\n get(this: MSDFTextSprite, value) {\r\n const c = this.textColor;\r\n value.num[0] = c.x;\r\n value.num[1] = c.y;\r\n value.num[2] = c.z;\r\n },\r\n set(this: MSDFTextSprite, value) {\r\n this.textColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'OutlineColor',\r\n description: 'Color of the SDF outline rendered around the text',\r\n type: 'rgb',\r\n default: [0, 0, 0],\r\n get(this: MSDFTextSprite, value) {\r\n const c = this.outlineColor;\r\n value.num[0] = c.x;\r\n value.num[1] = c.y;\r\n value.num[2] = c.z;\r\n },\r\n set(this: MSDFTextSprite, value) {\r\n this.outlineColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'OutlineWidth',\r\n description:\r\n 'Outline thickness in text local-space units; it scales with the text when moving closer or farther',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n minValue: 0,\r\n maxValue: 4096\r\n },\r\n get(this: MSDFTextSprite, value) {\r\n value.num[0] = this.outlineWidth;\r\n },\r\n set(this: MSDFTextSprite, value) {\r\n this.outlineWidth = value.num[0];\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport function getMSDFTextClass(): SerializableClass {\r\n return {\r\n ctor: MSDFText,\r\n name: 'MSDFText',\r\n parent: GraphNode,\r\n noTitle: true,\r\n createFunc(ctx: SceneNode) {\r\n const node = new MSDFText(ctx.scene!);\r\n node.parent = ctx;\r\n return { obj: node };\r\n },\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Anchor',\r\n description: 'Sprite pivot in normalized layout-box space',\r\n type: 'vec2',\r\n default: [0.5, 0.5],\r\n get(this: MSDFText, value) {\r\n value.num[0] = this.anchorX;\r\n value.num[1] = this.anchorY;\r\n },\r\n set(this: MSDFText, value) {\r\n this.anchorX = value.num[0];\r\n this.anchorY = value.num[1];\r\n }\r\n },\r\n {\r\n name: 'FontAsset',\r\n description: 'Font asset path used to build the runtime MSDF glyph atlas',\r\n type: 'object',\r\n default: '',\r\n options: {\r\n mimeTypes: ['font/ttf', 'font/otf']\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: MSDFText, value) {\r\n value.str[0] = this.fontAsset\r\n ? (getEngine().resourceManager.getAssetId(this.fontAsset) ?? '')\r\n : '';\r\n },\r\n async set(this: MSDFText, value) {\r\n this.fontAsset = value.str[0]\r\n ? await getEngine().resourceManager.fetchFontAsset(value.str[0])\r\n : null;\r\n }\r\n },\r\n {\r\n name: 'FontSize',\r\n description: 'Font size in local-space units before node scaling',\r\n type: 'float',\r\n default: 32,\r\n options: {\r\n minValue: 1,\r\n maxValue: 4096\r\n },\r\n get(this: MSDFText, value) {\r\n value.num[0] = this.fontSize;\r\n },\r\n set(this: MSDFText, value) {\r\n this.fontSize = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'MaxWidth',\r\n description: 'Maximum layout width in local-space units, 0 disables wrapping',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n minValue: 0,\r\n maxValue: 4096\r\n },\r\n get(this: MSDFText, value) {\r\n value.num[0] = this.maxWidth;\r\n },\r\n set(this: MSDFText, value) {\r\n this.maxWidth = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'TextAlign',\r\n description: 'Horizontal alignment within the layout width',\r\n type: 'string',\r\n default: 'left',\r\n options: {\r\n enum: {\r\n labels: ['Left', 'Center', 'Right'],\r\n values: ['left', 'center', 'right']\r\n }\r\n },\r\n get(this: MSDFText, value) {\r\n value.str[0] = this.textAlign;\r\n },\r\n set(this: MSDFText, value) {\r\n this.textAlign = value.str[0] as 'left' | 'center' | 'right';\r\n }\r\n },\r\n {\r\n name: 'Text',\r\n description: 'Displayed text content',\r\n type: 'string',\r\n default: '',\r\n options: {\r\n multiline: true\r\n },\r\n get(this: MSDFText, value) {\r\n value.str[0] = this.text;\r\n },\r\n set(this: MSDFText, value) {\r\n this.text = value.str[0];\r\n }\r\n },\r\n {\r\n name: 'TextColor',\r\n description: 'Color of the rendered text',\r\n type: 'rgb',\r\n default: [1, 1, 1],\r\n get(this: MSDFText, value) {\r\n const c = this.textColor;\r\n value.num[0] = c.x;\r\n value.num[1] = c.y;\r\n value.num[2] = c.z;\r\n },\r\n set(this: MSDFText, value) {\r\n this.textColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'OutlineColor',\r\n description: 'Color of the SDF outline rendered around the text',\r\n type: 'rgb',\r\n default: [0, 0, 0],\r\n get(this: MSDFText, value) {\r\n const c = this.outlineColor;\r\n value.num[0] = c.x;\r\n value.num[1] = c.y;\r\n value.num[2] = c.z;\r\n },\r\n set(this: MSDFText, value) {\r\n this.outlineColor = new Vector3(value.num[0], value.num[1], value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'OutlineWidth',\r\n description:\r\n 'Outline thickness in text local-space units; it scales with the text when moving closer or farther',\r\n type: 'float',\r\n default: 0,\r\n options: {\r\n minValue: 0,\r\n maxValue: 4096\r\n },\r\n get(this: MSDFText, value) {\r\n value.num[0] = this.outlineWidth;\r\n },\r\n set(this: MSDFText, value) {\r\n this.outlineWidth = value.num[0];\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n"],"names":["getTextSpriteClass","ctor","TextSprite","name","parent","GraphNode","noTitle","createFunc","ctx","node","scene","obj","getProps","defineProps","description","type","default","get","value","num","anchorX","anchorY","set","options","minValue","maxValue","resolutionX","resolutionY","str","font","multiline","text","c","textColor","x","y","z","Vector3","getMSDFTextSpriteClass","MSDFTextSprite","mimeTypes","isNullable","fontAsset","getEngine","resourceManager","getAssetId","fetchFontAsset","fontSize","maxWidth","enum","labels","values","textAlign","outlineColor","outlineWidth","getMSDFTextClass","MSDFText"],"mappings":"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"}
@@ -26,14 +26,16 @@ import '../../../render/rendergraph/forward_plus_builder.js';
26
26
  import '../../../render/lightpass.js';
27
27
  import '../../../render/sky.js';
28
28
  import '../../../render/clipmap.js';
29
+ import '../../../render/envlight.js';
29
30
  import '../../../render/dualdepthpeeling_oit.js';
30
31
  import { FFTWaveGenerator } from '../../../render/fft_wavegenerator.js';
31
32
  import { FBMWaveGenerator } from '../../../render/fbm_wavegenerator.js';
33
+ import '../../../render/rendergraph/scene_render_context.js';
32
34
  import { GraphNode } from '../../../scene/graph_node.js';
33
35
  import '../../../shadow/shadowmapper.js';
34
36
  import '../../../scene/mesh.js';
35
- import '../../../scene/basesprite.js';
36
37
  import '../../../scene/meshdrawable.js';
38
+ import '../../../scene/basesprite.js';
37
39
  import '../../../material/msdf_text.js';
38
40
  import { Water } from '../../../scene/water.js';
39
41
  import '../../../scene/scene_node.js';
@@ -1 +1 @@
1
- {"version":3,"file":"water.js","sources":["../../../../src/utility/serialization/scene/water.ts"],"sourcesContent":["import type { Nullable } from '@zephyr3d/base';\r\nimport { Vector2 } from '@zephyr3d/base';\r\nimport type { SceneNode } from '../../../scene';\r\nimport { GraphNode } from '../../../scene';\r\nimport { Water } from '../../../scene/water';\r\nimport { defineProps, type SerializableClass } from '../types';\r\nimport type { WaveGenerator } from '../../../render';\r\nimport { FBMWaveGenerator, FFTWaveGenerator } from '../../../render';\r\nimport type { Texture2D } from '@zephyr3d/device';\r\nimport type { ResourceManager } from '../manager';\r\n\r\n/** @internal */\r\nexport function getFBMWaveGeneratorClass(): SerializableClass {\r\n return {\r\n ctor: FBMWaveGenerator,\r\n name: 'FBMWaveGenerator',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'NumOctaves',\r\n description: 'Number of FBM noise octaves used to build the wave pattern',\r\n type: 'int',\r\n options: { minValue: 1, maxValue: 8 },\r\n default: 4,\r\n get(this: FBMWaveGenerator, value) {\r\n value.num[0] = this.numOctaves;\r\n },\r\n set(this: FBMWaveGenerator, value) {\r\n this.numOctaves = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'Wind',\r\n description: 'Wind direction and speed that drive the FBM waves',\r\n type: 'vec2',\r\n default: [0.1, 0],\r\n options: {\r\n animatable: true\r\n },\r\n get(this: FBMWaveGenerator, value) {\r\n value.num[0] = this.wind.x;\r\n value.num[1] = this.wind.y;\r\n },\r\n set(this: FBMWaveGenerator, value) {\r\n this.wind = new Vector2(value.num[0], value.num[1]);\r\n }\r\n },\r\n {\r\n name: 'Amplitude',\r\n description: 'Wave height amplitude for the FBM wave generator',\r\n type: 'float',\r\n options: { animatable: true, minValue: 0, maxValue: 5 },\r\n default: 0.3,\r\n get(this: FBMWaveGenerator, value) {\r\n value.num[0] = this.amplitude;\r\n },\r\n set(this: FBMWaveGenerator, value) {\r\n this.amplitude = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'Frequency',\r\n description: 'Wave frequency for the FBM wave generator',\r\n type: 'float',\r\n options: { animatable: true, minValue: 0, maxValue: 16 },\r\n default: 3,\r\n get(this: FBMWaveGenerator, value) {\r\n value.num[0] = this.frequency;\r\n },\r\n set(this: FBMWaveGenerator, value) {\r\n this.frequency = value.num[0];\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport function getFFTWaveGeneratorClass(): SerializableClass {\r\n return {\r\n ctor: FFTWaveGenerator,\r\n name: 'FFTWaveGenerator',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Alignment',\r\n description: 'How strongly FFT waves align with the wind direction',\r\n type: 'float',\r\n options: { animatable: true, minValue: 0, maxValue: 1 },\r\n get(this: FFTWaveGenerator, value) {\r\n value.num[0] = this.alignment;\r\n },\r\n set(this: FFTWaveGenerator, value) {\r\n this.alignment = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'Wind',\r\n description: 'Wind direction and speed that drive the FFT waves',\r\n type: 'vec2',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: FFTWaveGenerator, value) {\r\n value.num[0] = this.wind.x;\r\n value.num[1] = this.wind.y;\r\n },\r\n set(this: FFTWaveGenerator, value) {\r\n this.wind = new Vector2(value.num[0], value.num[1]);\r\n }\r\n },\r\n {\r\n name: 'FoamWidth',\r\n description: 'Width of foam bands generated on the wave crests',\r\n type: 'float',\r\n default: 1.2,\r\n options: { animatable: true, minValue: 0, maxValue: 10 },\r\n get(this: FFTWaveGenerator, value) {\r\n value.num[0] = this.foamWidth;\r\n },\r\n set(this: FFTWaveGenerator, value) {\r\n this.foamWidth = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'FoamContrast',\r\n description: 'Contrast of the foam pattern on FFT waves',\r\n type: 'float',\r\n default: 7.2,\r\n options: { animatable: true, minValue: 0, maxValue: 10 },\r\n get(this: FFTWaveGenerator, value) {\r\n value.num[0] = this.foamContrast;\r\n },\r\n set(this: FFTWaveGenerator, value) {\r\n this.foamContrast = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'WaveLengthCascades',\r\n description: 'Wavelength values for the three FFT wave cascades',\r\n type: 'vec3',\r\n default: [400, 100, 15],\r\n options: { animatable: true, minValue: 0, maxValue: 1000 },\r\n get(this: FFTWaveGenerator, value) {\r\n value.num[0] = this.getWaveLength(0);\r\n value.num[1] = this.getWaveLength(1);\r\n value.num[2] = this.getWaveLength(2);\r\n },\r\n set(this: FFTWaveGenerator, value) {\r\n this.setWaveLength(0, value.num[0]);\r\n this.setWaveLength(1, value.num[1]);\r\n this.setWaveLength(2, value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'WaveStrengthCascades',\r\n description: 'Strength values for the three FFT wave cascades',\r\n type: 'vec3',\r\n default: [0.4, 0.4, 0.2],\r\n options: { animatable: true, minValue: 0, maxValue: 1 },\r\n get(this: FFTWaveGenerator, value) {\r\n value.num[0] = this.getWaveStrength(0);\r\n value.num[1] = this.getWaveStrength(1);\r\n value.num[2] = this.getWaveStrength(2);\r\n },\r\n set(this: FFTWaveGenerator, value) {\r\n this.setWaveStrength(0, value.num[0]);\r\n this.setWaveStrength(1, value.num[1]);\r\n this.setWaveStrength(2, value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'WaveCroppinessCascades',\r\n description: 'Croppiness values for the three FFT wave cascades',\r\n type: 'vec3',\r\n default: [-1.5, -1.2, -0.5],\r\n options: { animatable: true, minValue: -4, maxValue: 0 },\r\n get(this: FFTWaveGenerator, value) {\r\n value.num[0] = this.getWaveCroppiness(0);\r\n value.num[1] = this.getWaveCroppiness(1);\r\n value.num[2] = this.getWaveCroppiness(2);\r\n },\r\n set(this: FFTWaveGenerator, value) {\r\n this.setWaveCroppiness(0, value.num[0]);\r\n this.setWaveCroppiness(1, value.num[1]);\r\n this.setWaveCroppiness(2, value.num[2]);\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport function getWaterClass(manager: ResourceManager): SerializableClass {\r\n return {\r\n ctor: Water,\r\n name: 'Water',\r\n parent: GraphNode,\r\n createFunc(ctx: SceneNode) {\r\n const node = new Water(ctx.scene!);\r\n node.parent = ctx;\r\n return { obj: node };\r\n },\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'WaveGenerator',\r\n description: 'Wave generator used to drive the water surface',\r\n type: 'object',\r\n default: null,\r\n options: {\r\n objectTypes: [FFTWaveGenerator, FBMWaveGenerator]\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: Water, value) {\r\n value.object[0] = this.waveGenerator ?? null;\r\n },\r\n set(this: Water, value) {\r\n if (!value.object[0]) {\r\n this.waveGenerator = null;\r\n } else {\r\n this.waveGenerator = value.object[0] as WaveGenerator;\r\n }\r\n }\r\n },\r\n {\r\n name: 'GridScale',\r\n description: 'Scale of the water simulation grid',\r\n type: 'float',\r\n default: 1,\r\n options: { minValue: 0, maxValue: 1 },\r\n get(this: Water, value) {\r\n value.num[0] = this.gridScale;\r\n },\r\n set(this: Water, value) {\r\n this.gridScale = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'Wireframe',\r\n description: 'If true, renders the water surface as wireframe',\r\n type: 'bool',\r\n default: false,\r\n get(this: Water, value) {\r\n value.bool[0] = this.wireframe;\r\n },\r\n set(this: Water, value) {\r\n this.wireframe = value.bool[0];\r\n }\r\n },\r\n {\r\n name: 'AnimationSpeed',\r\n description: 'Playback speed of wave animation',\r\n type: 'float',\r\n default: 1,\r\n options: { animatable: true, minValue: 0, maxValue: 100 },\r\n get(this: Water, value) {\r\n value.num[0] = this.animationSpeed;\r\n },\r\n set(this: Water, value) {\r\n this.animationSpeed = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'DepthScale',\r\n description: 'Depth attenuation scale for the water material',\r\n type: 'float',\r\n default: 10,\r\n options: { animatable: true, minValue: 0, maxValue: 100 },\r\n get(this: Water, value) {\r\n value.num[0] = this.material.depthMulti;\r\n },\r\n set(this: Water, value) {\r\n this.material.depthMulti = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'RefractionStrength',\r\n description: 'Strength of underwater refraction',\r\n type: 'float',\r\n default: 0,\r\n options: { animatable: true, minValue: 0, maxValue: 1 },\r\n get(this: Water, value) {\r\n value.num[0] = this.material.refractionStrength;\r\n },\r\n set(this: Water, value) {\r\n this.material.refractionStrength = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'Displace',\r\n description: 'Vertex displacement scale for water waves',\r\n type: 'float',\r\n default: 16,\r\n options: { minValue: 1, maxValue: 256 },\r\n get(this: Water, value) {\r\n value.num[0] = this.material.displace;\r\n },\r\n set(this: Water, value) {\r\n this.material.displace = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'TAAStrength',\r\n description: 'Temporal anti-aliasing strength for the water surface',\r\n type: 'float',\r\n default: 0.4,\r\n options: { minValue: 0, maxValue: 1 },\r\n get(this: Water, value) {\r\n value.num[0] = this.TAAStrength;\r\n },\r\n set(this: Water, value) {\r\n this.TAAStrength = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'ScatterRampTexture',\r\n description: 'Ramp texture used for water scatter lighting',\r\n type: 'object',\r\n default: null,\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: Water, value) {\r\n value.str[0] = manager.getAssetId(this.material.scatterRampTexture) ?? '';\r\n },\r\n async set(value) {\r\n if (!value) {\r\n this.material.scatterRampTexture = null;\r\n } else {\r\n if (value.str[0]) {\r\n const assetId = value.str[0];\r\n let tex: Nullable<Texture2D>;\r\n try {\r\n tex = await manager.fetchTexture<Texture2D>(assetId);\r\n } catch (err) {\r\n console.error(`Load asset failed: ${value.str[0]}: ${err}`);\r\n tex = null;\r\n }\r\n if (tex?.isTexture2D()) {\r\n this.material.scatterRampTexture = tex;\r\n } else {\r\n console.error('Invalid texture type');\r\n }\r\n }\r\n }\r\n }\r\n },\r\n {\r\n name: 'AbsorptionRampTexture',\r\n description: 'Ramp texture used for water absorption',\r\n type: 'object',\r\n default: null,\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: Water, value) {\r\n value.str[0] = manager.getAssetId(this.material.absorptionRampTexture) ?? '';\r\n },\r\n async set(this: Water, value) {\r\n if (!value) {\r\n this.material.absorptionRampTexture = null;\r\n } else {\r\n if (value.str[0]) {\r\n const assetId = value.str[0];\r\n let tex: Nullable<Texture2D>;\r\n try {\r\n tex = await manager.fetchTexture<Texture2D>(assetId);\r\n } catch (err) {\r\n console.error(`Load asset failed: ${value.str[0]}: ${err}`);\r\n tex = null;\r\n }\r\n if (tex?.isTexture2D()) {\r\n this.material.absorptionRampTexture = tex;\r\n } else {\r\n console.error('Invalid texture type');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n"],"names":["getFBMWaveGeneratorClass","ctor","FBMWaveGenerator","name","getProps","defineProps","description","type","options","minValue","maxValue","default","get","value","num","numOctaves","set","animatable","wind","x","y","Vector2","amplitude","frequency","getFFTWaveGeneratorClass","FFTWaveGenerator","alignment","foamWidth","foamContrast","getWaveLength","setWaveLength","getWaveStrength","setWaveStrength","getWaveCroppiness","setWaveCroppiness","getWaterClass","manager","Water","parent","GraphNode","createFunc","ctx","node","scene","obj","objectTypes","isNullable","object","waveGenerator","gridScale","bool","wireframe","animationSpeed","material","depthMulti","refractionStrength","displace","TAAStrength","str","getAssetId","scatterRampTexture","assetId","tex","fetchTexture","err","console","error","isTexture2D","absorptionRampTexture"],"mappings":"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"}
1
+ {"version":3,"file":"water.js","sources":["../../../../src/utility/serialization/scene/water.ts"],"sourcesContent":["import type { Nullable } from '@zephyr3d/base';\r\nimport { Vector2 } from '@zephyr3d/base';\r\nimport type { SceneNode } from '../../../scene';\r\nimport { GraphNode } from '../../../scene';\r\nimport { Water } from '../../../scene/water';\r\nimport { defineProps, type SerializableClass } from '../types';\r\nimport type { WaveGenerator } from '../../../render';\r\nimport { FBMWaveGenerator, FFTWaveGenerator } from '../../../render';\r\nimport type { Texture2D } from '@zephyr3d/device';\r\nimport type { ResourceManager } from '../manager';\r\n\r\n/** @internal */\r\nexport function getFBMWaveGeneratorClass(): SerializableClass {\r\n return {\r\n ctor: FBMWaveGenerator,\r\n name: 'FBMWaveGenerator',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'NumOctaves',\r\n description: 'Number of FBM noise octaves used to build the wave pattern',\r\n type: 'int',\r\n options: { minValue: 1, maxValue: 8 },\r\n default: 4,\r\n get(this: FBMWaveGenerator, value) {\r\n value.num[0] = this.numOctaves;\r\n },\r\n set(this: FBMWaveGenerator, value) {\r\n this.numOctaves = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'Wind',\r\n description: 'Wind direction and speed that drive the FBM waves',\r\n type: 'vec2',\r\n default: [0.1, 0],\r\n options: {\r\n animatable: true\r\n },\r\n get(this: FBMWaveGenerator, value) {\r\n value.num[0] = this.wind.x;\r\n value.num[1] = this.wind.y;\r\n },\r\n set(this: FBMWaveGenerator, value) {\r\n this.wind = new Vector2(value.num[0], value.num[1]);\r\n }\r\n },\r\n {\r\n name: 'Amplitude',\r\n description: 'Wave height amplitude for the FBM wave generator',\r\n type: 'float',\r\n options: { animatable: true, minValue: 0, maxValue: 5 },\r\n default: 0.3,\r\n get(this: FBMWaveGenerator, value) {\r\n value.num[0] = this.amplitude;\r\n },\r\n set(this: FBMWaveGenerator, value) {\r\n this.amplitude = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'Frequency',\r\n description: 'Wave frequency for the FBM wave generator',\r\n type: 'float',\r\n options: { animatable: true, minValue: 0, maxValue: 16 },\r\n default: 3,\r\n get(this: FBMWaveGenerator, value) {\r\n value.num[0] = this.frequency;\r\n },\r\n set(this: FBMWaveGenerator, value) {\r\n this.frequency = value.num[0];\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport function getFFTWaveGeneratorClass(): SerializableClass {\r\n return {\r\n ctor: FFTWaveGenerator,\r\n name: 'FFTWaveGenerator',\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'Alignment',\r\n description: 'How strongly FFT waves align with the wind direction',\r\n type: 'float',\r\n options: { animatable: true, minValue: 0, maxValue: 1 },\r\n get(this: FFTWaveGenerator, value) {\r\n value.num[0] = this.alignment;\r\n },\r\n set(this: FFTWaveGenerator, value) {\r\n this.alignment = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'Wind',\r\n description: 'Wind direction and speed that drive the FFT waves',\r\n type: 'vec2',\r\n options: {\r\n animatable: true\r\n },\r\n get(this: FFTWaveGenerator, value) {\r\n value.num[0] = this.wind.x;\r\n value.num[1] = this.wind.y;\r\n },\r\n set(this: FFTWaveGenerator, value) {\r\n this.wind = new Vector2(value.num[0], value.num[1]);\r\n }\r\n },\r\n {\r\n name: 'FoamWidth',\r\n description: 'Width of foam bands generated on the wave crests',\r\n type: 'float',\r\n default: 1.2,\r\n options: { animatable: true, minValue: 0, maxValue: 10 },\r\n get(this: FFTWaveGenerator, value) {\r\n value.num[0] = this.foamWidth;\r\n },\r\n set(this: FFTWaveGenerator, value) {\r\n this.foamWidth = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'FoamContrast',\r\n description: 'Contrast of the foam pattern on FFT waves',\r\n type: 'float',\r\n default: 7.2,\r\n options: { animatable: true, minValue: 0, maxValue: 10 },\r\n get(this: FFTWaveGenerator, value) {\r\n value.num[0] = this.foamContrast;\r\n },\r\n set(this: FFTWaveGenerator, value) {\r\n this.foamContrast = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'WaveLengthCascades',\r\n description: 'Wavelength values for the three FFT wave cascades',\r\n type: 'vec3',\r\n default: [400, 100, 15],\r\n options: { animatable: true, minValue: 0, maxValue: 1000 },\r\n get(this: FFTWaveGenerator, value) {\r\n value.num[0] = this.getWaveLength(0);\r\n value.num[1] = this.getWaveLength(1);\r\n value.num[2] = this.getWaveLength(2);\r\n },\r\n set(this: FFTWaveGenerator, value) {\r\n this.setWaveLength(0, value.num[0]);\r\n this.setWaveLength(1, value.num[1]);\r\n this.setWaveLength(2, value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'WaveStrengthCascades',\r\n description: 'Strength values for the three FFT wave cascades',\r\n type: 'vec3',\r\n default: [0.4, 0.4, 0.2],\r\n options: { animatable: true, minValue: 0, maxValue: 1 },\r\n get(this: FFTWaveGenerator, value) {\r\n value.num[0] = this.getWaveStrength(0);\r\n value.num[1] = this.getWaveStrength(1);\r\n value.num[2] = this.getWaveStrength(2);\r\n },\r\n set(this: FFTWaveGenerator, value) {\r\n this.setWaveStrength(0, value.num[0]);\r\n this.setWaveStrength(1, value.num[1]);\r\n this.setWaveStrength(2, value.num[2]);\r\n }\r\n },\r\n {\r\n name: 'WaveCroppinessCascades',\r\n description: 'Croppiness values for the three FFT wave cascades',\r\n type: 'vec3',\r\n default: [-1.5, -1.2, -0.5],\r\n options: { animatable: true, minValue: -4, maxValue: 0 },\r\n get(this: FFTWaveGenerator, value) {\r\n value.num[0] = this.getWaveCroppiness(0);\r\n value.num[1] = this.getWaveCroppiness(1);\r\n value.num[2] = this.getWaveCroppiness(2);\r\n },\r\n set(this: FFTWaveGenerator, value) {\r\n this.setWaveCroppiness(0, value.num[0]);\r\n this.setWaveCroppiness(1, value.num[1]);\r\n this.setWaveCroppiness(2, value.num[2]);\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport function getWaterClass(manager: ResourceManager): SerializableClass {\r\n return {\r\n ctor: Water,\r\n name: 'Water',\r\n parent: GraphNode,\r\n createFunc(ctx: SceneNode) {\r\n const node = new Water(ctx.scene!);\r\n node.parent = ctx;\r\n return { obj: node };\r\n },\r\n getProps() {\r\n return defineProps([\r\n {\r\n name: 'WaveGenerator',\r\n description: 'Wave generator used to drive the water surface',\r\n type: 'object',\r\n default: null,\r\n options: {\r\n objectTypes: [FFTWaveGenerator, FBMWaveGenerator]\r\n },\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: Water, value) {\r\n value.object[0] = this.waveGenerator ?? null;\r\n },\r\n set(this: Water, value) {\r\n if (!value.object[0]) {\r\n this.waveGenerator = null;\r\n } else {\r\n this.waveGenerator = value.object[0] as WaveGenerator;\r\n }\r\n }\r\n },\r\n {\r\n name: 'GridScale',\r\n description: 'Scale of the water simulation grid',\r\n type: 'float',\r\n default: 1,\r\n options: { minValue: 0, maxValue: 1 },\r\n get(this: Water, value) {\r\n value.num[0] = this.gridScale;\r\n },\r\n set(this: Water, value) {\r\n this.gridScale = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'Wireframe',\r\n description: 'If true, renders the water surface as wireframe',\r\n type: 'bool',\r\n default: false,\r\n get(this: Water, value) {\r\n value.bool[0] = this.wireframe;\r\n },\r\n set(this: Water, value) {\r\n this.wireframe = value.bool[0];\r\n }\r\n },\r\n {\r\n name: 'AnimationSpeed',\r\n description: 'Playback speed of wave animation',\r\n type: 'float',\r\n default: 1,\r\n options: { animatable: true, minValue: 0, maxValue: 100 },\r\n get(this: Water, value) {\r\n value.num[0] = this.animationSpeed;\r\n },\r\n set(this: Water, value) {\r\n this.animationSpeed = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'DepthScale',\r\n description: 'Depth attenuation scale for the water material',\r\n type: 'float',\r\n default: 10,\r\n options: { animatable: true, minValue: 0, maxValue: 100 },\r\n get(this: Water, value) {\r\n value.num[0] = this.material.depthMulti;\r\n },\r\n set(this: Water, value) {\r\n this.material.depthMulti = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'RefractionStrength',\r\n description: 'Strength of underwater refraction',\r\n type: 'float',\r\n default: 0,\r\n options: { animatable: true, minValue: 0, maxValue: 1 },\r\n get(this: Water, value) {\r\n value.num[0] = this.material.refractionStrength;\r\n },\r\n set(this: Water, value) {\r\n this.material.refractionStrength = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'Displace',\r\n description: 'Vertex displacement scale for water waves',\r\n type: 'float',\r\n default: 16,\r\n options: { minValue: 1, maxValue: 256 },\r\n get(this: Water, value) {\r\n value.num[0] = this.material.displace;\r\n },\r\n set(this: Water, value) {\r\n this.material.displace = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'TAAStrength',\r\n description: 'Temporal anti-aliasing strength for the water surface',\r\n type: 'float',\r\n default: 0.4,\r\n options: { minValue: 0, maxValue: 1 },\r\n get(this: Water, value) {\r\n value.num[0] = this.TAAStrength;\r\n },\r\n set(this: Water, value) {\r\n this.TAAStrength = value.num[0];\r\n }\r\n },\r\n {\r\n name: 'ScatterRampTexture',\r\n description: 'Ramp texture used for water scatter lighting',\r\n type: 'object',\r\n default: null,\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: Water, value) {\r\n value.str[0] = manager.getAssetId(this.material.scatterRampTexture) ?? '';\r\n },\r\n async set(value) {\r\n if (!value) {\r\n this.material.scatterRampTexture = null;\r\n } else {\r\n if (value.str[0]) {\r\n const assetId = value.str[0];\r\n let tex: Nullable<Texture2D>;\r\n try {\r\n tex = await manager.fetchTexture<Texture2D>(assetId);\r\n } catch (err) {\r\n console.error(`Load asset failed: ${value.str[0]}: ${err}`);\r\n tex = null;\r\n }\r\n if (tex?.isTexture2D()) {\r\n this.material.scatterRampTexture = tex;\r\n } else {\r\n console.error('Invalid texture type');\r\n }\r\n }\r\n }\r\n }\r\n },\r\n {\r\n name: 'AbsorptionRampTexture',\r\n description: 'Ramp texture used for water absorption',\r\n type: 'object',\r\n default: null,\r\n isNullable() {\r\n return true;\r\n },\r\n get(this: Water, value) {\r\n value.str[0] = manager.getAssetId(this.material.absorptionRampTexture) ?? '';\r\n },\r\n async set(this: Water, value) {\r\n if (!value) {\r\n this.material.absorptionRampTexture = null;\r\n } else {\r\n if (value.str[0]) {\r\n const assetId = value.str[0];\r\n let tex: Nullable<Texture2D>;\r\n try {\r\n tex = await manager.fetchTexture<Texture2D>(assetId);\r\n } catch (err) {\r\n console.error(`Load asset failed: ${value.str[0]}: ${err}`);\r\n tex = null;\r\n }\r\n if (tex?.isTexture2D()) {\r\n this.material.absorptionRampTexture = tex;\r\n } else {\r\n console.error('Invalid texture type');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n ]);\r\n }\r\n };\r\n}\r\n"],"names":["getFBMWaveGeneratorClass","ctor","FBMWaveGenerator","name","getProps","defineProps","description","type","options","minValue","maxValue","default","get","value","num","numOctaves","set","animatable","wind","x","y","Vector2","amplitude","frequency","getFFTWaveGeneratorClass","FFTWaveGenerator","alignment","foamWidth","foamContrast","getWaveLength","setWaveLength","getWaveStrength","setWaveStrength","getWaveCroppiness","setWaveCroppiness","getWaterClass","manager","Water","parent","GraphNode","createFunc","ctx","node","scene","obj","objectTypes","isNullable","object","waveGenerator","gridScale","bool","wireframe","animationSpeed","material","depthMulti","refractionStrength","displace","TAAStrength","str","getAssetId","scatterRampTexture","assetId","tex","fetchTexture","err","console","error","isTexture2D","absorptionRampTexture"],"mappings":"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"}
package/dist/values.js CHANGED
@@ -1,72 +1,66 @@
1
1
  import { Vector3 } from '@zephyr3d/base';
2
2
 
3
- /**
4
- * Forward render pass type
5
- * @public
3
+ /**
4
+ * Forward render pass type
5
+ * @public
6
6
  */ const RENDER_PASS_TYPE_LIGHT = 0;
7
- /**
8
- * Shadow map render pass type
9
- * @public
7
+ /**
8
+ * Shadow map render pass type
9
+ * @public
10
10
  */ const RENDER_PASS_TYPE_SHADOWMAP = 1;
11
- /**
12
- * Depth only render pass type
13
- * @public
11
+ /**
12
+ * Depth only render pass type
13
+ * @public
14
14
  */ const RENDER_PASS_TYPE_DEPTH = 2;
15
- /**
16
- * Object color render pass type
17
- * @public
15
+ /**
16
+ * Object color render pass type
17
+ * @public
18
18
  */ const RENDER_PASS_TYPE_OBJECT_COLOR = 3;
19
- /**
20
- * Builtin texture name for sheen LUT
21
- * @public
19
+ /**
20
+ * Builtin texture name for sheen LUT
21
+ * @public
22
22
  */ const BUILTIN_ASSET_TEXTURE_SHEEN_LUT = 'LUT_Sheen';
23
- /**
24
- * Builtin cube texture for test
25
- * @public
23
+ /**
24
+ * Builtin cube texture for test
25
+ * @public
26
26
  */ const BUILTIN_ASSET_TEST_CUBEMAP = 'TEST_Cubemap';
27
- /**
28
- * No light
29
- * @public
27
+ /**
28
+ * No light
29
+ * @public
30
30
  */ const LIGHT_TYPE_NONE = 0;
31
- /**
32
- * Directional light type
33
- * @public
31
+ /**
32
+ * Directional light type
33
+ * @public
34
34
  */ const LIGHT_TYPE_DIRECTIONAL = 1;
35
- /**
36
- * Point light type
37
- * @public
35
+ /**
36
+ * Point light type
37
+ * @public
38
38
  */ const LIGHT_TYPE_POINT = 2;
39
- /**
40
- * Spot light type
41
- * @public
39
+ /**
40
+ * Spot light type
41
+ * @public
42
42
  */ const LIGHT_TYPE_SPOT = 3;
43
- /**
44
- * Rectangular area light type
45
- * @public
43
+ /**
44
+ * Rectangular area light type
45
+ * @public
46
46
  */ const LIGHT_TYPE_RECT = 4;
47
- /**
48
- * Max light size for clustered lighting
49
- * @public
50
- */ const MAX_CLUSTERED_LIGHTS = 255;
51
- /**
52
- * Max number of shadow-casting lights backed by the screen-space shadow mask.
53
- *
54
- * Each mask layer packs 4 lights (one per RGBA8 channel), so this maps to
55
- * `MAX_SHADOW_MASK_LIGHTS / 4` texture array layers. Shadow-casting lights are
56
- * placed at the head of the clustered light buffer (indices `1..N`), so this
57
- * value must not exceed {@link MAX_CLUSTERED_LIGHTS}. Shadow lights beyond this
58
- * cap fall back to being lit without a mask-backed shadow.
59
- * @public
47
+ /**
48
+ * Max number of shadow-casting lights backed by the screen-space shadow mask.
49
+ *
50
+ * Each mask layer packs 4 lights (one per RGBA8 channel), so this maps to
51
+ * `MAX_SHADOW_MASK_LIGHTS / 4` texture array layers. Shadow-casting lights are
52
+ * placed at the head of the clustered light buffer. Shadow lights beyond this
53
+ * cap fall back to being lit without a mask-backed shadow.
54
+ * @public
60
55
  */ const MAX_SHADOW_MASK_LIGHTS = 32;
61
- /**
62
- * Opaque render queue type
63
- * @public
56
+ /**
57
+ * Opaque render queue type
58
+ * @public
64
59
  */ const QUEUE_OPAQUE = 1;
65
- /**
66
- * Transparent render queue type
67
- * @public
60
+ /**
61
+ * Transparent render queue type
62
+ * @public
68
63
  */ const QUEUE_TRANSPARENT = 2;
69
- // Morph target attributes
70
64
  /** @public */ const MORPH_TARGET_POSITION = 0;
71
65
  /** @public */ const MORPH_TARGET_NORMAL = 1;
72
66
  /** @public */ const MORPH_TARGET_TANGENT = 2;
@@ -81,29 +75,29 @@ import { Vector3 } from '@zephyr3d/base';
81
75
  /** @public */ const MORPH_ATTRIBUTE_VECTOR_COUNT = MAX_MORPH_ATTRIBUTES + 3 >> 2;
82
76
  /** @public */ const MAX_TERRAIN_MIPMAP_LEVELS = 64;
83
77
  /** @public */ const MAX_GERSTNER_WAVE_COUNT = 16;
84
- /**
85
- * Material varying flags
86
- * @public
78
+ /**
79
+ * Material varying flags
80
+ * @public
87
81
  */ var MaterialVaryingFlags = /*#__PURE__*/ function(MaterialVaryingFlags) {
88
82
  MaterialVaryingFlags[MaterialVaryingFlags["MORPH_ANIMATION"] = 1] = "MORPH_ANIMATION";
89
83
  MaterialVaryingFlags[MaterialVaryingFlags["SKIN_ANIMATION"] = 2] = "SKIN_ANIMATION";
90
84
  MaterialVaryingFlags[MaterialVaryingFlags["INSTANCING"] = 4] = "INSTANCING";
91
- MaterialVaryingFlags[MaterialVaryingFlags["SSR_STORE_ROUGHNESS"] = 8] = "SSR_STORE_ROUGHNESS";
85
+ MaterialVaryingFlags[MaterialVaryingFlags["SCENE_STORE_ROUGHNESS"] = 8] = "SCENE_STORE_ROUGHNESS";
92
86
  MaterialVaryingFlags[MaterialVaryingFlags["APPLY_FOG"] = 16] = "APPLY_FOG";
93
87
  MaterialVaryingFlags[MaterialVaryingFlags["SSS_STORE_PROFILE"] = 32] = "SSS_STORE_PROFILE";
94
88
  MaterialVaryingFlags[MaterialVaryingFlags["SSS_STORE_DIFFUSE"] = 64] = "SSS_STORE_DIFFUSE";
95
- MaterialVaryingFlags[MaterialVaryingFlags["SSS_STORE_NORMAL"] = 128] = "SSS_STORE_NORMAL";
89
+ MaterialVaryingFlags[MaterialVaryingFlags["SCENE_STORE_NORMAL"] = 128] = "SCENE_STORE_NORMAL";
96
90
  MaterialVaryingFlags[MaterialVaryingFlags["SSS_STORE_TRANSMISSION"] = 256] = "SSS_STORE_TRANSMISSION";
97
91
  MaterialVaryingFlags[MaterialVaryingFlags["SKIN_SSS_STORE"] = 512] = "SKIN_SSS_STORE";
98
92
  return MaterialVaryingFlags;
99
93
  }({});
100
- /**
101
- * Atmospheric Fog flag
102
- * @public
94
+ /**
95
+ * Atmospheric Fog flag
96
+ * @public
103
97
  */ const ATMOSPHERIC_FOG_BIT = 1 << 0;
104
- /**
105
- * Exponential Fog flag
106
- * @public
98
+ /**
99
+ * Exponential Fog flag
100
+ * @public
107
101
  */ const HEIGHT_FOG_BIT = 1 << 1;
108
102
  /** @internal */ const uniformSphereSamples = [
109
103
  new Vector3(-0.7838, -0.620933, 0.00996137),
@@ -177,5 +171,5 @@ import { Vector3 } from '@zephyr3d/base';
177
171
  return Fog;
178
172
  }({});
179
173
 
180
- export { ATMOSPHERIC_FOG_BIT, BUILTIN_ASSET_TEST_CUBEMAP, BUILTIN_ASSET_TEXTURE_SHEEN_LUT, Fog, HEIGHT_FOG_BIT, LIGHT_TYPE_DIRECTIONAL, LIGHT_TYPE_NONE, LIGHT_TYPE_POINT, LIGHT_TYPE_RECT, LIGHT_TYPE_SPOT, MAX_CLUSTERED_LIGHTS, MAX_GERSTNER_WAVE_COUNT, MAX_MORPH_ATTRIBUTES, MAX_MORPH_TARGETS, MAX_SHADOW_MASK_LIGHTS, MAX_TERRAIN_MIPMAP_LEVELS, MORPH_ATTRIBUTE_VECTOR_COUNT, MORPH_TARGET_COLOR, MORPH_TARGET_NORMAL, MORPH_TARGET_POSITION, MORPH_TARGET_TANGENT, MORPH_TARGET_TEX0, MORPH_TARGET_TEX1, MORPH_TARGET_TEX2, MORPH_TARGET_TEX3, MORPH_WEIGHTS_VECTOR_COUNT, MaterialVaryingFlags, QUEUE_OPAQUE, QUEUE_TRANSPARENT, RENDER_PASS_TYPE_DEPTH, RENDER_PASS_TYPE_LIGHT, RENDER_PASS_TYPE_OBJECT_COLOR, RENDER_PASS_TYPE_SHADOWMAP, uniformSphereSamples };
174
+ export { ATMOSPHERIC_FOG_BIT, BUILTIN_ASSET_TEST_CUBEMAP, BUILTIN_ASSET_TEXTURE_SHEEN_LUT, Fog, HEIGHT_FOG_BIT, LIGHT_TYPE_DIRECTIONAL, LIGHT_TYPE_NONE, LIGHT_TYPE_POINT, LIGHT_TYPE_RECT, LIGHT_TYPE_SPOT, MAX_GERSTNER_WAVE_COUNT, MAX_MORPH_ATTRIBUTES, MAX_MORPH_TARGETS, MAX_SHADOW_MASK_LIGHTS, MAX_TERRAIN_MIPMAP_LEVELS, MORPH_ATTRIBUTE_VECTOR_COUNT, MORPH_TARGET_COLOR, MORPH_TARGET_NORMAL, MORPH_TARGET_POSITION, MORPH_TARGET_TANGENT, MORPH_TARGET_TEX0, MORPH_TARGET_TEX1, MORPH_TARGET_TEX2, MORPH_TARGET_TEX3, MORPH_WEIGHTS_VECTOR_COUNT, MaterialVaryingFlags, QUEUE_OPAQUE, QUEUE_TRANSPARENT, RENDER_PASS_TYPE_DEPTH, RENDER_PASS_TYPE_LIGHT, RENDER_PASS_TYPE_OBJECT_COLOR, RENDER_PASS_TYPE_SHADOWMAP, uniformSphereSamples };
181
175
  //# sourceMappingURL=values.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"values.js","sources":["../src/values.ts"],"sourcesContent":["import { Vector3 } from '@zephyr3d/base';\r\n\r\n/**\r\n * Forward render pass type\r\n * @public\r\n */\r\nexport const RENDER_PASS_TYPE_LIGHT = 0;\r\n/**\r\n * Shadow map render pass type\r\n * @public\r\n */\r\nexport const RENDER_PASS_TYPE_SHADOWMAP = 1;\r\n/**\r\n * Depth only render pass type\r\n * @public\r\n */\r\nexport const RENDER_PASS_TYPE_DEPTH = 2;\r\n/**\r\n * Object color render pass type\r\n * @public\r\n */\r\nexport const RENDER_PASS_TYPE_OBJECT_COLOR = 3;\r\n\r\n/**\r\n * Builtin texture name for sheen LUT\r\n * @public\r\n */\r\nexport const BUILTIN_ASSET_TEXTURE_SHEEN_LUT = 'LUT_Sheen';\r\n\r\n/**\r\n * Builtin cube texture for test\r\n * @public\r\n */\r\nexport const BUILTIN_ASSET_TEST_CUBEMAP = 'TEST_Cubemap';\r\n\r\n/**\r\n * No light\r\n * @public\r\n */\r\nexport const LIGHT_TYPE_NONE = 0;\r\n\r\n/**\r\n * Directional light type\r\n * @public\r\n */\r\nexport const LIGHT_TYPE_DIRECTIONAL = 1;\r\n\r\n/**\r\n * Point light type\r\n * @public\r\n */\r\nexport const LIGHT_TYPE_POINT = 2;\r\n\r\n/**\r\n * Spot light type\r\n * @public\r\n */\r\nexport const LIGHT_TYPE_SPOT = 3;\r\n/**\r\n * Rectangular area light type\r\n * @public\r\n */\r\nexport const LIGHT_TYPE_RECT = 4;\r\n\r\n/**\r\n * Max light size for clustered lighting\r\n * @public\r\n */\r\nexport const MAX_CLUSTERED_LIGHTS = 255;\r\n\r\n/**\r\n * Max number of shadow-casting lights backed by the screen-space shadow mask.\r\n *\r\n * Each mask layer packs 4 lights (one per RGBA8 channel), so this maps to\r\n * `MAX_SHADOW_MASK_LIGHTS / 4` texture array layers. Shadow-casting lights are\r\n * placed at the head of the clustered light buffer (indices `1..N`), so this\r\n * value must not exceed {@link MAX_CLUSTERED_LIGHTS}. Shadow lights beyond this\r\n * cap fall back to being lit without a mask-backed shadow.\r\n * @public\r\n */\r\nexport const MAX_SHADOW_MASK_LIGHTS = 32;\r\n\r\n/**\r\n * Opaque render queue type\r\n * @public\r\n */\r\nexport const QUEUE_OPAQUE = 1;\r\n\r\n/**\r\n * Transparent render queue type\r\n * @public\r\n */\r\nexport const QUEUE_TRANSPARENT = 2;\r\n\r\n// Morph target attributes\r\n\r\n/** @public */\r\nexport const MORPH_TARGET_POSITION = 0;\r\n/** @public */\r\nexport const MORPH_TARGET_NORMAL = 1;\r\n/** @public */\r\nexport const MORPH_TARGET_TANGENT = 2;\r\n/** @public */\r\nexport const MORPH_TARGET_COLOR = 3;\r\n/** @public */\r\nexport const MORPH_TARGET_TEX0 = 4;\r\n/** @public */\r\nexport const MORPH_TARGET_TEX1 = 5;\r\n/** @public */\r\nexport const MORPH_TARGET_TEX2 = 6;\r\n/** @public */\r\nexport const MORPH_TARGET_TEX3 = 7;\r\n/** @public */\r\nexport const MAX_MORPH_ATTRIBUTES = 8;\r\n/** @public */\r\nexport const MAX_MORPH_TARGETS = 256;\r\n/** @public */\r\nexport const MORPH_WEIGHTS_VECTOR_COUNT = (MAX_MORPH_TARGETS + 3) >> 2;\r\n/** @public */\r\nexport const MORPH_ATTRIBUTE_VECTOR_COUNT = (MAX_MORPH_ATTRIBUTES + 3) >> 2;\r\n\r\n/** @public */\r\nexport const MAX_TERRAIN_MIPMAP_LEVELS = 64;\r\n\r\n/** @public */\r\nexport const MAX_GERSTNER_WAVE_COUNT = 16;\r\n\r\n/**\r\n * Material varying flags\r\n * @public\r\n */\r\nexport const enum MaterialVaryingFlags {\r\n MORPH_ANIMATION = 1 << 0,\r\n SKIN_ANIMATION = 1 << 1,\r\n INSTANCING = 1 << 2,\r\n SSR_STORE_ROUGHNESS = 1 << 3,\r\n APPLY_FOG = 1 << 4,\r\n SSS_STORE_PROFILE = 1 << 5,\r\n SSS_STORE_DIFFUSE = 1 << 6,\r\n SSS_STORE_NORMAL = 1 << 7,\r\n SSS_STORE_TRANSMISSION = 1 << 8,\r\n SKIN_SSS_STORE = 1 << 9\r\n}\r\n\r\n/**\r\n * Atmospheric Fog flag\r\n * @public\r\n */\r\nexport const ATMOSPHERIC_FOG_BIT = 1 << 0;\r\n/**\r\n * Exponential Fog flag\r\n * @public\r\n */\r\nexport const HEIGHT_FOG_BIT = 1 << 1;\r\n\r\n/** @internal */\r\nexport const uniformSphereSamples = [\r\n new Vector3(-0.7838, -0.620933, 0.00996137),\r\n new Vector3(0.106751, 0.965982, 0.235549),\r\n new Vector3(-0.215177, -0.687115, -0.693954),\r\n new Vector3(0.318002, 0.0640084, -0.945927),\r\n new Vector3(0.357396, 0.555673, 0.750664),\r\n new Vector3(0.866397, -0.19756, 0.458613),\r\n new Vector3(0.130216, 0.232736, -0.963783),\r\n new Vector3(-0.00174431, 0.376657, 0.926351),\r\n new Vector3(0.663478, 0.704806, -0.251089),\r\n new Vector3(0.0327851, 0.110534, -0.993331),\r\n new Vector3(0.0561973, 0.0234288, 0.998145),\r\n new Vector3(0.0905264, -0.169771, 0.981317),\r\n new Vector3(0.26694, 0.95222, -0.148393),\r\n new Vector3(-0.812874, -0.559051, -0.163393),\r\n new Vector3(-0.323378, -0.25855, -0.910263),\r\n new Vector3(-0.1333, 0.591356, -0.795317),\r\n new Vector3(0.480876, 0.408711, 0.775702),\r\n new Vector3(-0.332263, -0.533895, -0.777533),\r\n new Vector3(-0.0392473, -0.704457, -0.708661),\r\n new Vector3(0.427015, 0.239811, 0.871865),\r\n new Vector3(-0.416624, -0.563856, 0.713085),\r\n new Vector3(0.12793, 0.334479, -0.933679),\r\n new Vector3(-0.0343373, -0.160593, -0.986423),\r\n new Vector3(0.580614, 0.0692947, 0.811225),\r\n new Vector3(-0.459187, 0.43944, 0.772036),\r\n new Vector3(0.215474, -0.539436, -0.81399),\r\n new Vector3(-0.378969, -0.31988, -0.868366),\r\n new Vector3(-0.279978, -0.0109692, 0.959944),\r\n new Vector3(0.692547, 0.690058, 0.210234),\r\n new Vector3(0.53227, -0.123044, -0.837585),\r\n new Vector3(-0.772313, -0.283334, -0.568555),\r\n new Vector3(-0.0311218, 0.995988, -0.0838977),\r\n new Vector3(-0.366931, -0.276531, -0.888196),\r\n new Vector3(0.488778, 0.367878, -0.791051),\r\n new Vector3(-0.885561, -0.453445, 0.100842),\r\n new Vector3(0.71656, 0.443635, 0.538265),\r\n new Vector3(0.645383, -0.152576, -0.748466),\r\n new Vector3(-0.171259, 0.91907, 0.354939),\r\n new Vector3(-0.0031122, 0.9457, 0.325026),\r\n new Vector3(0.731503, 0.623089, -0.276881),\r\n new Vector3(-0.91466, 0.186904, 0.358419),\r\n new Vector3(0.15595, 0.828193, -0.538309),\r\n new Vector3(0.175396, 0.584732, 0.792038),\r\n new Vector3(-0.0838381, -0.943461, 0.320707),\r\n new Vector3(0.305876, 0.727604, 0.614029),\r\n new Vector3(0.754642, -0.197903, -0.62558),\r\n new Vector3(0.217255, -0.0177771, -0.975953),\r\n new Vector3(0.140412, -0.844826, 0.516287),\r\n new Vector3(-0.549042, 0.574859, -0.606705),\r\n new Vector3(0.570057, 0.17459, 0.802841),\r\n new Vector3(-0.0330304, 0.775077, 0.631003),\r\n new Vector3(-0.938091, 0.138937, 0.317304),\r\n new Vector3(0.483197, -0.726405, -0.48873),\r\n new Vector3(0.485263, 0.52926, 0.695991),\r\n new Vector3(0.224189, 0.742282, -0.631472),\r\n new Vector3(-0.322429, 0.662214, -0.676396),\r\n new Vector3(0.625577, -0.12711, 0.769738),\r\n new Vector3(-0.714032, -0.584461, -0.385439),\r\n new Vector3(-0.0652053, -0.892579, -0.446151),\r\n new Vector3(0.408421, -0.912487, 0.0236566),\r\n new Vector3(0.0900381, 0.319983, 0.943135),\r\n new Vector3(-0.708553, 0.483646, 0.513847),\r\n new Vector3(0.803855, -0.0902273, 0.587942),\r\n new Vector3(-0.0555802, -0.374602, -0.925519)\r\n];\r\n\r\n/** @internal */\r\nexport enum Fog {\r\n FOG_TYPE_NONE = 0,\r\n FOG_TYPE_HEIGHT = 4\r\n}\r\n"],"names":["RENDER_PASS_TYPE_LIGHT","RENDER_PASS_TYPE_SHADOWMAP","RENDER_PASS_TYPE_DEPTH","RENDER_PASS_TYPE_OBJECT_COLOR","BUILTIN_ASSET_TEXTURE_SHEEN_LUT","BUILTIN_ASSET_TEST_CUBEMAP","LIGHT_TYPE_NONE","LIGHT_TYPE_DIRECTIONAL","LIGHT_TYPE_POINT","LIGHT_TYPE_SPOT","LIGHT_TYPE_RECT","MAX_CLUSTERED_LIGHTS","MAX_SHADOW_MASK_LIGHTS","QUEUE_OPAQUE","QUEUE_TRANSPARENT","MORPH_TARGET_POSITION","MORPH_TARGET_NORMAL","MORPH_TARGET_TANGENT","MORPH_TARGET_COLOR","MORPH_TARGET_TEX0","MORPH_TARGET_TEX1","MORPH_TARGET_TEX2","MORPH_TARGET_TEX3","MAX_MORPH_ATTRIBUTES","MAX_MORPH_TARGETS","MORPH_WEIGHTS_VECTOR_COUNT","MORPH_ATTRIBUTE_VECTOR_COUNT","MAX_TERRAIN_MIPMAP_LEVELS","MAX_GERSTNER_WAVE_COUNT","MaterialVaryingFlags","ATMOSPHERIC_FOG_BIT","HEIGHT_FOG_BIT","uniformSphereSamples","Vector3","Fog"],"mappings":";;AAEA;;;IAIaA,MAAAA,sBAAAA,GAAyB;AACtC;;;IAIaC,MAAAA,0BAAAA,GAA6B;AAC1C;;;IAIaC,MAAAA,sBAAAA,GAAyB;AACtC;;;IAIaC,MAAAA,6BAAAA,GAAgC;AAE7C;;;IAIaC,MAAAA,+BAAAA,GAAkC;AAE/C;;;IAIaC,MAAAA,0BAAAA,GAA6B;AAE1C;;;IAIaC,MAAAA,eAAAA,GAAkB;AAE/B;;;IAIaC,MAAAA,sBAAAA,GAAyB;AAEtC;;;IAIaC,MAAAA,gBAAAA,GAAmB;AAEhC;;;IAIaC,MAAAA,eAAAA,GAAkB;AAC/B;;;IAIaC,MAAAA,eAAAA,GAAkB;AAE/B;;;IAIaC,MAAAA,oBAAAA,GAAuB;AAEpC;;;;;;;;;IAUaC,MAAAA,sBAAAA,GAAyB;AAEtC;;;IAIaC,MAAAA,YAAAA,GAAe;AAE5B;;;IAIaC,MAAAA,iBAAAA,GAAoB;AAEjC;AAEA,eACaC,MAAAA,qBAAAA,GAAwB;AACrC,eACaC,MAAAA,mBAAAA,GAAsB;AACnC,eACaC,MAAAA,oBAAAA,GAAuB;AACpC,eACaC,MAAAA,kBAAAA,GAAqB;AAClC,eACaC,MAAAA,iBAAAA,GAAoB;AACjC,eACaC,MAAAA,iBAAAA,GAAoB;AACjC,eACaC,MAAAA,iBAAAA,GAAoB;AACjC,eACaC,MAAAA,iBAAAA,GAAoB;AACjC,eACaC,MAAAA,oBAAAA,GAAuB;AACpC,eACaC,MAAAA,iBAAAA,GAAoB;AACjC,eACO,MAAMC,6BAA6B,iBAACD,GAAoB,KAAM;AACrE,eACO,MAAME,+BAA+B,oBAACH,GAAuB,KAAM;AAE1E,eACaI,MAAAA,yBAAAA,GAA4B;AAEzC,eACaC,MAAAA,uBAAAA,GAA0B;AAEvC;;;IAIO,IAAWC,oBAAAA,iBAAAA,SAAAA,oBAAAA,EAAAA;;;;;;;;;;;AAAAA,IAAAA,OAAAA,oBAAAA;AAWjB,CAAA,CAAA,EAAA;AAED;;;AAGC,IACM,MAAMC,mBAAsB,GAAA,CAAA,IAAK;AACxC;;;AAGC,IACM,MAAMC,cAAiB,GAAA,CAAA,IAAK;AAEnC,iBACO,MAAMC,oBAAuB,GAAA;AAClC,IAAA,IAAIC,OAAQ,CAAA,OAAS,EAAA,SAAW,EAAA,UAAA,CAAA;IAChC,IAAIA,OAAAA,CAAQ,UAAU,QAAU,EAAA,QAAA,CAAA;AAChC,IAAA,IAAIA,OAAQ,CAAA,SAAW,EAAA,WAAW,SAAC,CAAA;IACnC,IAAIA,OAAAA,CAAQ,QAAU,EAAA,SAAA,EAAW,SAAC,CAAA;IAClC,IAAIA,OAAAA,CAAQ,UAAU,QAAU,EAAA,QAAA,CAAA;IAChC,IAAIA,OAAAA,CAAQ,QAAU,EAAA,QAAU,EAAA,QAAA,CAAA;IAChC,IAAIA,OAAAA,CAAQ,QAAU,EAAA,QAAA,EAAU,SAAC,CAAA;IACjC,IAAIA,OAAAA,CAAQ,UAAC,EAAY,QAAU,EAAA,QAAA,CAAA;IACnC,IAAIA,OAAAA,CAAQ,QAAU,EAAA,QAAA,EAAU,SAAC,CAAA;IACjC,IAAIA,OAAAA,CAAQ,SAAW,EAAA,QAAA,EAAU,SAAC,CAAA;IAClC,IAAIA,OAAAA,CAAQ,WAAW,SAAW,EAAA,QAAA,CAAA;IAClC,IAAIA,OAAAA,CAAQ,SAAW,EAAA,SAAW,EAAA,QAAA,CAAA;IAClC,IAAIA,OAAAA,CAAQ,OAAS,EAAA,OAAA,EAAS,SAAC,CAAA;AAC/B,IAAA,IAAIA,OAAQ,CAAA,SAAW,EAAA,WAAW,SAAC,CAAA;AACnC,IAAA,IAAIA,OAAQ,CAAA,SAAW,EAAA,UAAU,SAAC,CAAA;AAClC,IAAA,IAAIA,OAAQ,CAAA,OAAS,EAAA,QAAA,EAAU,SAAC,CAAA;IAChC,IAAIA,OAAAA,CAAQ,UAAU,QAAU,EAAA,QAAA,CAAA;AAChC,IAAA,IAAIA,OAAQ,CAAA,SAAW,EAAA,WAAW,SAAC,CAAA;AACnC,IAAA,IAAIA,OAAQ,CAAA,UAAY,EAAA,WAAW,SAAC,CAAA;IACpC,IAAIA,OAAAA,CAAQ,UAAU,QAAU,EAAA,QAAA,CAAA;AAChC,IAAA,IAAIA,OAAQ,CAAA,SAAW,EAAA,SAAW,EAAA,QAAA,CAAA;IAClC,IAAIA,OAAAA,CAAQ,OAAS,EAAA,QAAA,EAAU,SAAC,CAAA;AAChC,IAAA,IAAIA,OAAQ,CAAA,UAAY,EAAA,WAAW,SAAC,CAAA;IACpC,IAAIA,OAAAA,CAAQ,UAAU,SAAW,EAAA,QAAA,CAAA;IACjC,IAAIA,OAAAA,CAAQ,SAAC,EAAU,OAAS,EAAA,QAAA,CAAA;AAChC,IAAA,IAAIA,OAAQ,CAAA,QAAA,EAAU,SAAC,EAAU,QAAC,CAAA;AAClC,IAAA,IAAIA,OAAQ,CAAA,SAAW,EAAA,UAAU,SAAC,CAAA;AAClC,IAAA,IAAIA,OAAQ,CAAA,SAAW,EAAA,UAAY,EAAA,QAAA,CAAA;IACnC,IAAIA,OAAAA,CAAQ,UAAU,QAAU,EAAA,QAAA,CAAA;AAChC,IAAA,IAAIA,OAAQ,CAAA,OAAA,EAAS,SAAC,EAAU,SAAC,CAAA;AACjC,IAAA,IAAIA,OAAQ,CAAA,SAAW,EAAA,WAAW,SAAC,CAAA;AACnC,IAAA,IAAIA,OAAQ,CAAA,UAAY,EAAA,QAAA,EAAU,UAAC,CAAA;AACnC,IAAA,IAAIA,OAAQ,CAAA,SAAW,EAAA,WAAW,SAAC,CAAA;IACnC,IAAIA,OAAAA,CAAQ,QAAU,EAAA,QAAA,EAAU,SAAC,CAAA;AACjC,IAAA,IAAIA,OAAQ,CAAA,SAAW,EAAA,SAAW,EAAA,QAAA,CAAA;IAClC,IAAIA,OAAAA,CAAQ,SAAS,QAAU,EAAA,QAAA,CAAA;AAC/B,IAAA,IAAIA,OAAQ,CAAA,QAAA,EAAU,SAAC,EAAU,SAAC,CAAA;IAClC,IAAIA,OAAAA,CAAQ,SAAC,EAAU,OAAS,EAAA,QAAA,CAAA;IAChC,IAAIA,OAAAA,CAAQ,SAAC,EAAW,MAAQ,EAAA,QAAA,CAAA;IAChC,IAAIA,OAAAA,CAAQ,QAAU,EAAA,QAAA,EAAU,SAAC,CAAA;IACjC,IAAIA,OAAAA,CAAQ,QAAC,EAAS,QAAU,EAAA,QAAA,CAAA;IAChC,IAAIA,OAAAA,CAAQ,OAAS,EAAA,QAAA,EAAU,SAAC,CAAA;IAChC,IAAIA,OAAAA,CAAQ,UAAU,QAAU,EAAA,QAAA,CAAA;AAChC,IAAA,IAAIA,OAAQ,CAAA,UAAY,EAAA,SAAW,EAAA,QAAA,CAAA;IACnC,IAAIA,OAAAA,CAAQ,UAAU,QAAU,EAAA,QAAA,CAAA;AAChC,IAAA,IAAIA,OAAQ,CAAA,QAAA,EAAU,SAAC,EAAU,QAAC,CAAA;AAClC,IAAA,IAAIA,OAAQ,CAAA,QAAA,EAAU,UAAC,EAAW,SAAC,CAAA;IACnC,IAAIA,OAAAA,CAAQ,QAAU,EAAA,SAAW,EAAA,QAAA,CAAA;AACjC,IAAA,IAAIA,OAAQ,CAAA,SAAW,EAAA,QAAA,EAAU,SAAC,CAAA;IAClC,IAAIA,OAAAA,CAAQ,UAAU,OAAS,EAAA,QAAA,CAAA;IAC/B,IAAIA,OAAAA,CAAQ,UAAC,EAAW,QAAU,EAAA,QAAA,CAAA;IAClC,IAAIA,OAAAA,CAAQ,SAAC,EAAU,QAAU,EAAA,QAAA,CAAA;AACjC,IAAA,IAAIA,OAAQ,CAAA,QAAA,EAAU,SAAC,EAAU,QAAC,CAAA;IAClC,IAAIA,OAAAA,CAAQ,UAAU,OAAS,EAAA,QAAA,CAAA;IAC/B,IAAIA,OAAAA,CAAQ,QAAU,EAAA,QAAA,EAAU,SAAC,CAAA;AACjC,IAAA,IAAIA,OAAQ,CAAA,SAAW,EAAA,QAAA,EAAU,SAAC,CAAA;IAClC,IAAIA,OAAAA,CAAQ,QAAU,EAAA,QAAU,EAAA,QAAA,CAAA;AAChC,IAAA,IAAIA,OAAQ,CAAA,SAAW,EAAA,WAAW,SAAC,CAAA;AACnC,IAAA,IAAIA,OAAQ,CAAA,UAAY,EAAA,WAAW,SAAC,CAAA;IACpC,IAAIA,OAAAA,CAAQ,QAAU,EAAA,SAAW,EAAA,SAAA,CAAA;IACjC,IAAIA,OAAAA,CAAQ,WAAW,QAAU,EAAA,QAAA,CAAA;IACjC,IAAIA,OAAAA,CAAQ,SAAC,EAAU,QAAU,EAAA,QAAA,CAAA;IACjC,IAAIA,OAAAA,CAAQ,QAAU,EAAA,UAAY,EAAA,QAAA,CAAA;AAClC,IAAA,IAAIA,OAAQ,CAAA,UAAY,EAAA,WAAW,SAAC;;AAGtC,iBACO,IAAKC,GAAAA,iBAAAA,SAAAA,GAAAA,EAAAA;;;AAAAA,IAAAA,OAAAA,GAAAA;AAGX,CAAA,CAAA,EAAA;;;;"}
1
+ {"version":3,"file":"values.js","sources":["../src/values.ts"],"sourcesContent":["import { Vector3 } from '@zephyr3d/base';\n\n/**\n * Forward render pass type\n * @public\n */\nexport const RENDER_PASS_TYPE_LIGHT = 0;\n/**\n * Shadow map render pass type\n * @public\n */\nexport const RENDER_PASS_TYPE_SHADOWMAP = 1;\n/**\n * Depth only render pass type\n * @public\n */\nexport const RENDER_PASS_TYPE_DEPTH = 2;\n/**\n * Object color render pass type\n * @public\n */\nexport const RENDER_PASS_TYPE_OBJECT_COLOR = 3;\n\n/**\n * Builtin texture name for sheen LUT\n * @public\n */\nexport const BUILTIN_ASSET_TEXTURE_SHEEN_LUT = 'LUT_Sheen';\n\n/**\n * Builtin cube texture for test\n * @public\n */\nexport const BUILTIN_ASSET_TEST_CUBEMAP = 'TEST_Cubemap';\n\n/**\n * No light\n * @public\n */\nexport const LIGHT_TYPE_NONE = 0;\n\n/**\n * Directional light type\n * @public\n */\nexport const LIGHT_TYPE_DIRECTIONAL = 1;\n\n/**\n * Point light type\n * @public\n */\nexport const LIGHT_TYPE_POINT = 2;\n\n/**\n * Spot light type\n * @public\n */\nexport const LIGHT_TYPE_SPOT = 3;\n/**\n * Rectangular area light type\n * @public\n */\nexport const LIGHT_TYPE_RECT = 4;\n\n/**\n * Max number of shadow-casting lights backed by the screen-space shadow mask.\n *\n * Each mask layer packs 4 lights (one per RGBA8 channel), so this maps to\n * `MAX_SHADOW_MASK_LIGHTS / 4` texture array layers. Shadow-casting lights are\n * placed at the head of the clustered light buffer. Shadow lights beyond this\n * cap fall back to being lit without a mask-backed shadow.\n * @public\n */\nexport const MAX_SHADOW_MASK_LIGHTS = 32;\n\n/**\n * Opaque render queue type\n * @public\n */\nexport const QUEUE_OPAQUE = 1;\n\n/**\n * Transparent render queue type\n * @public\n */\nexport const QUEUE_TRANSPARENT = 2;\n\n/** @public */\nexport const MORPH_TARGET_POSITION = 0;\n/** @public */\nexport const MORPH_TARGET_NORMAL = 1;\n/** @public */\nexport const MORPH_TARGET_TANGENT = 2;\n/** @public */\nexport const MORPH_TARGET_COLOR = 3;\n/** @public */\nexport const MORPH_TARGET_TEX0 = 4;\n/** @public */\nexport const MORPH_TARGET_TEX1 = 5;\n/** @public */\nexport const MORPH_TARGET_TEX2 = 6;\n/** @public */\nexport const MORPH_TARGET_TEX3 = 7;\n/** @public */\nexport const MAX_MORPH_ATTRIBUTES = 8;\n/** @public */\nexport const MAX_MORPH_TARGETS = 256;\n/** @public */\nexport const MORPH_WEIGHTS_VECTOR_COUNT = (MAX_MORPH_TARGETS + 3) >> 2;\n/** @public */\nexport const MORPH_ATTRIBUTE_VECTOR_COUNT = (MAX_MORPH_ATTRIBUTES + 3) >> 2;\n\n/** @public */\nexport const MAX_TERRAIN_MIPMAP_LEVELS = 64;\n\n/** @public */\nexport const MAX_GERSTNER_WAVE_COUNT = 16;\n\n/**\n * Material varying flags\n * @public\n */\nexport const enum MaterialVaryingFlags {\n MORPH_ANIMATION = 1 << 0,\n SKIN_ANIMATION = 1 << 1,\n INSTANCING = 1 << 2,\n SCENE_STORE_ROUGHNESS = 1 << 3,\n APPLY_FOG = 1 << 4,\n SSS_STORE_PROFILE = 1 << 5,\n SSS_STORE_DIFFUSE = 1 << 6,\n SCENE_STORE_NORMAL = 1 << 7,\n SSS_STORE_TRANSMISSION = 1 << 8,\n SKIN_SSS_STORE = 1 << 9\n}\n\n/**\n * Atmospheric Fog flag\n * @public\n */\nexport const ATMOSPHERIC_FOG_BIT = 1 << 0;\n/**\n * Exponential Fog flag\n * @public\n */\nexport const HEIGHT_FOG_BIT = 1 << 1;\n\n/** @internal */\nexport const uniformSphereSamples = [\n new Vector3(-0.7838, -0.620933, 0.00996137),\n new Vector3(0.106751, 0.965982, 0.235549),\n new Vector3(-0.215177, -0.687115, -0.693954),\n new Vector3(0.318002, 0.0640084, -0.945927),\n new Vector3(0.357396, 0.555673, 0.750664),\n new Vector3(0.866397, -0.19756, 0.458613),\n new Vector3(0.130216, 0.232736, -0.963783),\n new Vector3(-0.00174431, 0.376657, 0.926351),\n new Vector3(0.663478, 0.704806, -0.251089),\n new Vector3(0.0327851, 0.110534, -0.993331),\n new Vector3(0.0561973, 0.0234288, 0.998145),\n new Vector3(0.0905264, -0.169771, 0.981317),\n new Vector3(0.26694, 0.95222, -0.148393),\n new Vector3(-0.812874, -0.559051, -0.163393),\n new Vector3(-0.323378, -0.25855, -0.910263),\n new Vector3(-0.1333, 0.591356, -0.795317),\n new Vector3(0.480876, 0.408711, 0.775702),\n new Vector3(-0.332263, -0.533895, -0.777533),\n new Vector3(-0.0392473, -0.704457, -0.708661),\n new Vector3(0.427015, 0.239811, 0.871865),\n new Vector3(-0.416624, -0.563856, 0.713085),\n new Vector3(0.12793, 0.334479, -0.933679),\n new Vector3(-0.0343373, -0.160593, -0.986423),\n new Vector3(0.580614, 0.0692947, 0.811225),\n new Vector3(-0.459187, 0.43944, 0.772036),\n new Vector3(0.215474, -0.539436, -0.81399),\n new Vector3(-0.378969, -0.31988, -0.868366),\n new Vector3(-0.279978, -0.0109692, 0.959944),\n new Vector3(0.692547, 0.690058, 0.210234),\n new Vector3(0.53227, -0.123044, -0.837585),\n new Vector3(-0.772313, -0.283334, -0.568555),\n new Vector3(-0.0311218, 0.995988, -0.0838977),\n new Vector3(-0.366931, -0.276531, -0.888196),\n new Vector3(0.488778, 0.367878, -0.791051),\n new Vector3(-0.885561, -0.453445, 0.100842),\n new Vector3(0.71656, 0.443635, 0.538265),\n new Vector3(0.645383, -0.152576, -0.748466),\n new Vector3(-0.171259, 0.91907, 0.354939),\n new Vector3(-0.0031122, 0.9457, 0.325026),\n new Vector3(0.731503, 0.623089, -0.276881),\n new Vector3(-0.91466, 0.186904, 0.358419),\n new Vector3(0.15595, 0.828193, -0.538309),\n new Vector3(0.175396, 0.584732, 0.792038),\n new Vector3(-0.0838381, -0.943461, 0.320707),\n new Vector3(0.305876, 0.727604, 0.614029),\n new Vector3(0.754642, -0.197903, -0.62558),\n new Vector3(0.217255, -0.0177771, -0.975953),\n new Vector3(0.140412, -0.844826, 0.516287),\n new Vector3(-0.549042, 0.574859, -0.606705),\n new Vector3(0.570057, 0.17459, 0.802841),\n new Vector3(-0.0330304, 0.775077, 0.631003),\n new Vector3(-0.938091, 0.138937, 0.317304),\n new Vector3(0.483197, -0.726405, -0.48873),\n new Vector3(0.485263, 0.52926, 0.695991),\n new Vector3(0.224189, 0.742282, -0.631472),\n new Vector3(-0.322429, 0.662214, -0.676396),\n new Vector3(0.625577, -0.12711, 0.769738),\n new Vector3(-0.714032, -0.584461, -0.385439),\n new Vector3(-0.0652053, -0.892579, -0.446151),\n new Vector3(0.408421, -0.912487, 0.0236566),\n new Vector3(0.0900381, 0.319983, 0.943135),\n new Vector3(-0.708553, 0.483646, 0.513847),\n new Vector3(0.803855, -0.0902273, 0.587942),\n new Vector3(-0.0555802, -0.374602, -0.925519)\n];\n\n/** @internal */\nexport enum Fog {\n FOG_TYPE_NONE = 0,\n FOG_TYPE_HEIGHT = 4\n}\n"],"names":["RENDER_PASS_TYPE_LIGHT","RENDER_PASS_TYPE_SHADOWMAP","RENDER_PASS_TYPE_DEPTH","RENDER_PASS_TYPE_OBJECT_COLOR","BUILTIN_ASSET_TEXTURE_SHEEN_LUT","BUILTIN_ASSET_TEST_CUBEMAP","LIGHT_TYPE_NONE","LIGHT_TYPE_DIRECTIONAL","LIGHT_TYPE_POINT","LIGHT_TYPE_SPOT","LIGHT_TYPE_RECT","MAX_SHADOW_MASK_LIGHTS","QUEUE_OPAQUE","QUEUE_TRANSPARENT","MORPH_TARGET_POSITION","MORPH_TARGET_NORMAL","MORPH_TARGET_TANGENT","MORPH_TARGET_COLOR","MORPH_TARGET_TEX0","MORPH_TARGET_TEX1","MORPH_TARGET_TEX2","MORPH_TARGET_TEX3","MAX_MORPH_ATTRIBUTES","MAX_MORPH_TARGETS","MORPH_WEIGHTS_VECTOR_COUNT","MORPH_ATTRIBUTE_VECTOR_COUNT","MAX_TERRAIN_MIPMAP_LEVELS","MAX_GERSTNER_WAVE_COUNT","MaterialVaryingFlags","ATMOSPHERIC_FOG_BIT","HEIGHT_FOG_BIT","uniformSphereSamples","Vector3","Fog"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zephyr3d/scene",
3
- "version": "0.9.22",
3
+ "version": "0.9.24",
4
4
  "description": "Scene API for zephyr3d",
5
5
  "homepage": "https://github.com/gavinyork/zephyr3d#readme",
6
6
  "type": "module",
@@ -67,8 +67,8 @@
67
67
  "dependencies": {
68
68
  "@types/draco3d": "^1.4.9",
69
69
  "@webgpu/types": "^0.1.65",
70
- "@zephyr3d/base": "^0.2.8",
71
- "@zephyr3d/device": "^0.2.16",
70
+ "@zephyr3d/base": "^0.2.9",
71
+ "@zephyr3d/device": "^0.2.18",
72
72
  "es-module-lexer": "^1.7.0"
73
73
  },
74
74
  "scripts": {