x_ite 5.0.3 → 6.1.0

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 (385) hide show
  1. package/.vscode/settings.json +12 -5
  2. package/.vscode/tasks.json +25 -1
  3. package/Makefile +36 -28
  4. package/README.md +6 -11
  5. package/build/bin/dist.pl +0 -6
  6. package/build/bin/examples-and-tests.pl +75 -0
  7. package/build/bin/tests-menu.pl +57 -0
  8. package/build/bin/version.pl +7 -4
  9. package/build/parts/default.start.frag.js +3 -2
  10. package/dist/assets/components/annotation.js +3 -2
  11. package/dist/assets/components/annotation.min.js +1 -1
  12. package/dist/assets/components/cad-geometry.js +3 -2
  13. package/dist/assets/components/cad-geometry.min.js +1 -1
  14. package/dist/assets/components/cube-map-texturing.js +8 -20
  15. package/dist/assets/components/cube-map-texturing.min.js +1 -1
  16. package/dist/assets/components/dis.js +3 -2
  17. package/dist/assets/components/dis.min.js +1 -1
  18. package/dist/assets/components/event-utilities.js +4 -3
  19. package/dist/assets/components/event-utilities.min.js +1 -1
  20. package/dist/assets/components/geometry2d.js +38 -52
  21. package/dist/assets/components/geometry2d.min.js +1 -1
  22. package/dist/assets/components/geospatial.js +34 -1686
  23. package/dist/assets/components/geospatial.min.js +1 -1
  24. package/dist/assets/components/h-anim.js +71 -77
  25. package/dist/assets/components/h-anim.min.js +1 -1
  26. package/dist/assets/components/key-device-sensor.js +4 -3
  27. package/dist/assets/components/key-device-sensor.min.js +1 -1
  28. package/dist/assets/components/layout.js +101 -173
  29. package/dist/assets/components/layout.min.js +1 -1
  30. package/dist/assets/components/nurbs.js +3 -2
  31. package/dist/assets/components/nurbs.min.js +1 -1
  32. package/dist/assets/components/particle-systems.js +1926 -1669
  33. package/dist/assets/components/particle-systems.min.js +1 -1
  34. package/dist/assets/components/picking.js +34 -41
  35. package/dist/assets/components/picking.min.js +1 -1
  36. package/dist/assets/components/projective-texture-mapping.js +73 -86
  37. package/dist/assets/components/projective-texture-mapping.min.js +1 -1
  38. package/dist/assets/components/rigid-body-physics.js +37 -57
  39. package/dist/assets/components/rigid-body-physics.min.js +1 -1
  40. package/dist/assets/components/scripting.js +3 -2
  41. package/dist/assets/components/scripting.min.js +1 -1
  42. package/dist/assets/components/texturing-3d.js +27 -33
  43. package/dist/assets/components/texturing-3d.min.js +3 -3
  44. package/dist/assets/components/volume-rendering.js +12 -11
  45. package/dist/assets/components/volume-rendering.min.js +1 -1
  46. package/dist/assets/components/x_ite.js +3 -2
  47. package/dist/assets/components/x_ite.min.js +1 -1
  48. package/dist/assets/images/Shading.png +0 -0
  49. package/dist/assets/linetype/1.png +0 -0
  50. package/dist/assets/linetype/10.png +0 -0
  51. package/dist/assets/linetype/11.png +0 -0
  52. package/dist/assets/linetype/12.png +0 -0
  53. package/dist/assets/linetype/13.png +0 -0
  54. package/dist/assets/linetype/14.png +0 -0
  55. package/dist/assets/linetype/15.png +0 -0
  56. package/dist/assets/linetype/16.png +0 -0
  57. package/dist/assets/linetype/2.png +0 -0
  58. package/dist/assets/linetype/3.png +0 -0
  59. package/dist/assets/linetype/4.png +0 -0
  60. package/dist/assets/linetype/5.png +0 -0
  61. package/dist/assets/linetype/6.png +0 -0
  62. package/dist/assets/linetype/7.png +0 -0
  63. package/dist/assets/linetype/8.png +0 -0
  64. package/dist/assets/linetype/9.png +0 -0
  65. package/dist/assets/shaders/webgl1/Gouraud.vs +1 -1
  66. package/dist/assets/shaders/webgl1/Line.fs +0 -21
  67. package/dist/assets/shaders/webgl1/Line.vs +0 -10
  68. package/dist/assets/shaders/webgl1/PBR.fs +1 -1
  69. package/dist/assets/shaders/webgl1/PBR.vs +1 -1
  70. package/dist/assets/shaders/webgl1/Phong.fs +1 -1
  71. package/dist/assets/shaders/webgl1/Point.vs +1 -1
  72. package/dist/assets/shaders/webgl2/Depth.vs +29 -1
  73. package/dist/assets/shaders/webgl2/Gouraud.vs +32 -4
  74. package/dist/assets/shaders/webgl2/Line.fs +24 -12
  75. package/dist/assets/shaders/webgl2/Line.vs +36 -11
  76. package/dist/assets/shaders/webgl2/LineTransform.fs +4 -0
  77. package/dist/assets/shaders/webgl2/LineTransform.vs +57 -0
  78. package/dist/assets/shaders/webgl2/PBR.fs +1 -1
  79. package/dist/assets/shaders/webgl2/PBR.vs +35 -7
  80. package/dist/assets/shaders/webgl2/Phong.fs +1 -1
  81. package/dist/assets/shaders/webgl2/Phong.vs +31 -3
  82. package/dist/assets/shaders/webgl2/Point.vs +30 -2
  83. package/dist/assets/shaders/webgl2/Unlit.vs +31 -3
  84. package/dist/example.html +6 -6
  85. package/dist/x_ite.css +199 -224
  86. package/dist/x_ite.js +16335 -15917
  87. package/dist/x_ite.min.js +17 -17
  88. package/dist/x_ite.zip +0 -0
  89. package/docs/404.md +6 -0
  90. package/docs/Accessing-the-External-Browser.md +21 -15
  91. package/docs/Browser-Support.md +6 -0
  92. package/docs/Custom-Shaders.md +18 -25
  93. package/docs/Features.md +11 -5
  94. package/docs/Gemfile +44 -0
  95. package/docs/Gemfile.lock +122 -0
  96. package/docs/Glossary.md +6 -0
  97. package/docs/How-To-Configure-Your-Web-Server.md +6 -0
  98. package/docs/Supported-Nodes.md +9 -1
  99. package/docs/What's-New.md +93 -39
  100. package/docs/XHTML-DOM-Integration.md +6 -0
  101. package/docs/_config.yml +2 -2
  102. package/docs/assets/css/main.scss +26 -0
  103. package/docs/index.md +42 -50
  104. package/docs/reference/Browser-Services.md +9 -3
  105. package/docs/reference/Constants-Services.md +6 -0
  106. package/docs/reference/ECMAScript-Object-and-Function-Definitions.md +12 -6
  107. package/docs/reference/Field-Services-and-Objects.md +105 -1
  108. package/docs/reference/Prototype-Services.md +11 -0
  109. package/docs/reference/Route-Services.md +9 -0
  110. package/docs/reference/Scene-Services.md +17 -2
  111. package/docs/reference/Script-Node-Authoring-Interface.md +7 -1
  112. package/docs/tutorials/Adding-backgrounds.md +6 -0
  113. package/docs/tutorials/Adding-fog.md +6 -0
  114. package/docs/tutorials/Adding-sound.md +6 -0
  115. package/docs/tutorials/Animating-transforms.md +6 -0
  116. package/docs/tutorials/Basic-Nodes.md +6 -0
  117. package/docs/tutorials/Building-a-X3D-world.md +6 -0
  118. package/docs/tutorials/Building-elevation-grids.md +6 -0
  119. package/docs/tutorials/Building-extruded-shapes.md +6 -0
  120. package/docs/tutorials/Building-primitive-shapes.md +6 -0
  121. package/docs/tutorials/Building-shapes-out-of-points,-lines,-and-faces.md +6 -0
  122. package/docs/tutorials/Controlling-appearance-with-materials.md +6 -0
  123. package/docs/tutorials/Controlling-color-on-coordinate-based-geometry.md +6 -0
  124. package/docs/tutorials/Controlling-detail.md +6 -0
  125. package/docs/tutorials/Controlling-how-textures-are-mapped.md +6 -0
  126. package/docs/tutorials/Controlling-navigation.md +6 -0
  127. package/docs/tutorials/Controlling-shading-on-coordinate-based-geometry.md +6 -0
  128. package/docs/tutorials/Controlling-the-viewpoint.md +6 -0
  129. package/docs/tutorials/Creating-new-node-types.md +6 -0
  130. package/docs/tutorials/Grouping-nodes.md +6 -0
  131. package/docs/tutorials/Hello,-World!.md +6 -0
  132. package/docs/tutorials/Improving-Performance.md +6 -0
  133. package/docs/tutorials/Increasing-Rendering-Speed.md +6 -0
  134. package/docs/tutorials/Introducing-X3D.md +6 -0
  135. package/docs/tutorials/Introducing-animation.md +6 -0
  136. package/docs/tutorials/Introducing-script-use.md +6 -0
  137. package/docs/tutorials/Lighting-your-world.md +6 -0
  138. package/docs/tutorials/Mapping-textures.md +6 -0
  139. package/docs/tutorials/Naming-nodes.md +6 -0
  140. package/docs/tutorials/Providing-information-about-your-world.md +6 -0
  141. package/docs/tutorials/Sensing-the-viewer.md +6 -0
  142. package/docs/tutorials/Sensing-viewer-actions.md +6 -0
  143. package/docs/tutorials/Transforming-Shapes.md +6 -0
  144. package/docs/tutorials/Writing-program-scripts-with-ECMAScript.md +6 -0
  145. package/docs/tutorials/index.md +42 -36
  146. package/package.json +6 -7
  147. package/src/assets/components/geometry2d.js +1 -1
  148. package/src/assets/components/key-device-sensor.js +1 -1
  149. package/src/assets/components/layout.js +1 -1
  150. package/src/assets/components/particle-systems.js +1 -1
  151. package/src/assets/components/volume-rendering.js +1 -1
  152. package/src/assets/images/Shading.png +0 -0
  153. package/src/assets/linetype/1.png +0 -0
  154. package/src/assets/linetype/10.png +0 -0
  155. package/src/assets/linetype/11.png +0 -0
  156. package/src/assets/linetype/12.png +0 -0
  157. package/src/assets/linetype/13.png +0 -0
  158. package/src/assets/linetype/14.png +0 -0
  159. package/src/assets/linetype/15.png +0 -0
  160. package/src/assets/linetype/16.png +0 -0
  161. package/src/assets/linetype/2.png +0 -0
  162. package/src/assets/linetype/3.png +0 -0
  163. package/src/assets/linetype/4.png +0 -0
  164. package/src/assets/linetype/5.png +0 -0
  165. package/src/assets/linetype/6.png +0 -0
  166. package/src/assets/linetype/7.png +0 -0
  167. package/src/assets/linetype/8.png +0 -0
  168. package/src/assets/linetype/9.png +0 -0
  169. package/src/assets/shaders/Types.glsl +1 -9
  170. package/src/assets/shaders/webgl1/Gouraud.fs +1 -1
  171. package/src/assets/shaders/webgl1/Gouraud.vs +2 -3
  172. package/src/assets/shaders/webgl1/Line.fs +3 -28
  173. package/src/assets/shaders/webgl1/Line.vs +6 -20
  174. package/src/assets/shaders/webgl1/PBR.fs +6 -6
  175. package/src/assets/shaders/webgl1/PBR.vs +1 -1
  176. package/src/assets/shaders/webgl1/Phong.fs +10 -10
  177. package/src/assets/shaders/webgl1/Point.vs +2 -2
  178. package/src/assets/shaders/webgl1/Unlit.fs +4 -4
  179. package/src/assets/shaders/webgl1/include/Normal.glsl +1 -1
  180. package/src/assets/shaders/webgl1/include/Texture.glsl +3 -8
  181. package/src/assets/shaders/webgl2/Depth.vs +4 -1
  182. package/src/assets/shaders/webgl2/Gouraud.fs +1 -1
  183. package/src/assets/shaders/webgl2/Gouraud.vs +8 -6
  184. package/src/assets/shaders/webgl2/Line.fs +11 -17
  185. package/src/assets/shaders/webgl2/Line.vs +17 -21
  186. package/src/assets/shaders/webgl2/LineTransform.fs +6 -0
  187. package/src/assets/shaders/webgl2/LineTransform.vs +77 -0
  188. package/src/assets/shaders/webgl2/PBR.fs +6 -6
  189. package/src/assets/shaders/webgl2/PBR.vs +10 -7
  190. package/src/assets/shaders/webgl2/Phong.fs +11 -11
  191. package/src/assets/shaders/webgl2/Phong.vs +6 -3
  192. package/src/assets/shaders/webgl2/Point.vs +5 -4
  193. package/src/assets/shaders/webgl2/Unlit.fs +5 -5
  194. package/src/assets/shaders/webgl2/Unlit.vs +6 -3
  195. package/src/assets/shaders/webgl2/include/Line2.glsl +20 -0
  196. package/src/assets/shaders/webgl2/include/Normal.glsl +1 -1
  197. package/src/assets/shaders/webgl2/include/Particle.glsl +36 -0
  198. package/src/assets/shaders/webgl2/include/Texture.glsl +3 -3
  199. package/src/example.html +6 -6
  200. package/src/examples.js +5 -4
  201. package/src/standard/Math/Algorithm.js +12 -28
  202. package/src/standard/Math/Geometry/Line2.js +163 -0
  203. package/src/standard/Math/Geometry/Line3.js +3 -5
  204. package/src/standard/Math/Geometry/Plane3.js +0 -2
  205. package/src/standard/Math/Geometry/Triangle3.js +1 -1
  206. package/src/standard/Math/Geometry/ViewVolume.js +121 -103
  207. package/src/standard/Math/Numbers/Color3.js +6 -0
  208. package/src/standard/Math/Numbers/Color4.js +7 -0
  209. package/src/standard/Math/Numbers/Complex.js +48 -34
  210. package/src/standard/Math/Numbers/Matrix2.js +62 -2
  211. package/src/standard/Math/Numbers/Matrix3.js +129 -110
  212. package/src/standard/Math/Numbers/Matrix4.js +138 -119
  213. package/src/standard/Math/Numbers/Quaternion.js +12 -5
  214. package/src/standard/Math/Numbers/Rotation4.js +8 -1
  215. package/src/standard/Math/Numbers/Vector2.js +42 -9
  216. package/src/standard/Math/Numbers/Vector3.js +50 -14
  217. package/src/standard/Math/Numbers/Vector4.js +48 -11
  218. package/src/standard/Math/Utility/BVH.js +45 -17
  219. package/src/tests.js +68 -66
  220. package/src/x_ite/Base/X3DBaseNode.js +22 -11
  221. package/src/x_ite/Base/X3DField.js +1 -1
  222. package/src/x_ite/Browser/Core/BrowserOptions.js +24 -143
  223. package/src/x_ite/Browser/Core/BrowserTimings.js +6 -4
  224. package/src/x_ite/Browser/Core/Context.js +185 -0
  225. package/src/x_ite/Browser/Core/ContextMenu.js +398 -211
  226. package/src/x_ite/Browser/Core/Notification.js +1 -0
  227. package/src/x_ite/Browser/Core/X3DCoreContext.js +35 -146
  228. package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +1 -1
  229. package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +1 -0
  230. package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +2 -2
  231. package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +41 -2
  232. package/src/x_ite/Browser/Geospatial/Geocentric.js +2 -2
  233. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +1 -1
  234. package/src/x_ite/Browser/Layout/ScreenText.js +18 -65
  235. package/src/x_ite/Browser/Layout/X3DLayoutContext.js +59 -16
  236. package/src/x_ite/Browser/Navigation/ExamineViewer.js +13 -20
  237. package/src/x_ite/Browser/Navigation/LookAtViewer.js +1 -4
  238. package/src/x_ite/Browser/Navigation/PlaneViewer.js +0 -3
  239. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +15 -8
  240. package/src/x_ite/Browser/Navigation/X3DViewer.js +12 -20
  241. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +11 -7
  242. package/src/x_ite/Browser/ParticleSystems/BVH.glsl +183 -0
  243. package/src/x_ite/Browser/ParticleSystems/Box3.glsl +47 -0
  244. package/src/x_ite/Browser/ParticleSystems/GeometryTypes.js +66 -0
  245. package/src/x_ite/Browser/ParticleSystems/Line3.glsl +55 -0
  246. package/src/x_ite/Browser/ParticleSystems/Plane3.glsl +160 -0
  247. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +27 -3
  248. package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +41 -37
  249. package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +21 -13
  250. package/src/x_ite/Browser/Shaders/Shader.js +33 -12
  251. package/src/x_ite/Browser/Shaders/ShaderSource.js +6 -0
  252. package/src/x_ite/Browser/Shaders/ShaderTest.js +16 -10
  253. package/src/x_ite/Browser/Shape/X3DShapeContext.js +50 -9
  254. package/src/x_ite/Browser/Text/X3DTextContext.js +4 -13
  255. package/src/x_ite/Browser/Text/X3DTextGeometry.js +2 -1
  256. package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +71 -34
  257. package/src/x_ite/Browser/Texturing3D/DICOMParser.js +2 -2
  258. package/src/x_ite/Browser/Time/X3DTimeContext.js +4 -2
  259. package/src/x_ite/Browser/VERSION.js +1 -1
  260. package/src/x_ite/Browser/X3DBrowser.js +7 -6
  261. package/src/x_ite/Browser/X3DBrowserContext.js +43 -10
  262. package/src/x_ite/Components/Core/X3DNode.js +4 -0
  263. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +0 -2
  264. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +3 -4
  265. package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +1 -12
  266. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +1 -2
  267. package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +1 -1
  268. package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +76 -77
  269. package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +2 -9
  270. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +51 -65
  271. package/src/x_ite/Components/EventUtilities/X3DSequencerNode.js +1 -1
  272. package/src/x_ite/Components/Followers/ColorDamper.js +1 -1
  273. package/src/x_ite/Components/Followers/X3DChaserNode.js +18 -32
  274. package/src/x_ite/Components/Followers/X3DDamperNode.js +1 -6
  275. package/src/x_ite/Components/Followers/X3DFollowerNode.js +1 -1
  276. package/src/x_ite/Components/Geometry2D/Disk2D.js +30 -46
  277. package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +1 -1
  278. package/src/x_ite/Components/Geometry3D/ElevationGrid.js +12 -4
  279. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +4 -4
  280. package/src/x_ite/Components/Geospatial/GeoCoordinate.js +10 -27
  281. package/src/x_ite/Components/Geospatial/GeoLOD.js +1 -1
  282. package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +5 -10
  283. package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +9 -16
  284. package/src/x_ite/Components/Geospatial/GeoTransform.js +6 -18
  285. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +26 -30
  286. package/src/x_ite/Components/Geospatial/X3DGeospatialObject.js +20 -27
  287. package/src/x_ite/Components/Grouping/X3DGroupingNode.js +8 -8
  288. package/src/x_ite/Components/Grouping/X3DTransformNode.js +0 -4
  289. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +68 -75
  290. package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +4 -11
  291. package/src/x_ite/Components/Interpolation/X3DInterpolatorNode.js +1 -1
  292. package/src/x_ite/Components/Layout/LayoutGroup.js +4 -9
  293. package/src/x_ite/Components/Layout/ScreenFontStyle.js +1 -1
  294. package/src/x_ite/Components/Layout/ScreenGroup.js +16 -80
  295. package/src/x_ite/Components/Lighting/DirectionalLight.js +28 -36
  296. package/src/x_ite/Components/Lighting/PointLight.js +32 -47
  297. package/src/x_ite/Components/Lighting/SpotLight.js +33 -48
  298. package/src/x_ite/Components/Navigation/Billboard.js +49 -56
  299. package/src/x_ite/Components/Navigation/LOD.js +2 -2
  300. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +29 -30
  301. package/src/x_ite/Components/Navigation/Viewpoint.js +16 -20
  302. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +82 -111
  303. package/src/x_ite/Components/Networking/Anchor.js +18 -7
  304. package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +6 -6
  305. package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +44 -36
  306. package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +26 -17
  307. package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +20 -7
  308. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +463 -882
  309. package/src/x_ite/Components/ParticleSystems/PointEmitter.js +39 -35
  310. package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +112 -128
  311. package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +105 -112
  312. package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +138 -176
  313. package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +16 -11
  314. package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +807 -217
  315. package/src/x_ite/Components/Picking/LinePickSensor.js +31 -39
  316. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +91 -108
  317. package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +56 -59
  318. package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +54 -71
  319. package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +8 -15
  320. package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorParallel.js +43 -50
  321. package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorPerspective.js +32 -39
  322. package/src/x_ite/Components/Rendering/ClipPlane.js +3 -11
  323. package/src/x_ite/Components/Rendering/Color.js +12 -24
  324. package/src/x_ite/Components/Rendering/ColorRGBA.js +13 -25
  325. package/src/x_ite/Components/Rendering/IndexedLineSet.js +26 -4
  326. package/src/x_ite/Components/Rendering/LineSet.js +35 -13
  327. package/src/x_ite/Components/Rendering/PointSet.js +35 -13
  328. package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +13 -5
  329. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +331 -387
  330. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +350 -140
  331. package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +116 -126
  332. package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +24 -38
  333. package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +10 -17
  334. package/src/x_ite/Components/Shaders/ComposedShader.js +35 -75
  335. package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +8 -11
  336. package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +10 -14
  337. package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +10 -14
  338. package/src/x_ite/Components/Shaders/ShaderPart.js +1 -10
  339. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +220 -210
  340. package/src/x_ite/Components/Shaders/X3DShaderNode.js +28 -10
  341. package/src/x_ite/Components/Shaders/X3DVertexAttributeNode.js +15 -1
  342. package/src/x_ite/Components/Shape/Appearance.js +37 -4
  343. package/src/x_ite/Components/Shape/FillProperties.js +12 -1
  344. package/src/x_ite/Components/Shape/LineProperties.js +33 -1
  345. package/src/x_ite/Components/Shape/PointProperties.js +24 -3
  346. package/src/x_ite/Components/Shape/Shape.js +30 -39
  347. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +3 -1
  348. package/src/x_ite/Components/Sound/Sound.js +31 -41
  349. package/src/x_ite/Components/Text/Text.js +6 -20
  350. package/src/x_ite/Components/Texturing/ImageTexture.js +1 -1
  351. package/src/x_ite/Components/Texturing/MovieTexture.js +1 -1
  352. package/src/x_ite/Components/Texturing/PixelTexture.js +2 -2
  353. package/src/x_ite/Components/Texturing/TextureCoordinate.js +5 -5
  354. package/src/x_ite/Components/Texturing/TextureProperties.js +4 -4
  355. package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +5 -4
  356. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +24 -33
  357. package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +5 -5
  358. package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +5 -5
  359. package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +12 -19
  360. package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +8 -8
  361. package/src/x_ite/Components.js +2 -2
  362. package/src/x_ite/Fallback.js +9 -3
  363. package/src/x_ite/Fields/SFColor.js +4 -0
  364. package/src/x_ite/Fields/SFColorRGBA.js +4 -0
  365. package/src/x_ite/Fields/SFImage.js +2 -11
  366. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +4 -0
  367. package/src/x_ite/Fields/SFRotation.js +4 -0
  368. package/src/x_ite/Fields/SFString.js +4 -0
  369. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +22 -2
  370. package/src/x_ite/Parser/XMLParser.js +1 -1
  371. package/src/x_ite/Rendering/TextureBuffer.js +43 -36
  372. package/src/x_ite/Rendering/VertexArray.js +103 -0
  373. package/src/x_ite/Rendering/X3DRenderObject.js +127 -148
  374. package/src/x_ite/X3D.js +32 -26
  375. package/src/x_ite.config.js +0 -5
  376. package/src/x_ite.css +216 -175
  377. package/src/x_ite.html +15 -10
  378. package/src/x_ite.js +49 -1
  379. package/x_ite.min.html +15 -10
  380. package/dist/assets/hatching/0.png +0 -0
  381. package/dist/assets/linetype/0.png +0 -0
  382. package/src/assets/hatching/0.png +0 -0
  383. package/src/assets/linetype/0.png +0 -0
  384. package/src/spinner.css +0 -67
  385. package/src/x_ite/Browser/Shape/LineStipples.xcf +0 -0
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Building Elevation Grids
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Build Extruded Shapes
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Building Primitive Shapes
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
 
