@onerjs/core 8.51.4 → 8.51.5

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 (173) hide show
  1. package/Animations/animatorAvatar.d.ts +2 -0
  2. package/Animations/animatorAvatar.js +163 -94
  3. package/Animations/animatorAvatar.js.map +1 -1
  4. package/Engines/constants.d.ts +10 -0
  5. package/Engines/constants.js +10 -0
  6. package/Engines/constants.js.map +1 -1
  7. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js +6 -3
  8. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js.map +1 -1
  9. package/Materials/PBR/openpbrMaterial.d.ts +8 -0
  10. package/Materials/PBR/openpbrMaterial.js +16 -0
  11. package/Materials/PBR/openpbrMaterial.js.map +1 -1
  12. package/Materials/PBR/pbrBaseMaterial.d.ts +1 -0
  13. package/Materials/PBR/pbrBaseMaterial.js +8 -0
  14. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  15. package/Materials/Textures/Procedurals/proceduralTexture.d.ts +6 -0
  16. package/Materials/Textures/Procedurals/proceduralTexture.js +3 -1
  17. package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
  18. package/Materials/Textures/index.d.ts +1 -0
  19. package/Materials/Textures/index.js +1 -0
  20. package/Materials/Textures/index.js.map +1 -1
  21. package/Materials/Textures/textureMerger.js +1 -0
  22. package/Materials/Textures/textureMerger.js.map +1 -1
  23. package/Materials/Textures/textureProcessor.d.ts +315 -0
  24. package/Materials/Textures/textureProcessor.js +792 -0
  25. package/Materials/Textures/textureProcessor.js.map +1 -0
  26. package/Materials/material.d.ts +24 -0
  27. package/Materials/material.js +39 -0
  28. package/Materials/material.js.map +1 -1
  29. package/Materials/standardMaterial.d.ts +1 -0
  30. package/Materials/standardMaterial.js +6 -0
  31. package/Materials/standardMaterial.js.map +1 -1
  32. package/Physics/v2/characterController.d.ts +104 -7
  33. package/Physics/v2/characterController.js +355 -7
  34. package/Physics/v2/characterController.js.map +1 -1
  35. package/Shaders/ShadersInclude/bumpFragment.js +3 -3
  36. package/Shaders/ShadersInclude/bumpFragment.js.map +1 -1
  37. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js +5 -1
  38. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
  39. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js +3 -0
  40. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js.map +1 -1
  41. package/Shaders/ShadersInclude/defaultUboDeclaration.js +1 -1
  42. package/Shaders/ShadersInclude/defaultUboDeclaration.js.map +1 -1
  43. package/Shaders/ShadersInclude/defaultVertexDeclaration.js +1 -1
  44. package/Shaders/ShadersInclude/defaultVertexDeclaration.js.map +1 -1
  45. package/Shaders/ShadersInclude/openpbrAmbientOcclusionData.js +1 -1
  46. package/Shaders/ShadersInclude/openpbrAmbientOcclusionData.js.map +1 -1
  47. package/Shaders/ShadersInclude/openpbrBackgroundTransmission.js +1 -1
  48. package/Shaders/ShadersInclude/openpbrBackgroundTransmission.js.map +1 -1
  49. package/Shaders/ShadersInclude/openpbrBaseLayerData.js +14 -14
  50. package/Shaders/ShadersInclude/openpbrBaseLayerData.js.map +1 -1
  51. package/Shaders/ShadersInclude/openpbrCoatLayerData.js +6 -6
  52. package/Shaders/ShadersInclude/openpbrCoatLayerData.js.map +1 -1
  53. package/Shaders/ShadersInclude/openpbrDirectLighting.js +1 -1
  54. package/Shaders/ShadersInclude/openpbrDirectLighting.js.map +1 -1
  55. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js +1 -1
  56. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -1
  57. package/Shaders/ShadersInclude/openpbrFragmentDeclaration.js +3 -0
  58. package/Shaders/ShadersInclude/openpbrFragmentDeclaration.js.map +1 -1
  59. package/Shaders/ShadersInclude/openpbrFuzzLayerData.js +3 -3
  60. package/Shaders/ShadersInclude/openpbrFuzzLayerData.js.map +1 -1
  61. package/Shaders/ShadersInclude/openpbrNormalMapFragment.js +4 -4
  62. package/Shaders/ShadersInclude/openpbrNormalMapFragment.js.map +1 -1
  63. package/Shaders/ShadersInclude/openpbrSubsurfaceLayerData.js +7 -3
  64. package/Shaders/ShadersInclude/openpbrSubsurfaceLayerData.js.map +1 -1
  65. package/Shaders/ShadersInclude/openpbrThinFilmLayerData.js +2 -2
  66. package/Shaders/ShadersInclude/openpbrThinFilmLayerData.js.map +1 -1
  67. package/Shaders/ShadersInclude/openpbrTransmissionLayerData.js +5 -5
  68. package/Shaders/ShadersInclude/openpbrTransmissionLayerData.js.map +1 -1
  69. package/Shaders/ShadersInclude/openpbrUboDeclaration.js +1 -1
  70. package/Shaders/ShadersInclude/openpbrUboDeclaration.js.map +1 -1
  71. package/Shaders/ShadersInclude/openpbrVertexDeclaration.js +1 -1
  72. package/Shaders/ShadersInclude/openpbrVertexDeclaration.js.map +1 -1
  73. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js +1 -1
  74. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
  75. package/Shaders/ShadersInclude/pbrBlockLightmapInit.js +1 -1
  76. package/Shaders/ShadersInclude/pbrBlockLightmapInit.js.map +1 -1
  77. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +3 -0
  78. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js.map +1 -1
  79. package/Shaders/ShadersInclude/pbrHelperFunctions.js +4 -0
  80. package/Shaders/ShadersInclude/pbrHelperFunctions.js.map +1 -1
  81. package/Shaders/ShadersInclude/pbrUboDeclaration.js +1 -1
  82. package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  83. package/Shaders/ShadersInclude/pbrVertexDeclaration.js +1 -1
  84. package/Shaders/ShadersInclude/pbrVertexDeclaration.js.map +1 -1
  85. package/Shaders/ShadersInclude/textureRepetitionFunctions.d.ts +5 -0
  86. package/Shaders/ShadersInclude/textureRepetitionFunctions.js +52 -0
  87. package/Shaders/ShadersInclude/textureRepetitionFunctions.js.map +1 -0
  88. package/Shaders/default.fragment.d.ts +1 -0
  89. package/Shaders/default.fragment.js +8 -6
  90. package/Shaders/default.fragment.js.map +1 -1
  91. package/Shaders/geometry.fragment.js +3 -3
  92. package/Shaders/geometry.fragment.js.map +1 -1
  93. package/Shaders/openpbr.fragment.d.ts +1 -0
  94. package/Shaders/openpbr.fragment.js +4 -2
  95. package/Shaders/openpbr.fragment.js.map +1 -1
  96. package/Shaders/pbr.fragment.d.ts +1 -0
  97. package/Shaders/pbr.fragment.js +24 -22
  98. package/Shaders/pbr.fragment.js.map +1 -1
  99. package/Shaders/textureProcessor.fragment.d.ts +5 -0
  100. package/Shaders/textureProcessor.fragment.js +156 -0
  101. package/Shaders/textureProcessor.fragment.js.map +1 -0
  102. package/ShadersWGSL/ShadersInclude/bumpFragment.js +3 -3
  103. package/ShadersWGSL/ShadersInclude/bumpFragment.js.map +1 -1
  104. package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.js +5 -1
  105. package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
  106. package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.js +1 -1
  107. package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.js.map +1 -1
  108. package/ShadersWGSL/ShadersInclude/openpbrAmbientOcclusionData.js +1 -1
  109. package/ShadersWGSL/ShadersInclude/openpbrAmbientOcclusionData.js.map +1 -1
  110. package/ShadersWGSL/ShadersInclude/openpbrBackgroundTransmission.js +1 -1
  111. package/ShadersWGSL/ShadersInclude/openpbrBackgroundTransmission.js.map +1 -1
  112. package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.js +15 -15
  113. package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.js.map +1 -1
  114. package/ShadersWGSL/ShadersInclude/openpbrCoatLayerData.js +7 -7
  115. package/ShadersWGSL/ShadersInclude/openpbrCoatLayerData.js.map +1 -1
  116. package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.js +1 -1
  117. package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.js.map +1 -1
  118. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js +1 -1
  119. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -1
  120. package/ShadersWGSL/ShadersInclude/openpbrFuzzLayerData.js +4 -4
  121. package/ShadersWGSL/ShadersInclude/openpbrFuzzLayerData.js.map +1 -1
  122. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js +3 -3
  123. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js.map +1 -1
  124. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragment.js +4 -4
  125. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragment.js.map +1 -1
  126. package/ShadersWGSL/ShadersInclude/openpbrSubsurfaceLayerData.js +7 -3
  127. package/ShadersWGSL/ShadersInclude/openpbrSubsurfaceLayerData.js.map +1 -1
  128. package/ShadersWGSL/ShadersInclude/openpbrThinFilmLayerData.js +2 -2
  129. package/ShadersWGSL/ShadersInclude/openpbrThinFilmLayerData.js.map +1 -1
  130. package/ShadersWGSL/ShadersInclude/openpbrTransmissionLayerData.js +6 -6
  131. package/ShadersWGSL/ShadersInclude/openpbrTransmissionLayerData.js.map +1 -1
  132. package/ShadersWGSL/ShadersInclude/openpbrUboDeclaration.js +1 -1
  133. package/ShadersWGSL/ShadersInclude/openpbrUboDeclaration.js.map +1 -1
  134. package/ShadersWGSL/ShadersInclude/pbrBlockFinalUnlitComponents.js +1 -1
  135. package/ShadersWGSL/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
  136. package/ShadersWGSL/ShadersInclude/pbrBlockLightmapInit.js +1 -1
  137. package/ShadersWGSL/ShadersInclude/pbrBlockLightmapInit.js.map +1 -1
  138. package/ShadersWGSL/ShadersInclude/pbrHelperFunctions.js +4 -0
  139. package/ShadersWGSL/ShadersInclude/pbrHelperFunctions.js.map +1 -1
  140. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js +1 -1
  141. package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  142. package/ShadersWGSL/ShadersInclude/textureRepetitionFunctions.d.ts +5 -0
  143. package/ShadersWGSL/ShadersInclude/textureRepetitionFunctions.js +52 -0
  144. package/ShadersWGSL/ShadersInclude/textureRepetitionFunctions.js.map +1 -0
  145. package/ShadersWGSL/default.fragment.d.ts +1 -0
  146. package/ShadersWGSL/default.fragment.js +8 -6
  147. package/ShadersWGSL/default.fragment.js.map +1 -1
  148. package/ShadersWGSL/geometry.fragment.js +3 -3
  149. package/ShadersWGSL/geometry.fragment.js.map +1 -1
  150. package/ShadersWGSL/openpbr.fragment.d.ts +1 -0
  151. package/ShadersWGSL/openpbr.fragment.js +5 -3
  152. package/ShadersWGSL/openpbr.fragment.js.map +1 -1
  153. package/ShadersWGSL/openpbr.vertex.js +1 -1
  154. package/ShadersWGSL/openpbr.vertex.js.map +1 -1
  155. package/ShadersWGSL/pbr.fragment.d.ts +1 -0
  156. package/ShadersWGSL/pbr.fragment.js +24 -22
  157. package/ShadersWGSL/pbr.fragment.js.map +1 -1
  158. package/ShadersWGSL/textureProcessor.fragment.d.ts +5 -0
  159. package/ShadersWGSL/textureProcessor.fragment.js +161 -0
  160. package/ShadersWGSL/textureProcessor.fragment.js.map +1 -0
  161. package/SmartAssets/index.d.ts +2 -0
  162. package/SmartAssets/index.js +2 -0
  163. package/SmartAssets/index.js.map +1 -0
  164. package/SmartAssets/smartAssetManager.d.ts +156 -0
  165. package/SmartAssets/smartAssetManager.js +531 -0
  166. package/SmartAssets/smartAssetManager.js.map +1 -0
  167. package/SmartAssets/smartAssetSerializer.d.ts +61 -0
  168. package/SmartAssets/smartAssetSerializer.js +97 -0
  169. package/SmartAssets/smartAssetSerializer.js.map +1 -0
  170. package/index.d.ts +1 -0
  171. package/index.js +1 -0
  172. package/index.js.map +1 -1
  173. package/package.json +1 -1
