x_ite 8.4.3 → 8.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) hide show
  1. package/.vscode/settings.json +5 -1
  2. package/Makefile +0 -3
  3. package/build/bin/components.js +173 -0
  4. package/build/bin/tags.pl +28 -0
  5. package/build/bin/tests.pl +80 -2
  6. package/build/bin/version.pl +12 -7
  7. package/dist/assets/components/Annotation.js +13 -13
  8. package/dist/assets/components/Annotation.min.js +1 -1
  9. package/dist/assets/components/CADGeometry.js +13 -13
  10. package/dist/assets/components/CADGeometry.min.js +1 -1
  11. package/dist/assets/components/CubeMapTexturing.js +28 -29
  12. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  13. package/dist/assets/components/DIS.js +13 -13
  14. package/dist/assets/components/DIS.min.js +1 -1
  15. package/dist/assets/components/EventUtilities.js +9 -9
  16. package/dist/assets/components/EventUtilities.min.js +1 -1
  17. package/dist/assets/components/Geometry2D.js +19 -19
  18. package/dist/assets/components/Geometry2D.min.js +1 -1
  19. package/dist/assets/components/Geospatial.js +33 -33
  20. package/dist/assets/components/Geospatial.min.js +1 -1
  21. package/dist/assets/components/HAnim.js +63 -42
  22. package/dist/assets/components/HAnim.min.js +1 -1
  23. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  24. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  25. package/dist/assets/components/Layout.js +37 -29
  26. package/dist/assets/components/Layout.min.js +1 -1
  27. package/dist/assets/components/NURBS.js +29 -31
  28. package/dist/assets/components/NURBS.min.js +1 -1
  29. package/dist/assets/components/ParticleSystems.js +23 -23
  30. package/dist/assets/components/ParticleSystems.min.js +1 -1
  31. package/dist/assets/components/Picking.js +19 -19
  32. package/dist/assets/components/Picking.min.js +1 -1
  33. package/dist/assets/components/RigidBodyPhysics.js +24 -19
  34. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  35. package/dist/assets/components/Scripting.js +30 -30
  36. package/dist/assets/components/Scripting.min.js +1 -1
  37. package/dist/assets/components/Text.js +172 -594
  38. package/dist/assets/components/Text.min.js +1 -1
  39. package/dist/assets/components/TextureProjector.js +31 -47
  40. package/dist/assets/components/TextureProjector.min.js +1 -1
  41. package/dist/assets/components/Texturing3D.js +367 -346
  42. package/dist/assets/components/Texturing3D.min.js +1 -1
  43. package/dist/assets/components/VolumeRendering.js +19 -19
  44. package/dist/assets/components/VolumeRendering.min.js +1 -1
  45. package/dist/assets/components/X_ITE.js +9 -9
  46. package/dist/assets/components/X_ITE.min.js +1 -1
  47. package/dist/x_ite.css +1 -1
  48. package/dist/x_ite.js +12174 -3553
  49. package/dist/x_ite.min.js +1 -1
  50. package/dist/x_ite.zip +0 -0
  51. package/docs/_config.yml +5 -136
  52. package/docs/_data/nav/components-CADGeometry.yml +14 -0
  53. package/docs/_data/nav/components-Core.yml +16 -0
  54. package/docs/_data/nav/components-CubeMapTexturing.yml +8 -0
  55. package/docs/_data/nav/components-DIS.yml +14 -0
  56. package/docs/_data/nav/components-EnvironmentalEffects.yml +12 -0
  57. package/docs/_data/nav/components-EnvironmentalSensor.yml +8 -0
  58. package/docs/_data/nav/components-EventUtilities.yml +16 -0
  59. package/docs/_data/nav/components-Followers.yml +30 -0
  60. package/docs/_data/nav/components-Geometry2D.yml +18 -0
  61. package/docs/_data/nav/components-Geometry3D.yml +16 -0
  62. package/docs/_data/nav/components-Geospatial.yml +24 -0
  63. package/docs/_data/nav/components-Grouping.yml +10 -0
  64. package/docs/_data/nav/components-HAnim.yml +14 -0
  65. package/docs/_data/nav/components-Interpolation.yml +28 -0
  66. package/docs/_data/nav/components-KeyDeviceSensor.yml +6 -0
  67. package/docs/_data/nav/components-Layering.yml +8 -0
  68. package/docs/_data/nav/components-Layout.yml +12 -0
  69. package/docs/_data/nav/components-Lighting.yml +10 -0
  70. package/docs/_data/nav/components-NURBS.yml +30 -0
  71. package/docs/_data/nav/components-Navigation.yml +16 -0
  72. package/docs/_data/nav/components-Networking.yml +8 -0
  73. package/docs/_data/nav/components-ParticleSystems.yml +22 -0
  74. package/docs/_data/nav/components-Picking.yml +12 -0
  75. package/docs/_data/nav/components-PointingDeviceSensor.yml +10 -0
  76. package/docs/_data/nav/components-Rendering.yml +30 -0
  77. package/docs/_data/nav/components-RigidBodyPhysics.yml +30 -0
  78. package/docs/_data/nav/components-Scripting.yml +4 -0
  79. package/docs/_data/nav/components-Shaders.yml +18 -0
  80. package/docs/_data/nav/components-Shape.yml +22 -0
  81. package/docs/_data/nav/components-Sound.yml +44 -0
  82. package/docs/_data/nav/components-Text.yml +6 -0
  83. package/docs/_data/nav/components-TextureProjector.yml +6 -0
  84. package/docs/_data/nav/components-Texturing.yml +22 -0
  85. package/docs/_data/nav/components-Texturing3D.yml +18 -0
  86. package/docs/_data/nav/components-Time.yml +4 -0
  87. package/docs/_data/nav/components-VolumeRendering.yml +28 -0
  88. package/docs/_data/nav/components-X_ITE.yml +4 -0
  89. package/docs/_data/nav/main.yml +26 -0
  90. package/docs/_data/nav/reference.yml +18 -0
  91. package/docs/_data/nav/tutorials-animation-sensors-and-geometry.yml +18 -0
  92. package/docs/_data/nav/tutorials-basic.yml +6 -0
  93. package/docs/_data/nav/tutorials-optimize-your-scene.yml +6 -0
  94. package/docs/_data/nav/tutorials-scripts-and-prototypes.yml +12 -0
  95. package/docs/_data/nav/tutorials-shapes-geometry-and-appearance.yml +16 -0
  96. package/docs/_data/nav/tutorials-textures-lights-and-environment.yml +20 -0
  97. package/docs/_includes/nav.html +2 -2
  98. package/docs/_includes/scripts.html +2 -1
  99. package/docs/_posts/accessing-the-external-browser.md +1 -1
  100. package/docs/_posts/browser-support.md +1 -1
  101. package/docs/_posts/components/CADGeometry/CADAssembly.md +83 -0
  102. package/docs/_posts/components/CADGeometry/CADFace.md +70 -0
  103. package/docs/_posts/components/CADGeometry/CADLayer.md +84 -0
  104. package/docs/_posts/components/CADGeometry/CADPart.md +117 -0
  105. package/docs/_posts/components/CADGeometry/IndexedQuadSet.md +125 -0
  106. package/docs/_posts/components/CADGeometry/QuadSet.md +113 -0
  107. package/docs/_posts/components/Core/MetadataBoolean.md +90 -0
  108. package/docs/_posts/components/Core/MetadataDouble.md +67 -0
  109. package/docs/_posts/components/Core/MetadataFloat.md +67 -0
  110. package/docs/_posts/components/Core/MetadataInteger.md +66 -0
  111. package/docs/_posts/components/Core/MetadataSet.md +63 -0
  112. package/docs/_posts/components/Core/MetadataString.md +66 -0
  113. package/docs/_posts/components/Core/WorldInfo.md +54 -0
  114. package/docs/_posts/components/CubeMapTexturing/ComposedCubeMapTexture.md +76 -0
  115. package/docs/_posts/components/CubeMapTexturing/GeneratedCubeMapTexture.md +65 -0
  116. package/docs/_posts/components/CubeMapTexturing/ImageCubeMapTexture.md +66 -0
  117. package/docs/_posts/components/DIS/DISEntityManager.md +73 -0
  118. package/docs/_posts/components/DIS/DISEntityTypeMapping.md +88 -0
  119. package/docs/_posts/components/DIS/EspduTransform.md +416 -0
  120. package/docs/_posts/components/DIS/ReceiverPdu.md +168 -0
  121. package/docs/_posts/components/DIS/SignalPdu.md +168 -0
  122. package/docs/_posts/components/DIS/TransmitterPdu.md +232 -0
  123. package/docs/_posts/components/EnvironmentalEffects/Background.md +189 -0
  124. package/docs/_posts/components/EnvironmentalEffects/Fog.md +97 -0
  125. package/docs/_posts/components/EnvironmentalEffects/FogCoordinate.md +40 -0
  126. package/docs/_posts/components/EnvironmentalEffects/LocalFog.md +84 -0
  127. package/docs/_posts/components/EnvironmentalEffects/TextureBackground.md +142 -0
  128. package/docs/_posts/components/EnvironmentalSensor/ProximitySensor.md +90 -0
  129. package/docs/_posts/components/EnvironmentalSensor/TransformSensor.md +91 -0
  130. package/docs/_posts/components/EnvironmentalSensor/VisibilitySensor.md +73 -0
  131. package/docs/_posts/components/EventUtilities/BooleanFilter.md +62 -0
  132. package/docs/_posts/components/EventUtilities/BooleanSequencer.md +86 -0
  133. package/docs/_posts/components/EventUtilities/BooleanToggle.md +46 -0
  134. package/docs/_posts/components/EventUtilities/BooleanTrigger.md +47 -0
  135. package/docs/_posts/components/EventUtilities/IntegerSequencer.md +90 -0
  136. package/docs/_posts/components/EventUtilities/IntegerTrigger.md +51 -0
  137. package/docs/_posts/components/EventUtilities/TimeTrigger.md +47 -0
  138. package/docs/_posts/components/Followers/ColorChaser.md +77 -0
  139. package/docs/_posts/components/Followers/ColorDamper.md +85 -0
  140. package/docs/_posts/components/Followers/CoordinateChaser.md +76 -0
  141. package/docs/_posts/components/Followers/CoordinateDamper.md +80 -0
  142. package/docs/_posts/components/Followers/OrientationChaser.md +72 -0
  143. package/docs/_posts/components/Followers/OrientationDamper.md +80 -0
  144. package/docs/_posts/components/Followers/PositionChaser.md +72 -0
  145. package/docs/_posts/components/Followers/PositionChaser2D.md +72 -0
  146. package/docs/_posts/components/Followers/PositionDamper.md +80 -0
  147. package/docs/_posts/components/Followers/PositionDamper2D.md +80 -0
  148. package/docs/_posts/components/Followers/ScalarChaser.md +76 -0
  149. package/docs/_posts/components/Followers/ScalarDamper.md +80 -0
  150. package/docs/_posts/components/Followers/TexCoordChaser2D.md +72 -0
  151. package/docs/_posts/components/Followers/TexCoordDamper2D.md +80 -0
  152. package/docs/_posts/components/Geometry2D/Arc2D.md +71 -0
  153. package/docs/_posts/components/Geometry2D/ArcClose2D.md +91 -0
  154. package/docs/_posts/components/Geometry2D/Circle2D.md +55 -0
  155. package/docs/_posts/components/Geometry2D/Disk2D.md +75 -0
  156. package/docs/_posts/components/Geometry2D/Polyline2D.md +54 -0
  157. package/docs/_posts/components/Geometry2D/Polypoint2D.md +54 -0
  158. package/docs/_posts/components/Geometry2D/Rectangle2D.md +66 -0
  159. package/docs/_posts/components/Geometry2D/TriangleSet2D.md +66 -0
  160. package/docs/_posts/components/Geometry3D/Box.md +66 -0
  161. package/docs/_posts/components/Geometry3D/Cone.md +90 -0
  162. package/docs/_posts/components/Geometry3D/Cylinder.md +98 -0
  163. package/docs/_posts/components/Geometry3D/ElevationGrid.md +162 -0
  164. package/docs/_posts/components/Geometry3D/Extrusion.md +170 -0
  165. package/docs/_posts/components/Geometry3D/IndexedFaceSet.md +208 -0
  166. package/docs/_posts/components/Geometry3D/Sphere.md +66 -0
  167. package/docs/_posts/components/Geospatial/GeoCoordinate.md +65 -0
  168. package/docs/_posts/components/Geospatial/GeoElevationGrid.md +180 -0
  169. package/docs/_posts/components/Geospatial/GeoLOD.md +128 -0
  170. package/docs/_posts/components/Geospatial/GeoLocation.md +93 -0
  171. package/docs/_posts/components/Geospatial/GeoMetadata.md +75 -0
  172. package/docs/_posts/components/Geospatial/GeoOrigin.md +69 -0
  173. package/docs/_posts/components/Geospatial/GeoPositionInterpolator.md +95 -0
  174. package/docs/_posts/components/Geospatial/GeoProximitySensor.md +109 -0
  175. package/docs/_posts/components/Geospatial/GeoTouchSensor.md +108 -0
  176. package/docs/_posts/components/Geospatial/GeoTransform.md +121 -0
  177. package/docs/_posts/components/Geospatial/GeoViewpoint.md +126 -0
  178. package/docs/_posts/components/Grouping/Group.md +75 -0
  179. package/docs/_posts/components/Grouping/StaticGroup.md +65 -0
  180. package/docs/_posts/components/Grouping/Switch.md +89 -0
  181. package/docs/_posts/components/Grouping/Transform.md +126 -0
  182. package/docs/_posts/components/HAnim/HAnimDisplacer.md +89 -0
  183. package/docs/_posts/components/HAnim/HAnimHumanoid.md +136 -0
  184. package/docs/_posts/components/HAnim/HAnimJoint.md +165 -0
  185. package/docs/_posts/components/HAnim/HAnimMotion.md +68 -0
  186. package/docs/_posts/components/HAnim/HAnimSegment.md +107 -0
  187. package/docs/_posts/components/HAnim/HAnimSite.md +108 -0
  188. package/docs/_posts/components/Interpolation/ColorInterpolator.md +73 -0
  189. package/docs/_posts/components/Interpolation/CoordinateInterpolator.md +76 -0
  190. package/docs/_posts/components/Interpolation/CoordinateInterpolator2D.md +73 -0
  191. package/docs/_posts/components/Interpolation/EaseInEaseOut.md +67 -0
  192. package/docs/_posts/components/Interpolation/NormalInterpolator.md +68 -0
  193. package/docs/_posts/components/Interpolation/OrientationInterpolator.md +72 -0
  194. package/docs/_posts/components/Interpolation/PositionInterpolator.md +72 -0
  195. package/docs/_posts/components/Interpolation/PositionInterpolator2D.md +77 -0
  196. package/docs/_posts/components/Interpolation/ScalarInterpolator.md +76 -0
  197. package/docs/_posts/components/Interpolation/SplinePositionInterpolator.md +93 -0
  198. package/docs/_posts/components/Interpolation/SplinePositionInterpolator2D.md +93 -0
  199. package/docs/_posts/components/Interpolation/SplineScalarInterpolator.md +106 -0
  200. package/docs/_posts/components/Interpolation/SquadOrientationInterpolator.md +78 -0
  201. package/docs/_posts/components/KeyDeviceSensor/KeySensor.md +78 -0
  202. package/docs/_posts/components/KeyDeviceSensor/StringSensor.md +70 -0
  203. package/docs/_posts/components/Layering/Layer.md +67 -0
  204. package/docs/_posts/components/Layering/LayerSet.md +78 -0
  205. package/docs/_posts/components/Layering/Viewport.md +80 -0
  206. package/docs/_posts/components/Layout/Layout.md +107 -0
  207. package/docs/_posts/components/Layout/LayoutGroup.md +85 -0
  208. package/docs/_posts/components/Layout/LayoutLayer.md +74 -0
  209. package/docs/_posts/components/Layout/ScreenFontStyle.md +137 -0
  210. package/docs/_posts/components/Layout/ScreenGroup.md +71 -0
  211. package/docs/_posts/components/Lighting/DirectionalLight.md +100 -0
  212. package/docs/_posts/components/Lighting/EnvironmentLight.md +91 -0
  213. package/docs/_posts/components/Lighting/PointLight.md +103 -0
  214. package/docs/_posts/components/Lighting/SpotLight.md +132 -0
  215. package/docs/_posts/components/NURBS/Contour2D.md +57 -0
  216. package/docs/_posts/components/NURBS/ContourPolyline2D.md +46 -0
  217. package/docs/_posts/components/NURBS/CoordinateDouble.md +47 -0
  218. package/docs/_posts/components/NURBS/NurbsCurve.md +71 -0
  219. package/docs/_posts/components/NURBS/NurbsCurve2D.md +66 -0
  220. package/docs/_posts/components/NURBS/NurbsOrientationInterpolator.md +70 -0
  221. package/docs/_posts/components/NURBS/NurbsPatchSurface.md +106 -0
  222. package/docs/_posts/components/NURBS/NurbsPositionInterpolator.md +70 -0
  223. package/docs/_posts/components/NURBS/NurbsSet.md +66 -0
  224. package/docs/_posts/components/NURBS/NurbsSurfaceInterpolator.md +90 -0
  225. package/docs/_posts/components/NURBS/NurbsSweptSurface.md +69 -0
  226. package/docs/_posts/components/NURBS/NurbsSwungSurface.md +65 -0
  227. package/docs/_posts/components/NURBS/NurbsTextureCoordinate.md +77 -0
  228. package/docs/_posts/components/NURBS/NurbsTrimmedSurface.md +114 -0
  229. package/docs/_posts/components/Navigation/Billboard.md +88 -0
  230. package/docs/_posts/components/Navigation/Collision.md +102 -0
  231. package/docs/_posts/components/Navigation/LOD.md +99 -0
  232. package/docs/_posts/components/Navigation/NavigationInfo.md +122 -0
  233. package/docs/_posts/components/Navigation/OrthoViewpoint.md +117 -0
  234. package/docs/_posts/components/Navigation/Viewpoint.md +117 -0
  235. package/docs/_posts/components/Navigation/ViewpointGroup.md +80 -0
  236. package/docs/_posts/components/Networking/Anchor.md +111 -0
  237. package/docs/_posts/components/Networking/Inline.md +115 -0
  238. package/docs/_posts/components/Networking/LoadSensor.md +91 -0
  239. package/docs/_posts/components/ParticleSystems/BoundedPhysicsModel.md +54 -0
  240. package/docs/_posts/components/ParticleSystems/ConeEmitter.md +76 -0
  241. package/docs/_posts/components/ParticleSystems/ExplosionEmitter.md +72 -0
  242. package/docs/_posts/components/ParticleSystems/ForcePhysicsModel.md +58 -0
  243. package/docs/_posts/components/ParticleSystems/ParticleSystem.md +177 -0
  244. package/docs/_posts/components/ParticleSystems/PointEmitter.md +76 -0
  245. package/docs/_posts/components/ParticleSystems/PolylineEmitter.md +94 -0
  246. package/docs/_posts/components/ParticleSystems/SurfaceEmitter.md +90 -0
  247. package/docs/_posts/components/ParticleSystems/VolumeEmitter.md +90 -0
  248. package/docs/_posts/components/ParticleSystems/WindPhysicsModel.md +68 -0
  249. package/docs/_posts/components/Picking/LinePickSensor.md +125 -0
  250. package/docs/_posts/components/Picking/PickableGroup.md +93 -0
  251. package/docs/_posts/components/Picking/PointPickSensor.md +112 -0
  252. package/docs/_posts/components/Picking/PrimitivePickSensor.md +114 -0
  253. package/docs/_posts/components/Picking/VolumePickSensor.md +107 -0
  254. package/docs/_posts/components/PointingDeviceSensor/CylinderSensor.md +122 -0
  255. package/docs/_posts/components/PointingDeviceSensor/PlaneSensor.md +114 -0
  256. package/docs/_posts/components/PointingDeviceSensor/SphereSensor.md +89 -0
  257. package/docs/_posts/components/PointingDeviceSensor/TouchSensor.md +87 -0
  258. package/docs/_posts/components/Rendering/ClipPlane.md +67 -0
  259. package/docs/_posts/components/Rendering/Color.md +56 -0
  260. package/docs/_posts/components/Rendering/ColorRGBA.md +61 -0
  261. package/docs/_posts/components/Rendering/Coordinate.md +45 -0
  262. package/docs/_posts/components/Rendering/IndexedLineSet.md +128 -0
  263. package/docs/_posts/components/Rendering/IndexedTriangleFanSet.md +128 -0
  264. package/docs/_posts/components/Rendering/IndexedTriangleSet.md +128 -0
  265. package/docs/_posts/components/Rendering/IndexedTriangleStripSet.md +116 -0
  266. package/docs/_posts/components/Rendering/LineSet.md +85 -0
  267. package/docs/_posts/components/Rendering/Normal.md +41 -0
  268. package/docs/_posts/components/Rendering/PointSet.md +76 -0
  269. package/docs/_posts/components/Rendering/TriangleFanSet.md +112 -0
  270. package/docs/_posts/components/Rendering/TriangleSet.md +108 -0
  271. package/docs/_posts/components/Rendering/TriangleStripSet.md +116 -0
  272. package/docs/_posts/components/RigidBodyPhysics/BallJoint.md +78 -0
  273. package/docs/_posts/components/RigidBodyPhysics/CollidableOffset.md +75 -0
  274. package/docs/_posts/components/RigidBodyPhysics/CollidableShape.md +83 -0
  275. package/docs/_posts/components/RigidBodyPhysics/CollisionCollection.md +90 -0
  276. package/docs/_posts/components/RigidBodyPhysics/CollisionSensor.md +65 -0
  277. package/docs/_posts/components/RigidBodyPhysics/CollisionSpace.md +70 -0
  278. package/docs/_posts/components/RigidBodyPhysics/Contact.md +117 -0
  279. package/docs/_posts/components/RigidBodyPhysics/DoubleAxisHingeJoint.md +162 -0
  280. package/docs/_posts/components/RigidBodyPhysics/MotorJoint.md +183 -0
  281. package/docs/_posts/components/RigidBodyPhysics/RigidBody.md +175 -0
  282. package/docs/_posts/components/RigidBodyPhysics/RigidBodyCollection.md +120 -0
  283. package/docs/_posts/components/RigidBodyPhysics/SingleAxisHingeJoint.md +108 -0
  284. package/docs/_posts/components/RigidBodyPhysics/SliderJoint.md +106 -0
  285. package/docs/_posts/components/RigidBodyPhysics/UniversalJoint.md +119 -0
  286. package/docs/_posts/components/Scripting/Script.md +81 -0
  287. package/docs/_posts/components/Shaders/ComposedShader.md +81 -0
  288. package/docs/_posts/components/Shaders/FloatVertexAttribute.md +65 -0
  289. package/docs/_posts/components/Shaders/Matrix3VertexAttribute.md +53 -0
  290. package/docs/_posts/components/Shaders/Matrix4VertexAttribute.md +53 -0
  291. package/docs/_posts/components/Shaders/PackagedShader.md +77 -0
  292. package/docs/_posts/components/Shaders/ProgramShader.md +71 -0
  293. package/docs/_posts/components/Shaders/ShaderPart.md +76 -0
  294. package/docs/_posts/components/Shaders/ShaderProgram.md +68 -0
  295. package/docs/_posts/components/Shape/AcousticProperties.md +52 -0
  296. package/docs/_posts/components/Shape/Appearance.md +123 -0
  297. package/docs/_posts/components/Shape/FillProperties.md +67 -0
  298. package/docs/_posts/components/Shape/LineProperties.md +63 -0
  299. package/docs/_posts/components/Shape/Material.md +217 -0
  300. package/docs/_posts/components/Shape/PhysicalMaterial.md +173 -0
  301. package/docs/_posts/components/Shape/PointProperties.md +84 -0
  302. package/docs/_posts/components/Shape/Shape.md +63 -0
  303. package/docs/_posts/components/Shape/TwoSidedMaterial.md +149 -0
  304. package/docs/_posts/components/Shape/UnlitMaterial.md +115 -0
  305. package/docs/_posts/components/Sound/Analyser.md +72 -0
  306. package/docs/_posts/components/Sound/AudioClip.md +139 -0
  307. package/docs/_posts/components/Sound/AudioDestination.md +52 -0
  308. package/docs/_posts/components/Sound/BiquadFilter.md +70 -0
  309. package/docs/_posts/components/Sound/BufferAudioSource.md +86 -0
  310. package/docs/_posts/components/Sound/ChannelMerger.md +46 -0
  311. package/docs/_posts/components/Sound/ChannelSelector.md +48 -0
  312. package/docs/_posts/components/Sound/ChannelSplitter.md +48 -0
  313. package/docs/_posts/components/Sound/Convolver.md +66 -0
  314. package/docs/_posts/components/Sound/Delay.md +66 -0
  315. package/docs/_posts/components/Sound/DynamicsCompressor.md +74 -0
  316. package/docs/_posts/components/Sound/Gain.md +62 -0
  317. package/docs/_posts/components/Sound/ListenerPointSource.md +62 -0
  318. package/docs/_posts/components/Sound/MicrophoneSource.md +54 -0
  319. package/docs/_posts/components/Sound/OscillatorSource.md +58 -0
  320. package/docs/_posts/components/Sound/PeriodicWave.md +42 -0
  321. package/docs/_posts/components/Sound/Sound.md +92 -0
  322. package/docs/_posts/components/Sound/SpatialSound.md +68 -0
  323. package/docs/_posts/components/Sound/StreamAudioDestination.md +52 -0
  324. package/docs/_posts/components/Sound/StreamAudioSource.md +54 -0
  325. package/docs/_posts/components/Sound/WaveShaper.md +66 -0
  326. package/docs/_posts/components/Text/FontStyle.md +145 -0
  327. package/docs/_posts/components/Text/Text.md +102 -0
  328. package/docs/_posts/components/TextureProjector/TextureProjector.md +52 -0
  329. package/docs/_posts/components/TextureProjector/TextureProjectorParallel.md +52 -0
  330. package/docs/_posts/components/Texturing/ImageTexture.md +134 -0
  331. package/docs/_posts/components/Texturing/MovieTexture.md +221 -0
  332. package/docs/_posts/components/Texturing/MultiTexture.md +100 -0
  333. package/docs/_posts/components/Texturing/MultiTextureCoordinate.md +47 -0
  334. package/docs/_posts/components/Texturing/MultiTextureTransform.md +47 -0
  335. package/docs/_posts/components/Texturing/PixelTexture.md +80 -0
  336. package/docs/_posts/components/Texturing/TextureCoordinate.md +52 -0
  337. package/docs/_posts/components/Texturing/TextureCoordinateGenerator.md +64 -0
  338. package/docs/_posts/components/Texturing/TextureProperties.md +137 -0
  339. package/docs/_posts/components/Texturing/TextureTransform.md +73 -0
  340. package/docs/_posts/components/Texturing3D/ComposedTexture3D.md +76 -0
  341. package/docs/_posts/components/Texturing3D/ImageTexture3D.md +132 -0
  342. package/docs/_posts/components/Texturing3D/ImageTextureAtlas.md +131 -0
  343. package/docs/_posts/components/Texturing3D/PixelTexture3D.md +75 -0
  344. package/docs/_posts/components/Texturing3D/TextureCoordinate3D.md +53 -0
  345. package/docs/_posts/components/Texturing3D/TextureCoordinate4D.md +52 -0
  346. package/docs/_posts/components/Texturing3D/TextureTransform3D.md +69 -0
  347. package/docs/_posts/components/Texturing3D/TextureTransformMatrix3D.md +57 -0
  348. package/docs/_posts/components/Time/TimeSensor.md +136 -0
  349. package/docs/_posts/components/VolumeRendering/BlendedVolumeStyle.md +92 -0
  350. package/docs/_posts/components/VolumeRendering/BoundaryEnhancementVolumeStyle.md +53 -0
  351. package/docs/_posts/components/VolumeRendering/CartoonVolumeStyle.md +83 -0
  352. package/docs/_posts/components/VolumeRendering/ComposedVolumeStyle.md +51 -0
  353. package/docs/_posts/components/VolumeRendering/EdgeEnhancementVolumeStyle.md +67 -0
  354. package/docs/_posts/components/VolumeRendering/IsoSurfaceVolumeData.md +99 -0
  355. package/docs/_posts/components/VolumeRendering/OpacityMapVolumeStyle.md +51 -0
  356. package/docs/_posts/components/VolumeRendering/ProjectionVolumeStyle.md +48 -0
  357. package/docs/_posts/components/VolumeRendering/SegmentedVolumeData.md +80 -0
  358. package/docs/_posts/components/VolumeRendering/ShadedVolumeStyle.md +75 -0
  359. package/docs/_posts/components/VolumeRendering/SilhouetteEnhancementVolumeStyle.md +63 -0
  360. package/docs/_posts/components/VolumeRendering/ToneMappedVolumeStyle.md +71 -0
  361. package/docs/_posts/components/VolumeRendering/VolumeData.md +71 -0
  362. package/docs/_posts/components/X_ITE/BlendMode.md +94 -0
  363. package/docs/_posts/custom-shaders.md +9 -4
  364. package/docs/_posts/dom-integration.md +1 -6
  365. package/docs/_posts/features.md +2 -2
  366. package/docs/_posts/getting-started.md +100 -57
  367. package/docs/_posts/glossary.md +1 -1
  368. package/docs/_posts/how-to-configure-your-web-server.md +1 -1
  369. package/docs/_posts/reference/browser-services.md +78 -18
  370. package/docs/_posts/reference/constants-services.md +1 -1
  371. package/docs/_posts/reference/ecmascript-object-and-function-definitions.md +1 -1
  372. package/docs/_posts/reference/field-services-and-objects.md +8 -8
  373. package/docs/_posts/reference/prototype-services.md +7 -7
  374. package/docs/_posts/reference/route-services.md +1 -1
  375. package/docs/_posts/reference/scene-services.md +5 -5
  376. package/docs/_posts/reference/script-node-authoring-interface.md +1 -1
  377. package/docs/_posts/report-a-bug.md +1 -1
  378. package/docs/_posts/setup-a-localhost-server.md +5 -1
  379. package/docs/_posts/supported-nodes.md +239 -238
  380. package/docs/_posts/tutorials/adding-backgrounds.md +3 -3
  381. package/docs/_posts/tutorials/adding-fog.md +2 -2
  382. package/docs/_posts/tutorials/adding-sound.md +19 -19
  383. package/docs/_posts/tutorials/animating-transforms.md +17 -17
  384. package/docs/_posts/tutorials/basic-nodes.md +30 -30
  385. package/docs/_posts/tutorials/building-a-x3d-world.md +3 -3
  386. package/docs/_posts/tutorials/building-elevation-grids.md +7 -7
  387. package/docs/_posts/tutorials/building-extruded-shapes.md +7 -7
  388. package/docs/_posts/tutorials/building-primitive-shapes.md +13 -13
  389. package/docs/_posts/tutorials/building-shapes-out-of-points-lines-and-faces.md +21 -21
  390. package/docs/_posts/tutorials/controlling-appearance-with-materials.md +7 -7
  391. package/docs/_posts/tutorials/controlling-color-on-coordinate-based-geometry.md +11 -11
  392. package/docs/_posts/tutorials/controlling-detail.md +4 -4
  393. package/docs/_posts/tutorials/controlling-how-textures-are-mapped.md +7 -7
  394. package/docs/_posts/tutorials/controlling-navigation.md +3 -3
  395. package/docs/_posts/tutorials/controlling-shading-on-coordinate-based-geometry.md +13 -13
  396. package/docs/_posts/tutorials/controlling-the-viewpoint.md +3 -3
  397. package/docs/_posts/tutorials/creating-new-node-types.md +4 -4
  398. package/docs/_posts/tutorials/grouping-nodes.md +13 -13
  399. package/docs/_posts/tutorials/hello-world.md +1 -1
  400. package/docs/_posts/tutorials/improving-performance.md +1 -1
  401. package/docs/_posts/tutorials/increasing-rendering-speed.md +1 -1
  402. package/docs/_posts/tutorials/introducing-animation.md +10 -10
  403. package/docs/_posts/tutorials/introducing-script-use.md +3 -3
  404. package/docs/_posts/tutorials/introducing-x3d.md +1 -1
  405. package/docs/_posts/tutorials/lighting-your-world.md +4 -4
  406. package/docs/_posts/tutorials/mapping-textures.md +7 -7
  407. package/docs/_posts/tutorials/naming-nodes.md +1 -1
  408. package/docs/_posts/tutorials/overview.md +1 -1
  409. package/docs/_posts/tutorials/providing-information-about-your-world.md +2 -2
  410. package/docs/_posts/tutorials/sensing-the-viewer.md +15 -15
  411. package/docs/_posts/tutorials/sensing-viewer-actions.md +10 -10
  412. package/docs/_posts/tutorials/transforming-shapes.md +4 -4
  413. package/docs/_posts/tutorials/writing-program-scripts-with-ecmascript.md +5 -5
  414. package/docs/_posts/what's-new.md +40 -2
  415. package/docs/_tabs/components.md +383 -0
  416. package/docs/_tabs/imprint.md +1 -1
  417. package/docs/_tabs/laboratory.md +38 -6
  418. package/docs/_tabs/playground.html +22 -66
  419. package/docs/_tabs/reference.md +2 -1
  420. package/docs/_tabs/tags.md +1 -1
  421. package/docs/_tabs/tutorials.md +1 -1
  422. package/docs/assets/X3D/Michroma-Regular.ttf +0 -0
  423. package/docs/assets/X3D/peakpx.jpg +0 -0
  424. package/docs/assets/X3D/teaser.x3d +55 -0
  425. package/docs/assets/css/style.scss +120 -11
  426. package/docs/assets/img/laboratory/blend-mode.png +0 -0
  427. package/docs/assets/img/laboratory/dicom-nrrd.png +0 -0
  428. package/docs/assets/img/laboratory/earthquake.png +0 -0
  429. package/docs/assets/img/laboratory/gltf.png +0 -0
  430. package/docs/assets/img/laboratory/l-system.png +0 -0
  431. package/docs/assets/js/autoupdate.js +25 -0
  432. package/docs/laboratory/gltf-sample-viewer.html +318 -0
  433. package/docs/laboratory/x3d-visual-blend-mode-editor.html +1 -0
  434. package/package.json +9 -2
  435. package/src/assets/components/Texturing3D.js +5 -3
  436. package/src/assets/shaders/Types.glsl.js +5 -5
  437. package/src/assets/shaders/webgl1/PBR.fs.js +1 -1
  438. package/src/assets/shaders/webgl1/include/Colors.glsl.js +5 -7
  439. package/src/assets/shaders/webgl1/include/Fragment.glsl.js +4 -0
  440. package/src/assets/shaders/webgl1/include/Hatch.glsl.js +1 -1
  441. package/src/assets/shaders/webgl1/include/Texture.glsl.js +3 -3
  442. package/src/assets/shaders/webgl2/include/Colors.glsl.js +5 -7
  443. package/src/assets/shaders/webgl2/include/Hatch.glsl.js +1 -1
  444. package/src/assets/shaders/webgl2/include/Particle.glsl.js +2 -2
  445. package/src/assets/shaders/webgl2/include/Texture.glsl.js +2 -2
  446. package/src/bookmarks.js +12 -8
  447. package/src/examples.js +3 -0
  448. package/src/lib/jquery.js +20 -0
  449. package/src/lib/libgif/libgif.js +1004 -0
  450. package/src/lib/libtess.js +1 -0
  451. package/src/lib/nurbs/extras/sample.js +5 -7
  452. package/src/standard/Math/Algorithms/Bezier.js +175 -33
  453. package/src/standard/Math/Geometry/Box2.js +15 -55
  454. package/src/standard/Math/Geometry/Box3.js +19 -66
  455. package/src/standard/Math/Geometry/Triangle3.js +14 -79
  456. package/src/standard/Math/Numbers/Color3.js +4 -0
  457. package/src/standard/Math/Numbers/Color4.js +4 -0
  458. package/src/standard/Math/Numbers/Matrix3.js +11 -3
  459. package/src/standard/Math/Numbers/Matrix4.js +9 -6
  460. package/src/standard/Math/Numbers/Rotation4.js +72 -65
  461. package/src/tests.js +3 -0
  462. package/src/x_ite/Base/X3DArrayField.js +0 -2
  463. package/src/x_ite/Base/X3DInfoArray.js +2 -2
  464. package/src/x_ite/Base/X3DObjectArrayField.js +19 -0
  465. package/src/x_ite/Base/X3DTypedArrayField.js +149 -0
  466. package/src/x_ite/Browser/Core/BrowserOptions.js +108 -64
  467. package/src/x_ite/Browser/Core/Context.js +1 -1
  468. package/src/x_ite/Browser/Core/ContextMenu.js +2 -2
  469. package/src/x_ite/Browser/Core/Notification.js +1 -1
  470. package/src/x_ite/Browser/Core/RenderingProperties.js +4 -0
  471. package/src/x_ite/Browser/Core/X3DCoreContext.js +99 -54
  472. package/src/x_ite/Browser/Navigation/ExamineViewer.js +4 -14
  473. package/src/x_ite/Browser/Navigation/LookAtViewer.js +3 -13
  474. package/src/x_ite/Browser/Navigation/PlaneViewer.js +3 -12
  475. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +25 -22
  476. package/src/x_ite/Browser/Navigation/X3DViewer.js +12 -3
  477. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +2 -2
  478. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +19 -15
  479. package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +30 -10
  480. package/src/x_ite/Browser/Shaders/X3DShadersContext.js +1 -1
  481. package/src/x_ite/Browser/Shape/X3DShapeContext.js +30 -3
  482. package/src/x_ite/Browser/Text/PolygonText.js +137 -134
  483. package/src/x_ite/Browser/Texturing/GifMedia.js +113 -0
  484. package/src/x_ite/Browser/Texturing3D/DICOMParser.js +1 -6
  485. package/src/x_ite/Browser/Texturing3D/NRRDParser.js +81 -310
  486. package/src/x_ite/Browser/VERSION.js +1 -1
  487. package/src/x_ite/Browser/X3DBrowser.js +162 -122
  488. package/src/x_ite/Browser/X3DBrowserContext.js +7 -5
  489. package/src/x_ite/Components/Core/WorldInfo.js +3 -3
  490. package/src/x_ite/Components/Core/X3DNode.js +7 -7
  491. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +1 -1
  492. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +2 -3
  493. package/src/x_ite/Components/Geometry3D/Extrusion.js +27 -23
  494. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +10 -19
  495. package/src/x_ite/Components/Grouping/X3DBoundedObject.js +1 -3
  496. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +39 -15
  497. package/src/x_ite/Components/HAnim/HAnimJoint.js +6 -9
  498. package/src/x_ite/Components/Layering/X3DLayerNode.js +21 -2
  499. package/src/x_ite/Components/Layout/Layout.js +4 -2
  500. package/src/x_ite/Components/Layout/ScreenFontStyle.js +6 -0
  501. package/src/x_ite/Components/Lighting/DirectionalLight.js +4 -11
  502. package/src/x_ite/Components/Lighting/EnvironmentLight.js +1 -1
  503. package/src/x_ite/Components/Lighting/PointLight.js +4 -11
  504. package/src/x_ite/Components/Lighting/SpotLight.js +4 -11
  505. package/src/x_ite/Components/Lighting/X3DLightNode.js +7 -9
  506. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +2 -2
  507. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +14 -6
  508. package/src/x_ite/Components/Networking/Inline.js +48 -59
  509. package/src/x_ite/Components/Networking/X3DUrlObject.js +1 -1
  510. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +2 -2
  511. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +7 -13
  512. package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +4 -2
  513. package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +4 -2
  514. package/src/x_ite/Components/Scripting/Script.js +2 -2
  515. package/src/x_ite/Components/Shaders/ShaderPart.js +1 -1
  516. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +1 -3
  517. package/src/x_ite/Components/Shape/Appearance.js +27 -1
  518. package/src/x_ite/Components/Shape/FillProperties.js +1 -0
  519. package/src/x_ite/Components/Shape/LineProperties.js +15 -9
  520. package/src/x_ite/Components/Shape/Material.js +33 -22
  521. package/src/x_ite/Components/Shape/PhysicalMaterial.js +22 -15
  522. package/src/x_ite/Components/Shape/PointProperties.js +23 -7
  523. package/src/x_ite/Components/Shape/UnlitMaterial.js +3 -2
  524. package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +25 -19
  525. package/src/x_ite/Components/Sound/AudioClip.js +5 -5
  526. package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +26 -34
  527. package/src/x_ite/Components/Text/X3DFontStyleNode.js +1 -1
  528. package/src/x_ite/Components/TextureProjector/TextureProjector.js +4 -12
  529. package/src/x_ite/Components/TextureProjector/TextureProjectorParallel.js +6 -14
  530. package/src/x_ite/Components/TextureProjector/X3DTextureProjectorNode.js +7 -7
  531. package/src/x_ite/Components/Texturing/ImageTexture.js +15 -10
  532. package/src/x_ite/Components/Texturing/MovieTexture.js +51 -11
  533. package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +2 -2
  534. package/src/x_ite/Components/Texturing3D/ImageTextureAtlas.js +230 -0
  535. package/src/x_ite/Components/Time/X3DTimeDependentNode.js +12 -10
  536. package/src/x_ite/Execution/BindableList.js +35 -37
  537. package/src/x_ite/Execution/BindableStack.js +25 -7
  538. package/src/x_ite/Execution/X3DScene.js +2 -2
  539. package/src/x_ite/Execution/X3DWorld.js +1 -1
  540. package/src/x_ite/Fields/SFRotation.js +2 -1
  541. package/src/x_ite/Fields/SFString.js +1 -1
  542. package/src/x_ite/InputOutput/FileLoader.js +105 -236
  543. package/src/x_ite/InputOutput/Generator.js +12 -8
  544. package/src/x_ite/Parser/Expressions.js +85 -0
  545. package/src/x_ite/Parser/GLB2Parser.js +147 -0
  546. package/src/x_ite/Parser/GLTF2Parser.js +2221 -0
  547. package/src/x_ite/Parser/GoldenGate.js +64 -13
  548. package/src/x_ite/Parser/JSONParser.js +7 -36
  549. package/src/x_ite/Parser/OBJParser.js +1076 -0
  550. package/src/x_ite/Parser/STLAParser.js +376 -0
  551. package/src/x_ite/Parser/STLBParser.js +156 -0
  552. package/src/x_ite/Parser/SVGParser.js +2476 -0
  553. package/src/x_ite/Parser/VRMLParser.js +127 -183
  554. package/src/x_ite/Parser/X3DOptimizer.js +191 -0
  555. package/src/x_ite/Parser/X3DParser.js +34 -0
  556. package/src/x_ite/Parser/XMLParser.js +11 -109
  557. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +2 -2
  558. package/src/x_ite/Prototype/X3DProtoDeclaration.js +3 -3
  559. package/src/x_ite/Rendering/DependentRenderer.js +1 -1
  560. package/src/x_ite/Rendering/MultiSampleFrameBuffer.js +150 -0
  561. package/src/x_ite/Rendering/TextureBuffer.js +3 -5
  562. package/src/x_ite/Rendering/X3DRenderObject.js +2 -7
  563. package/src/x_ite/X3D.js +1 -0
  564. package/src/x_ite/X3DCanvas.js +10 -0
  565. package/src/x_ite.html +39 -17
  566. package/webpack.config.js +1 -0
  567. package/x_ite.min.html +38 -17
  568. package/src/standard/Networking/BinaryTransport.js +0 -116