2
8
  # Building Shapes out of Points, Lines, and Faces
3
9
 
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Controlling Appearance whith Materials
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Controlling Color on Coordinate-Based Geometry
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Controlling Detail
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Controlling How Textures are Mapped
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Controlling Navigation
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Controlling Shading on Coordinate-Based Geometry
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Controlling the Viewpoint
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Creating New Node Types
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Grouping Nodes
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Hello, World!
2
8
 
3
9
  ## Overview
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Improving Performance
2
8
 
3
9
  ## Overview
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Increasing Rendering Speed
2
8
 
3
9
  ## Overivew
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Introducing X3D
2
8
 
3
9
  ## What is X3D?
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Introducing Animations
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Introducing Script Use
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Lighting Your World
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Mapping Textures
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Naming Nodes
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Providing Information About Your World
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Sensing the Viewer
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Sensing Viewer Actions
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Transforming Shapes
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Writing Program Scripts with ECMAScript
2
8
 
3
9
  ## Motivation
@@ -1,3 +1,9 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ layout: single
6
+ ---
1
7
  # Tutorials
2
8
 
3
9
  ## Overview
@@ -10,64 +16,64 @@ The only hardware and software requirement for most of the tutorials is a comput
10
16
 
11
17
  Simple, fast and efficient, our X3D tutorials give you all the tips and tricks to advance in the construction of your project.