@@ -197,6 +197,7 @@ export class OpenPBRMaterialDefines extends ImageProcessingDefinesMixin(OpenPBRM
197
197
  this.USE_GLTF_STYLE_ANISOTROPY = false;
198
198
  this.THIN_FILM_THICKNESS_FROM_THIN_FILM_TEXTURE = false;
199
199
  this.FUZZ_ROUGHNESS_FROM_TEXTURE_ALPHA = false;
200
+ this.SUBSURFACE_WEIGHT_FROM_TEXTURE_ALPHA = false;
200
201
  this.GEOMETRY_THICKNESS_FROM_GREEN_CHANNEL = false;
201
202
  this.ENVIRONMENTBRDF = false;
202
203
  this.ENVIRONMENTBRDF_RGBD = false;
@@ -343,6 +344,7 @@ export class OpenPBRMaterialDefines extends ImageProcessingDefinesMixin(OpenPBRM
343
344
  this.SPECULARAA = false;
344
345
  this.UNLIT = false;
345
346
  this.DECAL_AFTER_DETAIL = false;
347
+ this.TEXTURE_REPETITION_MODE = 0;
346
348
  this.DEBUGMODE = 0;
347
349
  this.USE_VERTEX_PULLING = false;
348
350
  this.VERTEX_PULLING_USE_INDEX_BUFFER = false;
@@ -838,6 +840,12 @@ export class OpenPBRMaterial extends OpenPBRMaterialBase {
838
840
  * the alpha channel of the fuzz color texture.
839
841
  */
840
842
  this._useFuzzRoughnessFromTextureAlpha = false;
843
+ /**
844
+ * Specifies that the subsurface weight is stored in the alpha channel of the texture.
845
+ * This is for compatibility with glTF where the subsurface weight is stored in
846
+ * the alpha channel of the diffuseTransmissionTexture.
847
+ */
848
+ this._useSubsurfaceWeightFromTextureAlpha = false;
841
849
  /**
842
850
  * This parameters will enable/disable Horizon occlusion to prevent normal maps to look shiny when the normal
843
851
  * makes the reflect vector face the model (under horizon).
@@ -1485,6 +1493,7 @@ export class OpenPBRMaterial extends OpenPBRMaterialBase {
1485
1493
  ubo.addUniform("vDebugMode", 2);
1486
1494
  ubo.addUniform("renderTargetSize", 2);
1487
1495
  ubo.addUniform("cameraInfo", 4);
1496
+ ubo.addUniform("vTextureRepetitionHexTilingParams", 4);
1488
1497
  ubo.addUniform("backgroundRefractionMatrix", 16);
1489
1498
  ubo.addUniform("vBackgroundRefractionInfos", 3);
1490
1499
  PrepareUniformLayoutForIBL(ubo, true, true, true, true, true);
@@ -1547,6 +1556,8 @@ export class OpenPBRMaterial extends OpenPBRMaterialBase {
1547
1556
  else {
1548
1557
  this._uniformBuffer.updateFloat4("cameraInfo", 0, 0, 0, 0);
1549
1558
  }
1559
+ const hexParams = this.textureRepetitionHexTilingParams;
1560
+ this._uniformBuffer.updateFloat4("vTextureRepetitionHexTilingParams", hexParams[0], hexParams[1], hexParams[2], hexParams[3]);
1550
1561
  this._eventInfo.subMesh = subMesh;
1551
1562
  this._callbackPluginEventHardBindForSubMesh(this._eventInfo);
1552
1563
  // Normal Matrix
@@ -1911,6 +1922,7 @@ export class OpenPBRMaterial extends OpenPBRMaterialBase {
1911
1922
  "morphTargetTextureInfo",
1912
1923
  "morphTargetTextureIndices",
1913
1924
  "cameraInfo",
1925
+ "vTextureRepetitionHexTilingParams",
1914
1926
  "backgroundRefractionMatrix",
1915
1927
  "vBackgroundRefractionInfos",
1916
1928
  ];
@@ -2067,6 +2079,7 @@ export class OpenPBRMaterial extends OpenPBRMaterialBase {
2067
2079
  defines.COAT_ROUGHNESS_FROM_GREEN_CHANNEL = this._useCoatRoughnessFromGreenChannel;
2068
2080
  defines.SPECULAR_ROUGHNESS_FROM_METALNESS_TEXTURE_GREEN = this._useRoughnessFromMetallicTextureGreen;
2069
2081
  defines.FUZZ_ROUGHNESS_FROM_TEXTURE_ALPHA = this._useFuzzRoughnessFromTextureAlpha;
2082
+ defines.SUBSURFACE_WEIGHT_FROM_TEXTURE_ALPHA = this._useSubsurfaceWeightFromTextureAlpha;
2070
2083
  defines.BASE_METALNESS_FROM_METALNESS_TEXTURE_BLUE = this._useMetallicFromMetallicTextureBlue;
2071
2084
  defines.THIN_FILM_THICKNESS_FROM_THIN_FILM_TEXTURE = this._useThinFilmThicknessFromTextureGreen;
2072
2085
  defines.GEOMETRY_THICKNESS_FROM_GREEN_CHANNEL = this._useGeometryThicknessFromGreenChannel;
@@ -2154,6 +2167,9 @@ export class OpenPBRMaterial extends OpenPBRMaterialBase {
2154
2167
  defines.PREMULTIPLYALPHA = this.alphaMode === 7 || this.alphaMode === 8;
2155
2168
  defines.ALPHABLEND = this.needAlphaBlendingForMesh(mesh);
2156
2169
  }
2170
+ if (defines._areTexturesDirty) {
2171
+ defines.TEXTURE_REPETITION_MODE = engine.version > 1 || engine.isWebGPU ? this.textureRepetitionMode : 0;
2172
+ }
2157
2173
  if (defines._areImageProcessingDirty && this._imageProcessingConfiguration) {
2158
2174
  this._imageProcessingConfiguration.prepareDefines(defines);
2159
2175
  }