@@ -0,0 +1,149 @@
1
+ ---
2
+ title: TwoSidedMaterial
3
+ date: 2022-01-07
4
+ nav: components-Shape
5
+ categories: [components, Shape]
6
+ tags: [TwoSidedMaterial, Shape]
7
+ ---
8
+ <style>
9
+ .post h3 {
10
+ word-spacing: 0.2em;
11
+ }
12
+ </style>
13
+
14
+ ## Overview
15
+
16
+ TwoSidedMaterial specifies surface rendering properties for associated geometry nodes, for outer (front) and inner (back) sides of polygons. Material attributes are used by the X3D lighting equations during rendering.
17
+
18
+ The TwoSidedMaterial node belongs to the **Shape** component and its default container field is *material.* It is available since X3D version 3.2 until 4.0.
19
+
20
+ >Deprecated: This node is deprecated since X3D version 4.0. Future versions of the standard may remove this node.
21
+ {: .prompt-danger }
22
+
23
+ ## Hierarchy
24
+
25
+ ```
26
+ + X3DNode
27
+ + X3DAppearanceChildNode
28
+ + X3DMaterialNode
29
+ + TwoSidedMaterial
30
+ ```
31
+
32
+ ## Fields
33
+
34
+ ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
35
+
36
+ Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
37
+
38
+ ### SFBool [in, out] **separateBackColor** FALSE
39
+
40
+ *separateBackColor* determines whether separate Material values are used for back faces.
41
+
42
+ #### Warning
43
+
44
+ - Backface Material values are ignored unless you set separateBackColor='true'
45
+
46
+ ### SFFloat [in, out] **ambientIntensity** 0.2 <small>[0,1]</small>
47
+
48
+ How much ambient omnidirectional light is reflected from all light sources. Interchange profile hint: this field may be ignored, applying the default value regardless.
49
+
50
+ ### SFColor [in, out] **diffuseColor** 0.8 0.8 0.8 <small>[0,1]</small>
51
+
52
+ How much direct, angle-dependent light is reflected from all light sources.
53
+
54
+ #### Hints
55
+
56
+ - Only emissiveColor affects IndexedLineSet, LineSet and PointSet. If a texture is present the diffuseColor is always multiplied with the texture color, in contrast to the specification. Set diffuseColor to (1 1 1) to get maximum texture color intensity.
57
+
58
+ ### SFColor [in, out] **specularColor** 0 0 0 <small>[0,1]</small>
59
+
60
+ Specular highlights are brightness reflections (example: shiny spots on an apple). Interchange profile hint: this field may be ignored, applying the default value regardless.
61
+
62
+ ### SFColor [in, out] **emissiveColor** 0 0 0 <small>[0,1]</small>
63
+
64
+ How much glowing light is emitted from this object.
65
+
66
+ #### Hints
67
+
68
+ - EmissiveColors glow even when all lights are off. Reset diffuseColor from default (.8 .8 .8) to (0 0 0) to avoid washout. Only emissiveColor affects IndexedLineSet, LineSet and PointSet.
69
+
70
+ #### Warning
71
+
72
+ - Bright emissiveColor values can wash out other colors and some textures.
73
+
74
+ ### SFFloat [in, out] **shininess** 0.2 <small>[0,1]</small>
75
+
76
+ Lower shininess values provide soft specular glows, while higher values result in sharper, smaller highlights. Interchange profile hint: this field may be ignored, applying the default value regardless.
77
+
78
+ ### SFFloat [in, out] **transparency** 0 <small>[0,1]</small>
79
+
80
+ How "clear" an object is: 1.0 is completely transparent, 0.0 is completely opaque.
81
+
82
+ #### Interchange profile hint:
83
+
84
+ Transparency < .5 opaque, transparency > .5 transparent.
85
+
86
+ #### Hint
87
+
88
+ - If a texture is present the transparency is always multiplied with the texture's transparency, in contrast to the specification. Set transparency to (0) to get a full opaque texture color.
89
+
90
+ ### SFFloat [in, out] **backAmbientIntensity** 0.2 <small>[0,1]</small>
91
+
92
+ How much ambient omnidirectional light is reflected from all light sources. Interchange profile hint: this field may be ignored, applying the default value regardless.
93
+
94
+ ### SFColor [in, out] **backDiffuseColor** 0.8 0.8 0.8 <small>[0,1]</small>
95
+
96
+ How much direct, angle-dependent light is reflected from all light sources.
97
+
98
+ #### Hints
99
+
100
+ - Only emissiveColor affects IndexedLineSet, LineSet and PointSet. If a texture is present the diffuseColor is always multiplied with the texture color, in contrast to the specification. Set diffuseColor to (1 1 1) to get maximum texture color intensity.
101
+
102
+ ### SFColor [in, out] **backSpecularColor** 0 0 0 <small>[0,1]</small>
103
+
104
+ Specular highlights are brightness reflections (example: shiny spots on an apple). Interchange profile hint: this field may be ignored, applying the default value regardless.
105
+
106
+ ### SFColor [in, out] **backEmissiveColor** 0 0 0 <small>[0,1]</small>
107
+
108
+ How much glowing light is emitted from this object.
109
+
110
+ #### Hints
111
+
112
+ - EmissiveColors glow even when all lights are off. Reset diffuseColor from default (.8 .8 .8) to (0 0 0) to avoid washout. Only emissiveColor affects IndexedLineSet, LineSet and PointSet.
113
+
114
+ #### Warning
115
+
116
+ - Bright emissiveColor values can wash out other colors and some textures.
117
+
118
+ ### SFFloat [in, out] **backShininess** 0.2 <small>[0,1]</small>
119
+
120
+ Lower shininess values provide soft specular glows, while higher values result in sharper, smaller highlights. Interchange profile hint: this field may be ignored, applying the default value regardless.
121
+
122
+ ### SFFloat [in, out] **backTransparency** 0 <small>[0,1]</small>
123
+
124
+ How "clear" an object is: 1.0 is completely transparent, 0.0 is completely opaque.
125
+
126
+ #### Interchange profile hint
127
+
128
+ Transparency < .5 opaque, transparency > .5 transparent.
129
+
130
+ #### Hint
131
+
132
+ - If a texture is present the transparency is always multiplied with the texture's transparency, in contrast to the specification. Set transparency to (0) to get a full opaque texture color.
133
+
134
+ ## Description
135
+
136
+ ### Hints
137
+
138
+ - Include `<component name='Shape' level='4'/>`
139
+ - Insert Shape and Appearance nodes before adding material.
140
+ - DEF/USE copies of a single node can provide a similar "look + feel" style for related shapes in a scene.
141
+
142
+ ## Example
143
+
144
+ <x3d-canvas src="https://create3000.github.io/media/examples/Shape/TwoSidedMaterial/TwoSidedMaterial.x3d"></x3d-canvas>
145
+
146
+ ## External Links
147
+
148
+ - [X3D Specification of TwoSidedMaterial](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/shape.html#TwoSidedMaterial){:target="_blank"}
149
+ - [X3D Scene Authoring Hints, Color](https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Color){:target="_blank"}
@@ -0,0 +1,115 @@
1
+ ---
2
+ title: UnlitMaterial
3
+ date: 2023-01-31
4
+ nav: components-Shape
5
+ categories: [components, Shape]
6
+ tags: [UnlitMaterial, Shape]
7
+ ---
8
+ <style>
9
+ .post h3 {
10
+ word-spacing: 0.2em;
11
+ }
12
+ </style>
13
+
14
+ ## Overview
15
+
16
+ UnlitMaterial specifies surface rendering properties for associated geometry nodes. Material attributes are used by the X3D lighting equations during rendering.
17
+
18
+ The UnlitMaterial node belongs to the **Shape** component and its default container field is *material.* It is available since X3D version 4.0 or later.
19
+
20
+ ## Hierarchy
21
+
22
+ ```
23
+ + X3DNode
24
+ + X3DAppearanceChildNode
25
+ + X3DMaterialNode
26
+ + X3DOneSidedMaterialNode
27
+ + UnlitMaterial
28
+ ```
29
+
30
+ ## Fields
31
+
32
+ ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
33
+
34
+ Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
35
+
36
+ ### SFColor [in, out] **emissiveColor** 1 1 1 <small>[0,1]</small>
37
+
38
+ How much glowing light is emitted from this object.
39
+
40
+ #### Hints
41
+
42
+ - emissiveColors glow even when all lights are off.
43
+ - Reset diffuseColor from default (0.8 0.8 0.8) to (0 0 0) to avoid washout.
44
+ - Only emissiveColor affects IndexedLineSet, LineSet and PointSet.
45
+
46
+ #### Warning
47
+
48
+ - Bright emissiveColor values can wash out other colors and some textures.
49
+
50
+ ### SFFloat [in, out] **emissiveStrength** 1 <small>[0,∞) <span class="yellow">non standard</span></small>
51
+
52
+ A multiplier for emissiveColor and emissiveTexture values.
53
+
54
+ #### Hint
55
+
56
+ - [glTF version 2 KHR materials emissive strength](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_emissive_strength){:target="_blank"}
57
+
58
+ ### SFString [in, out] **emissiveTextureMapping** ""
59
+
60
+ The mapping label identifies which texture coordinates and transformations are used to compute texture effects from corresponding geometry on a given material.
61
+
62
+ ### SFNode [in, out] **emissiveTexture** NULL <small>[X3DSingleTextureNode]</small>
63
+
64
+ When applying emissiveColor for this material node, the contained texture provides Physically Based Rendering (PBR) modulation for each pixel.
65
+
66
+ #### Hints
67
+
68
+ - If texture node is NULL or unspecified, no effect is applied to material values.
69
+ - Contained texture node must include containerField='emissiveTexture'
70
+
71
+ ### SFFloat [in, out] **normalScale** 1 <small>[0,∞)</small>
72
+
73
+ *normalScale* controls the degree to which normalTexture RGB values apply XYZ-normal bump mapping to pixels in the parent material.
74
+
75
+ #### Hints
76
+
77
+ - normalScale only affects computation of normalTexture modulations that affect lighting of characteristics of the parent Material and has no relation to normal vectors defined by corresponding geometry.
78
+ - normalTexture techniques apply Bump mapping https://en.wikipedia.org/wiki/Bump_mapping
79
+
80
+ ### SFString [in, out] **normalTextureMapping** ""
81
+
82
+ The mapping label identifies which texture coordinates and transformations are used to compute texture effects from corresponding geometry on a given material.
83
+
84
+ ### SFNode [in, out] **normalTexture** NULL <small>[X3DSingleTextureNode]</small>
85
+
86
+ When applying normalScale for this material node, the contained texture modulates the texture across the surface.
87
+
88
+ #### Hints
89
+
90
+ - normalTexture techniques apply Bump mapping https://en.wikipedia.org/wiki/Bump_mapping
91
+ - If texture node is NULL or unspecified, no effect is applied to material values.
92
+ - Contained texture node must include containerField='normalTexture'
93
+
94
+ ### SFFloat [in, out] **transparency** 0 <small>[0,1]</small>
95
+
96
+ How "clear" an object is: 1.0 is completely transparent, 0.0 is completely opaque.
97
+
98
+ ## Description
99
+
100
+ ### Hints
101
+
102
+ - Insert Shape and Appearance nodes before adding material.
103
+ - DEF/USE copies of a single node can provide a similar "look + feel" style for related shapes in a scene.
104
+
105
+ ## External Links
106
+
107
+ - [X3D Specification of UnlitMaterial](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/shape.html#UnlitMaterial){:target="_blank"}
108
+ - [X3D Scene Authoring Hints, Color](https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Color){:target="_blank"}
109
+ - [X3D Example Archives, Basic, Universal Media Materials](https://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials){:target="_blank"}
110
+ - [X3D Architecture 17.2.2 Lighting model](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/lighting.html#Lightingmodel){:target="_blank"}
111
+ - [Rendering](https://en.wikipedia.org/wiki/Rendering_(computer_graphics)){:target="_blank"}
112
+ - [3D rendering](https://en.wikipedia.org/wiki/3D_rendering){:target="_blank"}
113
+ - [Physically based rendering (PBR)](https://en.wikipedia.org/wiki/Physically_based_rendering){:target="_blank"}
114
+ - [Non-photorealistic rendering (NPR)](https://en.wikipedia.org/wiki/Non-photorealistic_rendering){:target="_blank"}
115
+ - [Cel shading (toon shading)](https://en.wikipedia.org/wiki/Cel_shading){:target="_blank"}
@@ -0,0 +1,72 @@
1
+ ---
2
+ title: Analyser
3
+ date: 2023-01-31
4
+ nav: components-Sound
5
+ categories: [components, Sound]
6
+ tags: [Analyser, Sound]
7
+ ---
8
+ <style>
9
+ .post h3 {
10
+ word-spacing: 0.2em;
11
+ }
12
+ </style>
13
+
14
+ ## Overview
15
+
16
+ Analyser ...
17
+
18
+ The Analyser node belongs to the **Sound** component and its default container field is *children.* It is available since X3D version 4.0 or later.
19
+
20
+ ## Hierarchy
21
+
22
+ ```
23
+ + X3DNode
24
+ ```
25
+
26
+ ## Fields
27
+
28
+ ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
29
+
30
+ ### SFString [in, out] **description** ""
31
+
32
+ ### SFBool [in, out] **enabled** <small></small>
33
+
34
+ ### SFFloat [in, out] **gain** <small></small>
35
+
36
+ ### SFInt32 [in, out] **fftSize** <small></small>
37
+
38
+ ### SFInt32 [in, out] **frequencyBinCount** <small></small>
39
+
40
+ ### SFFloat [in, out] **minDecibels** <small></small>
41
+
42
+ ### SFFloat [in, out] **maxDecibels** <small></small>
43
+
44
+ ### SFFloat [in, out] **smoothingTimeConstant** <small></small>
45
+
46
+ ### SFTime [in, out] **tailTime** <small></small>
47
+
48
+ ### SFInt32 [out] **channelCount** <small></small>
49
+
50
+ ### SFString [in, out] **channelCountMode** <small></small>
51
+
52
+ ### SFString [in, out] **channelInterpretation** <small></small>
53
+
54
+ ### SFTime [in, out] **startTime** <small></small>
55
+
56
+ ### SFTime [in, out] **resumeTime** <small></small>
57
+
58
+ ### SFTime [in, out] **pauseTime** <small></small>
59
+
60
+ ### SFTime [in, out] **stopTime** <small></small>
61
+
62
+ ### SFBool [out] **isPaused** <small></small>
63
+
64
+ ### SFBool [out] **isActive** <small></small>
65
+
66
+ ### SFTime [out] **elapsedTime** <small></small>
67
+
68
+ ### MFNode [in, out] **children** <small></small>
69
+
70
+ ## External Links
71
+
72
+ - [X3D Specification of Analyser](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Analyser){:target="_blank"}
@@ -0,0 +1,139 @@
1
+ ---
2
+ title: AudioClip
3
+ date: 2022-01-07
4
+ nav: components-Sound
5
+ categories: [components, Sound]
6
+ tags: [AudioClip, Sound]
7
+ ---
8
+ <style>
9
+ .post h3 {
10
+ word-spacing: 0.2em;
11
+ }
12
+ </style>
13
+
14
+ ## Overview
15
+
16
+ AudioClip provides audio data used by parent Sound nodes.
17
+
18
+ The AudioClip node belongs to the **Sound** component and its default container field is *source.* It is available since X3D version 3.0 or later.
19
+
20
+ ## Hierarchy
21
+
22
+ ```
23
+ + X3DNode
24
+ + X3DChildNode
25
+ + X3DTimeDependentNode
26
+ + X3DSoundSourceNode
27
+ + AudioClip (X3DUrlObject)*
28
+ ```
29
+
30
+ <small>\* Derived from multiple interfaces.</small>
31
+
32
+ ## Fields
33
+
34
+ ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
35
+
36
+ Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
37
+
38
+ ### SFString [in, out] **description** ""
39
+
40
+ Author-provided text tooltip that tells users the expected action of this node.
41
+
42
+ #### Hint
43
+
44
+ - Many XML tools substitute XML character references automatically if needed (such as &amp;#38; for &amp; ampersand, or &amp;#34; for " quotation mark).
45
+
46
+ ### MFString [in, out] **url** [ ] <small>[URI]</small>
47
+
48
+ Location and filename of sound file or stream. Support for .wav format is required, .midi format is recommended, other formats are optional.
49
+
50
+ #### Hints
51
+
52
+ - MFString arrays can have multiple values, so separate each individual string by quote marks. "https://www.web3d.org" "https://www.web3d.org/about" "etc." XML encoding for quotation mark " is &amp;quot; (which is called a character entity). Can replace embedded blank(s) in url queries with %20 for each blank character.
53
+
54
+ #### Warning
55
+
56
+ - Strictly match directory and filename capitalization for http links! This is important for portability. Some operating systems are forgiving of capitalization mismatches, but http/https and other operating systems are not.
57
+
58
+ #### See Also
59
+
60
+ - [X3D Scene Authoring Hints, urls](https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#urls){:target="_blank"}
61
+
62
+ ### SFFloat [in, out] **pitch** 1 <small>(0,∞)</small>
63
+
64
+ Multiplier for the rate at which sampled sound is played. Changing pitch also changes playback speed.
65
+
66
+ ### SFBool [in, out] **loop** FALSE
67
+
68
+ Repeat indefinitely when loop=true, repeat only once when loop=false.
69
+
70
+ ### SFTime [in, out] **startTime** <small>(-∞,∞)</small>
71
+
72
+ Absolute time: number of seconds since January 1, 1970, 00:00:00 GMT.
73
+
74
+ #### Hint
75
+
76
+ - Usually receives a ROUTEd time value.
77
+
78
+ ### SFTime [in, out] **resumeTime** <small>(-∞,∞)</small>
79
+
80
+ When resumeTime becomes\<= time now, isPaused becomes false and AudioClip becomes active. Absolute time: number of seconds since January 1, 1970, 00:00:00 GMT.
81
+
82
+ #### Hint
83
+
84
+ - Usually receives a ROUTEd time value.
85
+
86
+ ### SFTime [in, out] **pauseTime** <small>(-∞,∞)</small>
87
+
88
+ When time now \>= pauseTime, isPaused becomes true and AudioClip becomes paused. Absolute time: number of seconds since January 1, 1970, 00:00:00 GMT.
89
+
90
+ #### Hint
91
+
92
+ - Usually receives a ROUTEd time value.
93
+
94
+ ### SFTime [in, out] **stopTime** <small>(-∞,∞)</small>
95
+
96
+ Absolute time: number of seconds since January 1, 1970, 00:00:00 GMT.
97
+
98
+ #### Hint
99
+
100
+ - Usually receives a ROUTEd time value.
101
+
102
+ #### Warnings
103
+
104
+ - An active TimeSensor node ignores set_cycleInterval and set_startTime events. An active TimeSensor node ignores set_stopTime event values less than or equal to startTime.
105
+
106
+ ### SFBool [out] **isPaused**
107
+
108
+ *isPaused* true/false events are sent when AudioClip is paused/resumed.
109
+
110
+ ### SFBool [out] **isActive**
111
+
112
+ *isActive* true/false events are sent when playback starts/stops.
113
+
114
+ ### SFTime [out] **elapsedTime**
115
+
116
+ Current elapsed time since AudioClip activated/running, cumulative in seconds, and not counting any paused time.
117
+
118
+ ### SFTime [out] **duration_changed**
119
+
120
+ *duration_changed* is length of time in seconds for one cycle of audio.
121
+
122
+ ## Description
123
+
124
+ ### Hints
125
+
126
+ - Add a parent Sound node first.
127
+ - Utilize DEF/USE references for multiple copies of a single AudioClip sound file in order to avoid multiple-download delays, reduce memory requirements, and maintain synchronization.
128
+ - Authors can provide multiple audio formats for the same audio track, with each source address listed separately in the url field.
129
+ - Player support for .wav format is required, .midi format is recommended, other formats are optional.
130
+ - The underlying `<audio/>` element can be accessed via audioClip.getValue().getElement().
131
+
132
+ ## Example
133
+
134
+ <x3d-canvas src="https://create3000.github.io/media/examples/Sound/AudioClip/AudioClip.x3d"></x3d-canvas>
135
+
136
+ ## External Links
137
+
138
+ - [X3D Specification of AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"}
139
+ - [X3D Scene Authoring Hints:Audio](https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Audio){:target="_blank"}
@@ -0,0 +1,52 @@
1
+ ---
2
+ title: AudioDestination
3
+ date: 2023-01-31
4
+ nav: components-Sound
5
+ categories: [components, Sound]
6
+ tags: [AudioDestination, Sound]
7
+ ---
8
+ <style>
9
+ .post h3 {
10
+ word-spacing: 0.2em;
11
+ }
12
+ </style>
13
+
14
+ ## Overview
15
+
16
+ AudioDestination ...
17
+
18
+ The AudioDestination node belongs to the **Sound** component and its default container field is *children.* It is available since X3D version 4.0 or later.
19
+
20
+ ## Hierarchy
21
+
22
+ ```
23
+ + X3DNode
24
+ ```
25
+
26
+ ## Fields
27
+
28
+ ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
29
+
30
+ ### SFString [in, out] **description** ""
31
+
32
+ ### SFBool [in, out] **enabled** <small></small>
33
+
34
+ ### SFFloat [in, out] **gain** <small></small>
35
+
36
+ ### SFInt32 [in, out] **maxChannelCount** <small></small>
37
+
38
+ ### SFInt32 [out] **channelCount** <small></small>
39
+
40
+ ### SFString [in, out] **channelCountMode** <small></small>
41
+
42
+ ### SFString [in, out] **channelInterpretation** <small></small>
43
+
44
+ ### SFString [out] **mediaDeviceID** <small></small>
45
+
46
+ ### SFBool [out] **isActive** <small></small>
47
+
48
+ ### MFNode [in, out] **children** <small></small>
49
+
50
+ ## External Links
51
+
52
+ - [X3D Specification of AudioDestination](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioDestination){:target="_blank"}
@@ -0,0 +1,70 @@
1
+ ---
2
+ title: BiquadFilter
3
+ date: 2023-01-31
4
+ nav: components-Sound
5
+ categories: [components, Sound]
6
+ tags: [BiquadFilter, Sound]
7
+ ---
8
+ <style>
9
+ .post h3 {
10
+ word-spacing: 0.2em;
11
+ }
12
+ </style>
13
+
14
+ ## Overview
15
+
16
+ BiquadFilter ...
17
+
18
+ The BiquadFilter node belongs to the **Sound** component and its default container field is *children.* It is available since X3D version 4.0 or later.
19
+
20
+ ## Hierarchy
21
+
22
+ ```
23
+ + X3DNode
24
+ ```
25
+
26
+ ## Fields
27
+
28
+ ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
29
+
30
+ ### SFString [in, out] **description** ""
31
+
32
+ ### SFBool [in, out] **enabled** <small></small>
33
+
34
+ ### SFFloat [in, out] **detune** <small></small>
35
+
36
+ ### SFFloat [in, out] **frequency** <small></small>
37
+
38
+ ### SFFloat [in, out] **gain** <small></small>
39
+
40
+ ### SFFloat [in, out] **qualityFactor** <small></small>
41
+
42
+ ### SFTime [in, out] **tailTime** <small></small>
43
+
44
+ ### SFString [in, out] **type** <small></small>
45
+
46
+ ### SFInt32 [out] **channelCount** <small></small>
47
+
48
+ ### SFString [in, out] **channelCountMode** <small></small>
49
+
50
+ ### SFString [in, out] **channelInterpretation** <small></small>
51
+
52
+ ### SFTime [in, out] **startTime** <small></small>
53
+
54
+ ### SFTime [in, out] **resumeTime** <small></small>
55
+
56
+ ### SFTime [in, out] **pauseTime** <small></small>
57
+
58
+ ### SFTime [in, out] **stopTime** <small></small>
59
+
60
+ ### SFBool [out] **isPaused** <small></small>
61
+
62
+ ### SFBool [out] **isActive** <small></small>
63
+
64
+ ### SFTime [out] **elapsedTime** <small></small>
65
+
66
+ ### MFNode [in, out] **children** <small></small>
67
+
68
+ ## External Links
69
+
70
+ - [X3D Specification of BiquadFilter](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#BiquadFilter){:target="_blank"}
@@ -0,0 +1,86 @@
1
+ ---
2
+ title: BufferAudioSource
3
+ date: 2023-01-31
4
+ nav: components-Sound
5
+ categories: [components, Sound]
6
+ tags: [BufferAudioSource, Sound]
7
+ ---
8
+ <style>
9
+ .post h3 {
10
+ word-spacing: 0.2em;
11
+ }
12
+ </style>
13
+
14
+ ## Overview
15
+
16
+ BufferAudioSource ...
17
+
18
+ The BufferAudioSource node belongs to the **Sound** component and its default container field is *children.* It is available since X3D version 4.0 or later.
19
+
20
+ ## Hierarchy
21
+
22
+ ```
23
+ + X3DNode
24
+ ```
25
+
26
+ ## Fields
27
+
28
+ ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
29
+
30
+ ### SFString [in, out] **description** ""
31
+
32
+ ### SFBool [in, out] **enabled** <small></small>
33
+
34
+ ### SFBool [in, out] **load** TRUE
35
+
36
+ ### MFString [in, out] **url** <small></small>
37
+
38
+ ### SFTime [in, out] **autoRefresh** <small></small>
39
+
40
+ ### SFTime [in, out] **autoRefreshTimeLimit** 3600 <small>[0,∞)</small>
41
+
42
+ ### SFFloat [in, out] **gain** <small></small>
43
+
44
+ ### MFFloat [in, out] **buffer** <small></small>
45
+
46
+ ### SFFloat [in, out] **detune** <small></small>
47
+
48
+ ### SFTime [in, out] **bufferDuration** <small></small>
49
+
50
+ ### SFTime [in, out] **loopStart** <small></small>
51
+
52
+ ### SFTime [in, out] **loopEnd** <small></small>
53
+
54
+ ### SFInt32 [in, out] **numberOfChannels** <small></small>
55
+
56
+ ### SFFloat [in, out] **playbackRate** <small></small>
57
+
58
+ ### SFFloat [in, out] **sampleRate** <small></small>
59
+
60
+ ### SFInt32 [out] **bufferLength** <small></small>
61
+
62
+ ### SFInt32 [out] **channelCount** <small></small>
63
+
64
+ ### SFString [in, out] **channelCountMode** <small></small>
65
+
66
+ ### SFString [in, out] **channelInterpretation** <small></small>
67
+
68
+ ### SFBool [in, out] **loop** <small></small>
69
+
70
+ ### SFTime [in, out] **startTime** <small></small>
71
+
72
+ ### SFTime [in, out] **resumeTime** <small></small>
73
+
74
+ ### SFTime [in, out] **pauseTime** <small></small>
75
+
76
+ ### SFTime [in, out] **stopTime** <small></small>
77
+
78
+ ### SFBool [out] **isPaused** <small></small>
79
+
80
+ ### SFBool [out] **isActive** <small></small>
81
+
82
+ ### SFTime [out] **elapsedTime** <small></small>
83
+
84
+ ## External Links
85
+
86
+ - [X3D Specification of BufferAudioSource](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#BufferAudioSource){:target="_blank"}