12
18
 
13
- - [Hello, World](/x_ite/tutorials/Hello,-World!.html)
19
+ - [Hello, World](Hello,-World!.html)
14
20
  - First let's go over to the »Hello World« tutorial, which displays a simple earth and the text »Hello World!«.
15
- - [A Quick Overview: Basic Nodes](/x_ite/tutorials/Basic-Nodes.html)
21
+ - [A Quick Overview: Basic Nodes](Basic-Nodes.html)
16
22
  - Here are the basic nodes described, which are often used in an X3D world.
17
23
 
18
24
  Shapes, Geometry, and Appearance
19
25
 
20
- - [Introducing X3D](/x_ite/tutorials/Introducing-X3D.html)
21
- - [Building a X3D World](/x_ite/tutorials/Building-a-X3D-world.html)
22
- - [Building Primitive Shapes ](/x_ite/tutorials/Building-primitive-shapes.html)
23
- - [Transforming Shapes](/x_ite/tutorials/Transforming-Shapes.html)
24
- - [Controlling Appearance with Materials ](/x_ite/tutorials/Controlling-appearance-with-materials.html)
25
- - [Grouping Nodes ](/x_ite/tutorials/Grouping-nodes.html)
26
- - [Naming Nodes](/x_ite/tutorials/Naming-nodes.html)
26
+ - [Introducing X3D](Introducing-X3D.html)
27
+ - [Building a X3D World](Building-a-X3D-world.html)
28
+ - [Building Primitive Shapes ](Building-primitive-shapes.html)
29
+ - [Transforming Shapes](Transforming-Shapes.html)
30
+ - [Controlling Appearance with Materials ](Controlling-appearance-with-materials.html)
31
+ - [Grouping Nodes ](Grouping-nodes.html)
32
+ - [Naming Nodes](Naming-nodes.html)
27
33
 
28
34
  Animation, Sensors, and Geometry
29
35
 
30
- - [Introducing Animation](/x_ite/tutorials/Introducing-animation.html)
31
- - [Animating Transforms](/x_ite/tutorials/Animating-transforms.html)
32
- - [Sensing Viewer Actions](/x_ite/tutorials/Sensing-viewer-actions.html)
33
- - [Building Ahapes out of Points, Lines, and Faces](/x_ite/tutorials/Building-shapes-out-of-points,-lines,-and-faces.html)
34
- - [Building Elevation Grids](/x_ite/tutorials/Building-elevation-grids.html)
35
- - [Building Extruded Shapes](/x_ite/tutorials/Building-extruded-shapes.html)
36
- - [Controlling Color on Coordinate-Based Geometry](/x_ite/tutorials/Controlling-color-on-coordinate-based-geometry.html)
37
- - [Controlling Shading on Coordinate-Based Geometry](/x_ite/tutorials/Controlling-shading-on-coordinate-based-geometry.html)
36
+ - [Introducing Animation](Introducing-animation.html)
37
+ - [Animating Transforms](Animating-transforms.html)
38
+ - [Sensing Viewer Actions](Sensing-viewer-actions.html)
39
+ - [Building Ahapes out of Points, Lines, and Faces](Building-shapes-out-of-points,-lines,-and-faces.html)
40
+ - [Building Elevation Grids](Building-elevation-grids.html)
41
+ - [Building Extruded Shapes](Building-extruded-shapes.html)
42
+ - [Controlling Color on Coordinate-Based Geometry](Controlling-color-on-coordinate-based-geometry.html)
43
+ - [Controlling Shading on Coordinate-Based Geometry](Controlling-shading-on-coordinate-based-geometry.html)
38
44
 
39
45
  Textures, Lights, and Environment
40
46
 
41
- - [Mapping Textures](/x_ite/tutorials/Mapping-textures.html)
42
- - [Controlling How Textures are Mapped](/x_ite/tutorials/Controlling-how-textures-are-mapped.html)
43
- - [Lighting Your World](/x_ite/tutorials/Lighting-your-world.html)
44
- - [Adding Backgrounds](/x_ite/tutorials/Adding-backgrounds.html)
45
- - [Adding Fog](/x_ite/tutorials/Adding-fog.html)
46
- - [Adding Sound](/x_ite/tutorials/Adding-sound.html)
47
- - [Controlling the Viewpoint](/x_ite/tutorials/Controlling-the-viewpoint.html)
48
- - [Controlling Navigation](/x_ite/tutorials/Controlling-navigation.html)
49
- - [Sensing the Viewer](/x_ite/tutorials/Sensing-the-viewer.html)
47
+ - [Mapping Textures](Mapping-textures.html)
48
+ - [Controlling How Textures are Mapped](Controlling-how-textures-are-mapped.html)
49
+ - [Lighting Your World](Lighting-your-world.html)
50
+ - [Adding Backgrounds](Adding-backgrounds.html)
51
+ - [Adding Fog](Adding-fog.html)
52
+ - [Adding Sound](Adding-sound.html)
53
+ - [Controlling the Viewpoint](Controlling-the-viewpoint.html)
54
+ - [Controlling Navigation](Controlling-navigation.html)
55
+ - [Sensing the Viewer](Sensing-the-viewer.html)
50
56
 
51
57
  Scripts and Prototypes
52
58
 
53
- - [Controlling Detail](/x_ite/tutorials/Controlling-detail.html)
54
- - [Introducing Script Use](/x_ite/tutorials/Introducing-script-use.html)
55
- - [Writing Program Scripts with ECMAScript](/x_ite/tutorials/Writing-program-scripts-with-ECMAScript.html)
56
- - [Creating New Node Types](/x_ite/tutorials/Creating-new-node-types.html)
57
- - [Providing Tnformation About Your wWorld](/x_ite/tutorials/Providing-information-about-your-world.html)
59
+ - [Controlling Detail](Controlling-detail.html)
60
+ - [Introducing Script Use](Introducing-script-use.html)
61
+ - [Writing Program Scripts with ECMAScript](Writing-program-scripts-with-ECMAScript.html)
62
+ - [Creating New Node Types](Creating-new-node-types.html)
63
+ - [Providing Tnformation About Your wWorld](Providing-information-about-your-world.html)
58
64
 
59
65
  Some words about optimizing a scene
60
66
 
61
- - [Improve Performance](/x_ite/tutorials/Improving-Performance.html)
67
+ - [Improve Performance](Improving-Performance.html)
62
68
  - To optimize a scene is an important task when creating an X3D scene. There are several ways to improve performance.
63
- - [Increasing Rendering Speed](/x_ite/tutorials/Increasing-Rendering-Speed.html)
69
+ - [Increasing Rendering Speed](Increasing-Rendering-Speed.html)
64
70
  - Using WebGL and JavaScript needs to look at speed all the time. Learn ways to increase rendering speed.
65
71
 
66
72
  ### See Also
67
73
 
68
- - [Script Node Authoring Interface](/x_ite/reference/Script-Node-Authoring-Interface.html)
69
- - [ECMAScript Object and Function Definitions](/x_ite/reference/ECMAScript-Object-and-Function-Definitions.html)
70
- - [Custom Shaders](/x_ite/Custom-Shaders.html)
74
+ - [Script Node Authoring Interface](../reference/Script-Node-Authoring-Interface.html)
75
+ - [ECMAScript Object and Function Definitions](../reference/ECMAScript-Object-and-Function-Definitions.html)
76
+ - [Custom Shaders](../Custom-Shaders.html)
71
77
 
72
78
  ## There are also Books for Further Reading
73
79
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "x_ite",
3
- "version": "5.0.3",
4
- "revision": "1148",
3
+ "version": "6.1.0",
4
+ "revision": "1157",
5
5
  "description": "X_ITE X3D Browser, a framework for integrating and manipulating X3D and VRML scenes in HTML.",
6
6
  "main": "dist/x_ite.js",
7
7
  "repository": {
@@ -52,11 +52,10 @@
52
52
  "ammojs": "^0.0.2",
53
53
  "CharLS.js": "^2.0.1",
54
54
  "css-element-queries": "^1.2.3",
55
- "dicom-parser": "^1.8.13",
56
- "jpeg-js": "^0.4.3",
55
+ "dicom-parser": "^1.8.19",
56
+ "jpeg-js": "^0.4.4",
57
57
  "jpeg-lossless-decoder-js": "^2.0.4",
58
- "jquery": "^3.6.0",
59
- "jquery-contextmenu": "^2.9.2",
58
+ "jquery": "^3.6.1",
60
59
  "jquery-mousewheel": "^3.1.13",
61
60
  "jquery.fullscreen": "^0.6.0",
62
61
  "libtess": "^1.2.2",
@@ -66,7 +65,7 @@
66
65
  "require": "^2.4.20",
67
66
  "requirejs": "^2.3.6",
68
67
  "requirejs-text": "^2.0.16",
69
- "terser": "^5.12.1"
68
+ "terser": "^5.15.1"
70
69
  },
71
70
  "scripts": {
72
71
  "lint": "jshint **",
@@ -87,6 +87,6 @@ function (Components,
87
87
  abstractTypes:
88
88
  {
89
89
  },
90
- browser: X3DGeometry2DContext,
90
+ context: X3DGeometry2DContext,
91
91
  });
92
92
  });
@@ -72,6 +72,6 @@ function (Components,
72
72
  {
73
73
  X3DKeyDeviceSensorNode: X3DKeyDeviceSensorNode,
74
74
  },
75
- browser: X3DKeyDeviceSensorContext,
75
+ context: X3DKeyDeviceSensorContext,
76
76
  });
77
77
  });
@@ -81,6 +81,6 @@ function (Components,
81
81
  {
82
82
  X3DLayoutNode: X3DLayoutNode,
83
83
  },
84
- browser: X3DLayoutContext,
84
+ context: X3DLayoutContext,
85
85
  });
86
86
  });
@@ -99,6 +99,6 @@ function (Components,
99
99
  X3DParticleEmitterNode: X3DParticleEmitterNode,
100
100
  X3DParticlePhysicsModelNode: X3DParticlePhysicsModelNode,
101
101
  },
102
- browser: X3DParticleSystemsContext,
102
+ context: X3DParticleSystemsContext,
103
103
  });
104
104
  });
@@ -113,6 +113,6 @@ function (Components,
113
113
  X3DVolumeDataNode: X3DVolumeDataNode,
114
114
  X3DVolumeRenderStyleNode: X3DVolumeRenderStyleNode,
115
115
  },
116
- browser: X3DVolumeRenderingContext,
116
+ context: X3DVolumeRenderingContext,
117
117
  });
118
118
  });
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -45,6 +45,7 @@ struct x3d_LinePropertiesParameters
45
45
  {
46
46
  bool applied;
47
47
  mediump float linewidthScaleFactor;
48
+ mediump float lineStippleScale;
48
49
  sampler2D linetype;
49
50
  };
50
51
 
@@ -270,12 +271,3 @@ struct x3d_TextureCoordinateGeneratorParameters
270
271
  };
271
272
 
272
273
  //uniform x3d_TextureCoordinateGeneratorParameters x3d_TextureCoordinateGenerator [x3d_MaxTextures];
273
-
274
- struct x3d_ParticleParameters
275
- {
276
- mediump int id;
277
- mediump int life;
278
- mediump float elapsedTime;
279
- };
280
-
281
- //uniform x3d_ParticleParameters x3d_Particle;
@@ -8,8 +8,8 @@ precision highp int;
8
8
 
9
9
  uniform int x3d_GeometryType;
10
10
 
11
- uniform bool x3d_ColorMaterial; // true if a X3DColorNode is attached, otherwise false
12
11
  uniform float x3d_AlphaCutoff;
12
+ uniform bool x3d_ColorMaterial; // true if a X3DColorNode is attached, otherwise false
13
13
 
14
14
  varying float fogDepth; // fog depth
15
15
  varying vec4 frontColor; // color
@@ -6,11 +6,10 @@ uniform mat3 x3d_NormalMatrix;
6
6
  uniform mat4 x3d_ProjectionMatrix;
7
7
  uniform mat4 x3d_ModelViewMatrix;
8
8
 
9
- uniform bool x3d_ColorMaterial; // true if a X3DColorNode is attached, otherwise false
10
-
11
9
  uniform int x3d_NumLights;
12
10
  uniform x3d_LightSourceParameters x3d_LightSource [x3d_MaxLights];
13
11
  uniform x3d_MaterialParameters x3d_Material;
12
+ uniform bool x3d_ColorMaterial; // true if a X3DColorNode is attached, otherwise false
14
13
 
15
14
  attribute float x3d_FogDepth;
16
15
  attribute vec4 x3d_Color;
@@ -87,7 +86,7 @@ getMaterialColor (const in vec3 N,
87
86
  float specularFactor = material .shininess > 0.0 ? pow (max (dot (N, H), 0.0), material .shininess * 128.0) : 1.0;
88
87
  vec3 specularTerm = material .specularColor * specularFactor;
89
88
 
90
- float attenuationFactor = di ? 1.0 : 1.0 / max (c [0] + c [1] * dL + c [2] * (dL * dL), 1.0);
89
+ float attenuationFactor = di ? 1.0 : 1.0 / max (dot (c, vec3 (1.0, dL, dL * dL)), 1.0);
91
90
  float spotFactor = light .type == x3d_SpotLight ? getSpotFactor (light .cutOffAngle, light .beamWidth, L, d) : 1.0;
92
91
  float attenuationSpotFactor = attenuationFactor * spotFactor;
93
92
  vec3 ambientTerm = light .ambientIntensity * ambientColor;
@@ -10,14 +10,9 @@ uniform float x3d_AlphaCutoff;
10
10
  uniform x3d_LinePropertiesParameters x3d_LineProperties;
11
11
  uniform ivec4 x3d_Viewport;
12
12
 
13
- varying float fogDepth; // fog depth
14
- varying vec4 color; // color
15
- varying vec3 vertex; // point on geometry
16
-
17
- #ifdef X_ITE
18
- varying vec3 startPosition; // line stipple start
19
- varying vec3 vertexPosition; // current line stipple position
20
- #endif
13
+ varying float fogDepth; // fog depth
14
+ varying vec4 color; // color
15
+ varying vec3 vertex; // point on geometry
21
16
 
22
17
  #ifdef X3D_LOGARITHMIC_DEPTH_BUFFER
23
18
  uniform float x3d_LogarithmicFarFactor1_2;
@@ -27,31 +22,11 @@ varying float depth;
27
22
  #pragma X3D include "include/Fog.glsl"
28
23
  #pragma X3D include "include/ClipPlanes.glsl"
29
24
 
30
- #ifdef X_ITE
31
- void
32
- stipple ()
33
- {
34
- if (x3d_LineProperties .applied)
35
- {
36
- vec2 direction = (vertexPosition .xy - startPosition .xy) * vec2 (x3d_Viewport .zw) * 0.5;
37
- float distance = length (direction) / 16.0;
38
- float color = texture2D (x3d_LineProperties .linetype, vec2 (distance, distance)) .a;
39
-
40
- if (color == 0.0)
41
- discard;
42
- }
43
- }
44
- #endif
45
-
46
25
  void
47
26
  main ()
48
27
  {
49
28
  clip ();
50
29
 
51
- #ifdef X_ITE
52
- stipple ();
53
- #endif
54
-
55
30
  vec4 finalColor = vec4 (0.0);
56
31
 
57
32
  finalColor .rgb = getFogColor (color .rgb);