x_ite 4.7.12 → 5.0.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 (759) hide show
  1. package/.vscode/settings.json +9 -2
  2. package/Makefile +27 -24
  3. package/build/bin/version-number.pl +1 -1
  4. package/build/bin/version.pl +3 -3
  5. package/build/parts/default.start.frag.js +2 -2
  6. package/build/parts/x_ite.end.frag.js +1 -2
  7. package/build/parts/x_ite.start.frag.js +4 -7
  8. package/dist/assets/components/annotation.js +312 -312
  9. package/dist/assets/components/annotation.min.js +1 -1
  10. package/dist/assets/components/cad-geometry.js +536 -538
  11. package/dist/assets/components/cad-geometry.min.js +1 -1
  12. package/dist/assets/components/cube-map-texturing.js +797 -796
  13. package/dist/assets/components/cube-map-texturing.min.js +1 -1
  14. package/dist/assets/components/dis.js +487 -472
  15. package/dist/assets/components/dis.min.js +1 -1
  16. package/dist/assets/components/event-utilities.js +486 -505
  17. package/dist/assets/components/event-utilities.min.js +1 -1
  18. package/dist/assets/components/geometry2d.js +1221 -1271
  19. package/dist/assets/components/geometry2d.min.js +1 -1
  20. package/dist/assets/components/geospatial.js +2657 -2653
  21. package/dist/assets/components/geospatial.min.js +1 -2
  22. package/dist/assets/components/h-anim.js +640 -640
  23. package/dist/assets/components/h-anim.min.js +1 -1
  24. package/dist/assets/components/key-device-sensor.js +547 -549
  25. package/dist/assets/components/key-device-sensor.min.js +1 -1
  26. package/dist/assets/components/layout.js +1435 -1433
  27. package/dist/assets/components/layout.min.js +1 -1
  28. package/dist/assets/components/nurbs.js +3942 -3964
  29. package/dist/assets/components/nurbs.min.js +1 -2
  30. package/dist/assets/components/particle-systems.js +3227 -3238
  31. package/dist/assets/components/particle-systems.min.js +1 -2
  32. package/dist/assets/components/picking.js +1704 -1712
  33. package/dist/assets/components/picking.min.js +1 -1
  34. package/dist/assets/components/projective-texture-mapping.js +553 -553
  35. package/dist/assets/components/projective-texture-mapping.min.js +1 -1
  36. package/dist/assets/components/rigid-body-physics.js +3255 -3265
  37. package/dist/assets/components/rigid-body-physics.min.js +1 -59
  38. package/dist/assets/components/scripting.js +544 -549
  39. package/dist/assets/components/scripting.min.js +1 -1
  40. package/dist/assets/components/texturing-3d.js +2716 -2651
  41. package/dist/assets/components/texturing-3d.min.js +131 -48
  42. package/dist/assets/components/volume-rendering.js +2815 -2804
  43. package/dist/assets/components/volume-rendering.min.js +1 -3
  44. package/dist/assets/components/x_ite.js +142 -144
  45. package/dist/assets/components/x_ite.min.js +1 -1
  46. package/dist/assets/shaders/webgl1/Gouraud.fs +52 -15
  47. package/dist/assets/shaders/webgl1/Gouraud.vs +8 -9
  48. package/dist/assets/shaders/webgl1/{Wireframe.fs → Line.fs} +0 -0
  49. package/dist/assets/shaders/webgl1/{Wireframe.vs → Line.vs} +1 -1
  50. package/dist/assets/shaders/webgl1/PBR.fs +785 -0
  51. package/dist/assets/shaders/webgl1/PBR.vs +37 -0
  52. package/dist/assets/shaders/webgl1/Phong.fs +204 -32
  53. package/dist/assets/shaders/webgl1/Phong.vs +2 -3
  54. package/dist/assets/shaders/webgl1/{PointSet.fs → Point.fs} +59 -33
  55. package/dist/assets/shaders/webgl1/{PointSet.vs → Point.vs} +2 -2
  56. package/dist/assets/shaders/webgl1/Unlit.fs +73 -18
  57. package/dist/assets/shaders/webgl1/Unlit.vs +2 -3
  58. package/dist/assets/shaders/webgl2/Gouraud.fs +31 -19
  59. package/dist/assets/shaders/webgl2/Gouraud.vs +8 -9
  60. package/dist/assets/shaders/webgl2/{Wireframe.fs → Line.fs} +0 -0
  61. package/dist/assets/shaders/webgl2/{Wireframe.vs → Line.vs} +1 -1
  62. package/dist/assets/shaders/webgl2/PBR.fs +913 -0
  63. package/dist/assets/shaders/webgl2/PBR.vs +37 -0
  64. package/dist/assets/shaders/webgl2/Phong.fs +196 -35
  65. package/dist/assets/shaders/webgl2/Phong.vs +2 -3
  66. package/dist/assets/shaders/webgl2/{PointSet.fs → Point.fs} +87 -86
  67. package/dist/assets/shaders/webgl2/{PointSet.vs → Point.vs} +2 -2
  68. package/dist/assets/shaders/webgl2/Unlit.fs +55 -22
  69. package/dist/assets/shaders/webgl2/Unlit.vs +2 -3
  70. package/dist/example.html +2 -2
  71. package/dist/x_ite.css +316 -328
  72. package/dist/x_ite.js +55663 -52034
  73. package/dist/x_ite.min.js +79 -41
  74. package/dist/x_ite.zip +0 -0
  75. package/docs/Custom-Shaders.md +4 -3
  76. package/docs/_config.yml +1 -1
  77. package/docs/index.md +60 -7
  78. package/package.json +20 -20
  79. package/src/assets/components/annotation.js +24 -24
  80. package/src/assets/components/cad-geometry.js +24 -25
  81. package/src/assets/components/cube-map-texturing.js +18 -19
  82. package/src/assets/components/dis.js +22 -23
  83. package/src/assets/components/event-utilities.js +28 -29
  84. package/src/assets/components/geometry2d.js +28 -29
  85. package/src/assets/components/geospatial.js +34 -35
  86. package/src/assets/components/h-anim.js +22 -22
  87. package/src/assets/components/key-device-sensor.js +18 -19
  88. package/src/assets/components/layout.js +24 -25
  89. package/src/assets/components/nurbs.js +44 -45
  90. package/src/assets/components/particle-systems.js +36 -37
  91. package/src/assets/components/picking.js +25 -25
  92. package/src/assets/components/projective-texture-mapping.js +16 -16
  93. package/src/assets/components/rigid-body-physics.js +48 -48
  94. package/src/assets/components/scripting.js +14 -15
  95. package/src/assets/components/texturing-3d.js +26 -27
  96. package/src/assets/components/volume-rendering.js +46 -46
  97. package/src/assets/components/x_ite.js +12 -12
  98. package/src/assets/shaders/Types.glsl +230 -51
  99. package/src/assets/shaders/webgl1/Background.fs +2 -2
  100. package/src/assets/shaders/webgl1/Background.vs +4 -4
  101. package/src/assets/shaders/webgl1/Depth.fs +2 -2
  102. package/src/assets/shaders/webgl1/Depth.vs +3 -3
  103. package/src/assets/shaders/webgl1/Fallback.fs +15 -15
  104. package/src/assets/shaders/webgl1/Fallback.vs +5 -5
  105. package/src/assets/shaders/webgl1/FallbackUnlit.fs +4 -4
  106. package/src/assets/shaders/webgl1/FallbackUnlit.vs +3 -3
  107. package/src/assets/shaders/webgl1/Gouraud.fs +14 -14
  108. package/src/assets/shaders/webgl1/Gouraud.vs +54 -69
  109. package/src/assets/shaders/webgl1/Line.fs +74 -0
  110. package/src/assets/shaders/webgl1/Line.vs +63 -0
  111. package/src/assets/shaders/webgl1/PBR.fs +364 -0
  112. package/src/assets/shaders/webgl1/PBR.vs +46 -0
  113. package/src/assets/shaders/webgl1/Phong.fs +207 -84
  114. package/src/assets/shaders/webgl1/Phong.vs +17 -18
  115. package/src/assets/shaders/webgl1/Point.fs +88 -0
  116. package/src/assets/shaders/webgl1/Point.vs +70 -0
  117. package/src/assets/shaders/webgl1/Unlit.fs +53 -28
  118. package/src/assets/shaders/webgl1/Unlit.vs +17 -18
  119. package/src/assets/shaders/webgl1/include/ClipPlanes.glsl +7 -7
  120. package/src/assets/shaders/webgl1/include/Colors.glsl +27 -0
  121. package/src/assets/shaders/webgl1/include/Fog.glsl +17 -17
  122. package/src/assets/shaders/webgl1/include/Hatch.glsl +8 -8
  123. package/src/assets/shaders/webgl1/include/Normal.glsl +44 -0
  124. package/src/assets/shaders/webgl1/include/Pack.glsl +11 -11
  125. package/src/assets/shaders/webgl1/include/Perlin.glsl +19 -19
  126. package/src/assets/shaders/webgl1/include/Shadow.glsl +212 -212
  127. package/src/assets/shaders/webgl1/include/SpotFactor.glsl +12 -0
  128. package/src/assets/shaders/webgl1/include/Texture.glsl +444 -393
  129. package/src/assets/shaders/webgl2/Background.fs +2 -2
  130. package/src/assets/shaders/webgl2/Background.vs +4 -4
  131. package/src/assets/shaders/webgl2/Depth.fs +2 -2
  132. package/src/assets/shaders/webgl2/Depth.vs +3 -3
  133. package/src/assets/shaders/webgl2/Gouraud.fs +14 -14
  134. package/src/assets/shaders/webgl2/Gouraud.vs +54 -69
  135. package/src/assets/shaders/webgl2/Line.fs +73 -0
  136. package/src/assets/shaders/webgl2/Line.vs +64 -0
  137. package/src/assets/shaders/webgl2/PBR.fs +370 -0
  138. package/src/assets/shaders/webgl2/PBR.vs +48 -0
  139. package/src/assets/shaders/webgl2/Phong.fs +219 -84
  140. package/src/assets/shaders/webgl2/Phong.vs +17 -18
  141. package/src/assets/shaders/webgl2/Point.fs +87 -0
  142. package/src/assets/shaders/webgl2/Point.vs +71 -0
  143. package/src/assets/shaders/webgl2/Unlit.fs +56 -28
  144. package/src/assets/shaders/webgl2/Unlit.vs +17 -18
  145. package/src/assets/shaders/webgl2/include/ClipPlanes.glsl +7 -7
  146. package/src/assets/shaders/webgl2/include/Colors.glsl +27 -0
  147. package/src/assets/shaders/webgl2/include/Fog.glsl +34 -34
  148. package/src/assets/shaders/webgl2/include/Hatch.glsl +8 -8
  149. package/src/assets/shaders/webgl2/include/Normal.glsl +46 -0
  150. package/src/assets/shaders/webgl2/include/Pack.glsl +11 -11
  151. package/src/assets/shaders/webgl2/include/Perlin.glsl +19 -20
  152. package/src/assets/shaders/webgl2/include/Shadow.glsl +226 -226
  153. package/src/assets/shaders/webgl2/include/SpotFactor.glsl +12 -0
  154. package/src/assets/shaders/webgl2/include/Texture.glsl +557 -537
  155. package/src/bookmarks.js +92 -92
  156. package/src/examples.js +147 -147
  157. package/src/lib/ammojs/AmmoJS.js +2 -2
  158. package/src/lib/ammojs/Makefile +14 -15
  159. package/src/lib/jquery.fullscreen-min.js +2 -2
  160. package/src/lib/nurbs/extras/sample.js +215 -215
  161. package/src/lib/nurbs/nurbs.js +326 -326
  162. package/src/lib/nurbs/src/evaluate.js +405 -405
  163. package/src/lib/nurbs/src/numerical-derivative.js +48 -48
  164. package/src/lib/nurbs/src/support.js +143 -143
  165. package/src/lib/nurbs/src/transform.js +70 -70
  166. package/src/lib/nurbs/src/utils/accessor-preamble.js +23 -23
  167. package/src/lib/nurbs/src/utils/bisection-search.js +18 -18
  168. package/src/lib/nurbs/src/utils/cache-key.js +49 -50
  169. package/src/lib/nurbs/src/utils/create-accessors.js +101 -101
  170. package/src/lib/nurbs/src/utils/infer-type.js +43 -43
  171. package/src/lib/nurbs/src/utils/is-array-like.js +5 -5
  172. package/src/lib/nurbs/src/utils/is-ndarray-like.js +11 -11
  173. package/src/lib/nurbs/src/utils/is-ndarray.js +13 -13
  174. package/src/lib/nurbs/src/utils/ndloop.js +18 -18
  175. package/src/lib/nurbs/src/utils/size-getter.js +15 -15
  176. package/src/lib/nurbs/src/utils/variable.js +25 -25
  177. package/src/lib/opentype.js/bin/ot +27 -27
  178. package/src/lib/opentype.js/dist/opentype.js +5 -5
  179. package/src/lib/opentype.js/font-inspector.html +1 -1
  180. package/src/lib/opentype.js/site.css +1 -3
  181. package/src/locale/gettext.js +73 -73
  182. package/src/spinner.css +40 -43
  183. package/src/standard/Geospatial/Geodetic.js +195 -195
  184. package/src/standard/Geospatial/ReferenceEllipsoids.js +43 -43
  185. package/src/standard/Geospatial/UniversalTransverseMercator.js +159 -159
  186. package/src/standard/Math/Algorithm.js +199 -187
  187. package/src/standard/Math/Algorithms/Bezier.js +80 -80
  188. package/src/standard/Math/Algorithms/MergeSort.js +49 -49
  189. package/src/standard/Math/Algorithms/PartialSort.js +36 -36
  190. package/src/standard/Math/Algorithms/QuickSort.js +51 -51
  191. package/src/standard/Math/Algorithms/SAT.js +62 -62
  192. package/src/standard/Math/Algorithms/eigendecomposition.js +141 -141
  193. package/src/standard/Math/Geometry/Box2.js +205 -205
  194. package/src/standard/Math/Geometry/Box3.js +624 -624
  195. package/src/standard/Math/Geometry/Camera.js +68 -68
  196. package/src/standard/Math/Geometry/Cylinder3.js +112 -112
  197. package/src/standard/Math/Geometry/Line3.js +188 -153
  198. package/src/standard/Math/Geometry/Plane3.js +120 -120
  199. package/src/standard/Math/Geometry/Sphere3.js +148 -148
  200. package/src/standard/Math/Geometry/Spheroid3.js +38 -38
  201. package/src/standard/Math/Geometry/Triangle2.js +19 -19
  202. package/src/standard/Math/Geometry/Triangle3.js +148 -148
  203. package/src/standard/Math/Geometry/ViewVolume.js +359 -359
  204. package/src/standard/Math/Numbers/Color3.js +219 -214
  205. package/src/standard/Math/Numbers/Color4.js +148 -142
  206. package/src/standard/Math/Numbers/Complex.js +139 -139
  207. package/src/standard/Math/Numbers/Matrix2.js +193 -193
  208. package/src/standard/Math/Numbers/Matrix3.js +679 -679
  209. package/src/standard/Math/Numbers/Matrix4.js +883 -883
  210. package/src/standard/Math/Numbers/Quaternion.js +496 -496
  211. package/src/standard/Math/Numbers/Rotation4.js +421 -415
  212. package/src/standard/Math/Numbers/Vector2.js +220 -220
  213. package/src/standard/Math/Numbers/Vector3.js +280 -280
  214. package/src/standard/Math/Numbers/Vector4.js +296 -296
  215. package/src/standard/Math/Utility/BVH.js +303 -303
  216. package/src/standard/Math/Utility/MatrixStack.js +64 -64
  217. package/src/standard/Networking/BinaryTransport.js +67 -67
  218. package/src/standard/Time/MicroTime.js +22 -22
  219. package/src/standard/Utility/DataStorage.js +85 -81
  220. package/src/standard/Utility/MapUtilities.js +14 -1
  221. package/src/standard/Utility/ObjectCache.js +24 -24
  222. package/src/standard/Utility/Shuffle.js +13 -13
  223. package/src/tests.js +355 -384
  224. package/src/x_ite/Base/Events.js +64 -55
  225. package/src/x_ite/{Basic/X3DArrayField.js → Base/FieldArray.js} +19 -12
  226. package/src/x_ite/Base/FieldDefinitionArray.js +75 -0
  227. package/src/x_ite/{Basic/FieldDefinitionArray.js → Base/X3DArrayField.js} +35 -59
  228. package/src/x_ite/Base/X3DBaseNode.js +588 -0
  229. package/src/x_ite/{Bits → Base}/X3DCast.js +23 -22
  230. package/src/x_ite/Base/X3DChildObject.js +68 -62
  231. package/src/x_ite/{Bits → Base}/X3DConstants.js +85 -85
  232. package/src/x_ite/Base/X3DEventObject.js +73 -68
  233. package/src/x_ite/Base/X3DField.js +450 -0
  234. package/src/x_ite/Base/X3DFieldDefinition.js +78 -0
  235. package/src/x_ite/Base/X3DInfoArray.js +291 -0
  236. package/src/x_ite/Base/X3DObject.js +152 -109
  237. package/src/x_ite/Base/X3DObjectArrayField.js +573 -0
  238. package/src/x_ite/Base/X3DTypedArrayField.js +866 -0
  239. package/src/x_ite/Browser/Core/BrowserOptions.js +376 -394
  240. package/src/x_ite/Browser/Core/BrowserProperties.js +38 -38
  241. package/src/x_ite/Browser/Core/BrowserTimings.js +173 -172
  242. package/src/x_ite/Browser/Core/ContextMenu.js +547 -551
  243. package/src/x_ite/Browser/Core/Notification.js +57 -56
  244. package/src/x_ite/Browser/Core/PrimitiveQuality.js +8 -8
  245. package/src/x_ite/Browser/Core/RenderingProperties.js +55 -55
  246. package/src/x_ite/Browser/Core/Shading.js +10 -10
  247. package/src/x_ite/Browser/Core/TextureQuality.js +8 -8
  248. package/src/x_ite/Browser/Core/X3DCoreContext.js +746 -724
  249. package/src/x_ite/Browser/EnvironmentalEffects/X3DEnvironmentalEffectsContext.js +33 -25
  250. package/src/x_ite/Browser/Followers/X3DArrayChaserTemplate.js +23 -23
  251. package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +127 -127
  252. package/src/x_ite/Browser/Geometry2D/Arc2DOptions.js +25 -25
  253. package/src/x_ite/Browser/Geometry2D/ArcClose2DOptions.js +25 -25
  254. package/src/x_ite/Browser/Geometry2D/Circle2DOptions.js +56 -55
  255. package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +116 -116
  256. package/src/x_ite/Browser/Geometry2D/Rectangle2DOptions.js +59 -59
  257. package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +80 -77
  258. package/src/x_ite/Browser/Geometry3D/BoxOptions.js +70 -70
  259. package/src/x_ite/Browser/Geometry3D/ConeOptions.js +26 -26
  260. package/src/x_ite/Browser/Geometry3D/CylinderOptions.js +27 -27
  261. package/src/x_ite/Browser/Geometry3D/IcoSphere.js +357 -357
  262. package/src/x_ite/Browser/Geometry3D/IcoSphereOptions.js +61 -61
  263. package/src/x_ite/Browser/Geometry3D/QuadSphereOptions.js +243 -241
  264. package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +37 -34
  265. package/src/x_ite/Browser/Geospatial/Geocentric.js +27 -27
  266. package/src/x_ite/Browser/Geospatial/Geospatial.js +157 -156
  267. package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +38 -33
  268. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator.js +128 -130
  269. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator1.js +39 -41
  270. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator2.js +3 -3
  271. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator3.js +3 -3
  272. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +54 -56
  273. package/src/x_ite/Browser/Interpolation/SquatInterpolator.js +54 -56
  274. package/src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js +44 -41
  275. package/src/x_ite/Browser/Layering/X3DLayeringContext.js +20 -18
  276. package/src/x_ite/Browser/Layout/ScreenText.js +406 -405
  277. package/src/x_ite/Browser/Layout/X3DLayoutContext.js +36 -30
  278. package/src/x_ite/Browser/Lighting/X3DLightingContext.js +54 -50
  279. package/src/x_ite/Browser/NURBS/NURBS.js +417 -417
  280. package/src/x_ite/Browser/Navigation/ExamineViewer.js +753 -753
  281. package/src/x_ite/Browser/Navigation/FlyViewer.js +39 -39
  282. package/src/x_ite/Browser/Navigation/LookAtViewer.js +461 -461
  283. package/src/x_ite/Browser/Navigation/NoneViewer.js +18 -18
  284. package/src/x_ite/Browser/Navigation/PlaneViewer.js +193 -193
  285. package/src/x_ite/Browser/Navigation/WalkViewer.js +61 -61
  286. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +709 -710
  287. package/src/x_ite/Browser/Navigation/X3DNavigationContext.js +188 -182
  288. package/src/x_ite/Browser/Navigation/X3DViewer.js +160 -160
  289. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +152 -143
  290. package/src/x_ite/Browser/Networking/urls.js +31 -31
  291. package/src/x_ite/Browser/ParticleSystems/X3DParticleSystemsContext.js +17 -13
  292. package/src/x_ite/Browser/Picking/IntersectionType.js +7 -7
  293. package/src/x_ite/Browser/Picking/MatchCriterion.js +8 -8
  294. package/src/x_ite/Browser/Picking/SortOrder.js +9 -9
  295. package/src/x_ite/Browser/Picking/VolumePicker.js +138 -138
  296. package/src/x_ite/Browser/Picking/X3DPickingContext.js +80 -69
  297. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +208 -209
  298. package/src/x_ite/Browser/PointingDeviceSensor/PointingDeviceSensorContainer.js +34 -34
  299. package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +269 -263
  300. package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +132 -119
  301. package/src/x_ite/Browser/RigidBodyPhysics/AppliedParametersType.js +14 -14
  302. package/src/x_ite/Browser/Scripting/X3DScriptingContext.js +20 -19
  303. package/src/x_ite/Browser/Scripting/evaluate.js +7 -7
  304. package/src/x_ite/Browser/Shaders/Shader.js +152 -159
  305. package/src/x_ite/Browser/Shaders/ShaderSource.js +81 -63
  306. package/src/x_ite/Browser/Shaders/ShaderTest.js +97 -98
  307. package/src/x_ite/Browser/Shaders/X3DShadersContext.js +256 -249
  308. package/src/x_ite/Browser/Shape/AlphaMode.js +9 -9
  309. package/src/x_ite/Browser/Shape/X3DShapeContext.js +111 -89
  310. package/src/x_ite/Browser/Sound/X3DSoundContext.js +11 -11
  311. package/src/x_ite/Browser/Text/PolygonText.js +319 -319
  312. package/src/x_ite/Browser/Text/TextAlignment.js +9 -9
  313. package/src/x_ite/Browser/Text/X3DTextContext.js +72 -65
  314. package/src/x_ite/Browser/Text/X3DTextGeometry.js +506 -506
  315. package/src/x_ite/Browser/Texturing/MultiTextureFunctionType.js +8 -8
  316. package/src/x_ite/Browser/Texturing/MultiTextureModeType.js +25 -25
  317. package/src/x_ite/Browser/Texturing/MultiTextureSourceType.js +9 -9
  318. package/src/x_ite/Browser/Texturing/TextureCoordinateGeneratorModeType.js +17 -17
  319. package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +259 -224
  320. package/src/x_ite/Browser/Texturing3D/DICOMParser.js +1066 -1066
  321. package/src/x_ite/Browser/Texturing3D/NRRDParser.js +641 -630
  322. package/src/x_ite/Browser/Time/X3DTimeContext.js +54 -37
  323. package/src/x_ite/Browser/VERSION.js +1 -1
  324. package/src/x_ite/Browser/VolumeRendering/VolumeStyle.fs +55 -55
  325. package/src/x_ite/Browser/VolumeRendering/VolumeStyle.vs +5 -5
  326. package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +52 -41
  327. package/src/x_ite/Browser/X3DBrowser.js +819 -755
  328. package/src/x_ite/Browser/X3DBrowserContext.js +253 -220
  329. package/src/x_ite/Components/Annotation/AnnotationLayer.js +43 -43
  330. package/src/x_ite/Components/Annotation/AnnotationTarget.js +38 -38
  331. package/src/x_ite/Components/Annotation/GroupAnnotation.js +48 -48
  332. package/src/x_ite/Components/Annotation/IconAnnotation.js +46 -46
  333. package/src/x_ite/Components/Annotation/TextAnnotation.js +39 -39
  334. package/src/x_ite/Components/Annotation/URLAnnotation.js +38 -38
  335. package/src/x_ite/Components/Annotation/X3DAnnotationNode.js +16 -16
  336. package/src/x_ite/Components/CADGeometry/CADAssembly.js +41 -41
  337. package/src/x_ite/Components/CADGeometry/CADFace.js +189 -189
  338. package/src/x_ite/Components/CADGeometry/CADLayer.js +38 -38
  339. package/src/x_ite/Components/CADGeometry/CADPart.js +46 -46
  340. package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +67 -67
  341. package/src/x_ite/Components/CADGeometry/QuadSet.js +64 -63
  342. package/src/x_ite/Components/CADGeometry/X3DProductStructureChildNode.js +13 -15
  343. package/src/x_ite/Components/Core/MetadataBoolean.js +38 -40
  344. package/src/x_ite/Components/Core/MetadataDouble.js +38 -40
  345. package/src/x_ite/Components/Core/MetadataFloat.js +38 -40
  346. package/src/x_ite/Components/Core/MetadataInteger.js +38 -40
  347. package/src/x_ite/Components/Core/MetadataSet.js +38 -40
  348. package/src/x_ite/Components/Core/MetadataString.js +38 -40
  349. package/src/x_ite/Components/Core/WorldInfo.js +42 -42
  350. package/src/x_ite/Components/Core/X3DBindableNode.js +20 -20
  351. package/src/x_ite/Components/Core/X3DChildNode.js +38 -40
  352. package/src/x_ite/Components/Core/X3DInfoNode.js +13 -15
  353. package/src/x_ite/Components/Core/X3DMetadataObject.js +11 -13
  354. package/src/x_ite/Components/Core/X3DNode.js +795 -14
  355. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +585 -479
  356. package/src/x_ite/Components/Core/X3DSensorNode.js +13 -15
  357. package/src/x_ite/Components/Core.js +39 -39
  358. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +193 -200
  359. package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +209 -206
  360. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +213 -219
  361. package/src/x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode.js +69 -60
  362. package/src/x_ite/Components/DIS/DISEntityManager.js +38 -40
  363. package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +59 -41
  364. package/src/x_ite/Components/DIS/EspduTransform.js +128 -128
  365. package/src/x_ite/Components/DIS/ReceiverPdu.js +68 -68
  366. package/src/x_ite/Components/DIS/SignalPdu.js +68 -68
  367. package/src/x_ite/Components/DIS/TransmitterPdu.js +84 -84
  368. package/src/x_ite/Components/EnvironmentalEffects/Background.js +87 -89
  369. package/src/x_ite/Components/EnvironmentalEffects/Fog.js +59 -59
  370. package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +78 -78
  371. package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +56 -56
  372. package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +86 -88
  373. package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +582 -589
  374. package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +105 -105
  375. package/src/x_ite/Components/EnvironmentalEffects.js +25 -25
  376. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +229 -229
  377. package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +256 -256
  378. package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +114 -114
  379. package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +71 -71
  380. package/src/x_ite/Components/EnvironmentalSensor.js +19 -19
  381. package/src/x_ite/Components/EventUtilities/BooleanFilter.js +50 -52
  382. package/src/x_ite/Components/EventUtilities/BooleanSequencer.js +50 -52
  383. package/src/x_ite/Components/EventUtilities/BooleanToggle.js +43 -45
  384. package/src/x_ite/Components/EventUtilities/BooleanTrigger.js +42 -44
  385. package/src/x_ite/Components/EventUtilities/IntegerSequencer.js +50 -52
  386. package/src/x_ite/Components/EventUtilities/IntegerTrigger.js +43 -45
  387. package/src/x_ite/Components/EventUtilities/TimeTrigger.js +43 -45
  388. package/src/x_ite/Components/EventUtilities/X3DSequencerNode.js +92 -94
  389. package/src/x_ite/Components/EventUtilities/X3DTriggerNode.js +13 -15
  390. package/src/x_ite/Components/Followers/ColorChaser.js +78 -78
  391. package/src/x_ite/Components/Followers/ColorDamper.js +78 -78
  392. package/src/x_ite/Components/Followers/CoordinateChaser.js +46 -46
  393. package/src/x_ite/Components/Followers/CoordinateDamper.js +48 -48
  394. package/src/x_ite/Components/Followers/OrientationChaser.js +64 -64
  395. package/src/x_ite/Components/Followers/OrientationDamper.js +61 -61
  396. package/src/x_ite/Components/Followers/PositionChaser.js +42 -42
  397. package/src/x_ite/Components/Followers/PositionChaser2D.js +42 -42
  398. package/src/x_ite/Components/Followers/PositionDamper.js +44 -44
  399. package/src/x_ite/Components/Followers/PositionDamper2D.js +44 -44
  400. package/src/x_ite/Components/Followers/ScalarChaser.js +70 -70
  401. package/src/x_ite/Components/Followers/ScalarDamper.js +60 -60
  402. package/src/x_ite/Components/Followers/TexCoordChaser2D.js +46 -46
  403. package/src/x_ite/Components/Followers/TexCoordDamper2D.js +48 -48
  404. package/src/x_ite/Components/Followers/X3DChaserNode.js +194 -194
  405. package/src/x_ite/Components/Followers/X3DDamperNode.js +120 -120
  406. package/src/x_ite/Components/Followers/X3DFollowerNode.js +83 -83
  407. package/src/x_ite/Components/Followers.js +45 -45
  408. package/src/x_ite/Components/Geometry2D/Arc2D.js +99 -113
  409. package/src/x_ite/Components/Geometry2D/ArcClose2D.js +164 -166
  410. package/src/x_ite/Components/Geometry2D/Circle2D.js +59 -67
  411. package/src/x_ite/Components/Geometry2D/Disk2D.js +207 -211
  412. package/src/x_ite/Components/Geometry2D/Polyline2D.js +43 -52
  413. package/src/x_ite/Components/Geometry2D/Polypoint2D.js +43 -60
  414. package/src/x_ite/Components/Geometry2D/Rectangle2D.js +76 -73
  415. package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +69 -71
  416. package/src/x_ite/Components/Geometry3D/Box.js +90 -86
  417. package/src/x_ite/Components/Geometry3D/Cone.js +185 -187
  418. package/src/x_ite/Components/Geometry3D/Cylinder.js +246 -246
  419. package/src/x_ite/Components/Geometry3D/ElevationGrid.js +383 -384
  420. package/src/x_ite/Components/Geometry3D/Extrusion.js +653 -647
  421. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +437 -445
  422. package/src/x_ite/Components/Geometry3D/Sphere.js +72 -74
  423. package/src/x_ite/Components/Geometry3D.js +25 -25
  424. package/src/x_ite/Components/Geospatial/GeoCoordinate.js +189 -191
  425. package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +381 -383
  426. package/src/x_ite/Components/Geospatial/GeoLOD.js +397 -397
  427. package/src/x_ite/Components/Geospatial/GeoLocation.js +56 -56
  428. package/src/x_ite/Components/Geospatial/GeoMetadata.js +54 -36
  429. package/src/x_ite/Components/Geospatial/GeoOrigin.js +50 -52
  430. package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +81 -83
  431. package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +95 -97
  432. package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +77 -79
  433. package/src/x_ite/Components/Geospatial/GeoTransform.js +79 -79
  434. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +278 -278
  435. package/src/x_ite/Components/Geospatial/X3DGeospatialObject.js +216 -218
  436. package/src/x_ite/Components/Grouping/Group.js +37 -37
  437. package/src/x_ite/Components/Grouping/StaticGroup.js +245 -245
  438. package/src/x_ite/Components/Grouping/Switch.js +234 -234
  439. package/src/x_ite/Components/Grouping/Transform.js +42 -42
  440. package/src/x_ite/Components/Grouping/X3DBoundedObject.js +93 -93
  441. package/src/x_ite/Components/Grouping/X3DGroupingNode.js +654 -649
  442. package/src/x_ite/Components/Grouping/X3DTransformMatrix3DNode.js +99 -99
  443. package/src/x_ite/Components/Grouping/X3DTransformNode.js +31 -31
  444. package/src/x_ite/Components/Grouping.js +27 -27
  445. package/src/x_ite/Components/HAnim/HAnimDisplacer.js +35 -35
  446. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +293 -293
  447. package/src/x_ite/Components/HAnim/HAnimJoint.js +137 -137
  448. package/src/x_ite/Components/HAnim/HAnimMotion.js +50 -50
  449. package/src/x_ite/Components/HAnim/HAnimSegment.js +44 -44
  450. package/src/x_ite/Components/HAnim/HAnimSite.js +43 -43
  451. package/src/x_ite/Components/Interpolation/ColorInterpolator.js +61 -63
  452. package/src/x_ite/Components/Interpolation/CoordinateInterpolator.js +60 -62
  453. package/src/x_ite/Components/Interpolation/CoordinateInterpolator2D.js +57 -59
  454. package/src/x_ite/Components/Interpolation/EaseInEaseOut.js +79 -80
  455. package/src/x_ite/Components/Interpolation/NormalInterpolator.js +96 -93
  456. package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +70 -70
  457. package/src/x_ite/Components/Interpolation/PositionInterpolator.js +57 -59
  458. package/src/x_ite/Components/Interpolation/PositionInterpolator2D.js +57 -59
  459. package/src/x_ite/Components/Interpolation/ScalarInterpolator.js +53 -55
  460. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator.js +78 -80
  461. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator2D.js +77 -79
  462. package/src/x_ite/Components/Interpolation/SplineScalarInterpolator.js +78 -80
  463. package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +66 -66
  464. package/src/x_ite/Components/Interpolation/X3DInterpolatorNode.js +67 -69
  465. package/src/x_ite/Components/Interpolation.js +39 -39
  466. package/src/x_ite/Components/KeyDeviceSensor/KeySensor.js +304 -306
  467. package/src/x_ite/Components/KeyDeviceSensor/StringSensor.js +102 -104
  468. package/src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js +51 -51
  469. package/src/x_ite/Components/Layering/Layer.js +50 -50
  470. package/src/x_ite/Components/Layering/LayerSet.js +160 -161
  471. package/src/x_ite/Components/Layering/Viewport.js +118 -118
  472. package/src/x_ite/Components/Layering/X3DLayerNode.js +322 -322
  473. package/src/x_ite/Components/Layering/X3DViewportNode.js +13 -13
  474. package/src/x_ite/Components/Layering.js +21 -21
  475. package/src/x_ite/Components/Layout/Layout.js +576 -578
  476. package/src/x_ite/Components/Layout/LayoutGroup.js +126 -126
  477. package/src/x_ite/Components/Layout/LayoutLayer.js +53 -53
  478. package/src/x_ite/Components/Layout/ScreenFontStyle.js +48 -48
  479. package/src/x_ite/Components/Layout/ScreenGroup.js +136 -136
  480. package/src/x_ite/Components/Layout/X3DLayoutNode.js +12 -14
  481. package/src/x_ite/Components/Lighting/DirectionalLight.js +239 -246
  482. package/src/x_ite/Components/Lighting/PointLight.js +296 -303
  483. package/src/x_ite/Components/Lighting/SpotLight.js +321 -316
  484. package/src/x_ite/Components/Lighting/X3DLightNode.js +153 -153
  485. package/src/x_ite/Components/Lighting.js +19 -19
  486. package/src/x_ite/Components/NURBS/Contour2D.js +81 -83
  487. package/src/x_ite/Components/NURBS/ContourPolyline2D.js +100 -102
  488. package/src/x_ite/Components/NURBS/CoordinateDouble.js +32 -34
  489. package/src/x_ite/Components/NURBS/NurbsCurve.js +167 -169
  490. package/src/x_ite/Components/NURBS/NurbsCurve2D.js +149 -149
  491. package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +166 -166
  492. package/src/x_ite/Components/NURBS/NurbsPatchSurface.js +45 -47
  493. package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +154 -154
  494. package/src/x_ite/Components/NURBS/NurbsSet.js +125 -125
  495. package/src/x_ite/Components/NURBS/NurbsSurfaceInterpolator.js +128 -130
  496. package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +120 -122
  497. package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +120 -122
  498. package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +93 -93
  499. package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +88 -90
  500. package/src/x_ite/Components/NURBS/X3DNurbsControlCurveNode.js +13 -15
  501. package/src/x_ite/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +339 -339
  502. package/src/x_ite/Components/NURBS/X3DParametricGeometryNode.js +18 -20
  503. package/src/x_ite/Components/Navigation/Billboard.js +132 -132
  504. package/src/x_ite/Components/Navigation/Collision.js +116 -116
  505. package/src/x_ite/Components/Navigation/LOD.js +308 -308
  506. package/src/x_ite/Components/Navigation/NavigationInfo.js +279 -285
  507. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +258 -258
  508. package/src/x_ite/Components/Navigation/Viewpoint.js +137 -137
  509. package/src/x_ite/Components/Navigation/ViewpointGroup.js +169 -171
  510. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +450 -453
  511. package/src/x_ite/Components/Navigation.js +27 -27
  512. package/src/x_ite/Components/Networking/Anchor.js +140 -128
  513. package/src/x_ite/Components/Networking/Inline.js +156 -197
  514. package/src/x_ite/Components/Networking/LoadSensor.js +193 -195
  515. package/src/x_ite/Components/Networking/X3DNetworkSensorNode.js +13 -15
  516. package/src/x_ite/Components/Networking/X3DUrlObject.js +170 -116
  517. package/src/x_ite/Components/Networking.js +21 -21
  518. package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +62 -64
  519. package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +81 -83
  520. package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +59 -61
  521. package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +42 -44
  522. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +1433 -1433
  523. package/src/x_ite/Components/ParticleSystems/PointEmitter.js +77 -79
  524. package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +196 -196
  525. package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +195 -195
  526. package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +250 -250
  527. package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +69 -71
  528. package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +346 -346
  529. package/src/x_ite/Components/ParticleSystems/X3DParticlePhysicsModelNode.js +15 -17
  530. package/src/x_ite/Components/Picking/LinePickSensor.js +284 -286
  531. package/src/x_ite/Components/Picking/PickableGroup.js +155 -155
  532. package/src/x_ite/Components/Picking/PointPickSensor.js +272 -272
  533. package/src/x_ite/Components/Picking/PrimitivePickSensor.js +207 -209
  534. package/src/x_ite/Components/Picking/VolumePickSensor.js +182 -184
  535. package/src/x_ite/Components/Picking/X3DPickSensorNode.js +382 -382
  536. package/src/x_ite/Components/Picking/X3DPickableObject.js +28 -30
  537. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +257 -259
  538. package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +245 -247
  539. package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +173 -175
  540. package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +61 -63
  541. package/src/x_ite/Components/PointingDeviceSensor/X3DDragSensorNode.js +14 -16
  542. package/src/x_ite/Components/PointingDeviceSensor/X3DPointingDeviceSensorNode.js +57 -59
  543. package/src/x_ite/Components/PointingDeviceSensor/X3DTouchSensorNode.js +19 -21
  544. package/src/x_ite/Components/PointingDeviceSensor.js +25 -25
  545. package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorParallel.js +191 -191
  546. package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorPerspective.js +162 -162
  547. package/src/x_ite/Components/ProjectiveTextureMapping/X3DTextureProjectorNode.js +156 -156
  548. package/src/x_ite/Components/Rendering/ClipPlane.js +120 -120
  549. package/src/x_ite/Components/Rendering/Color.js +112 -112
  550. package/src/x_ite/Components/Rendering/ColorRGBA.js +114 -114
  551. package/src/x_ite/Components/Rendering/Coordinate.js +33 -35
  552. package/src/x_ite/Components/Rendering/IndexedLineSet.js +236 -243
  553. package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +102 -102
  554. package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +55 -55
  555. package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +110 -110
  556. package/src/x_ite/Components/Rendering/LineSet.js +172 -179
  557. package/src/x_ite/Components/Rendering/Normal.js +100 -100
  558. package/src/x_ite/Components/Rendering/PointSet.js +142 -154
  559. package/src/x_ite/Components/Rendering/TriangleFanSet.js +73 -73
  560. package/src/x_ite/Components/Rendering/TriangleSet.js +51 -53
  561. package/src/x_ite/Components/Rendering/TriangleStripSet.js +76 -76
  562. package/src/x_ite/Components/Rendering/X3DColorNode.js +25 -27
  563. package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +318 -321
  564. package/src/x_ite/Components/Rendering/X3DCoordinateNode.js +132 -132
  565. package/src/x_ite/Components/Rendering/X3DGeometricPropertyNode.js +13 -15
  566. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +1190 -1171
  567. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +231 -189
  568. package/src/x_ite/Components/Rendering/X3DNormalNode.js +13 -15
  569. package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +267 -0
  570. package/src/x_ite/Components/Rendering.js +53 -53
  571. package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +149 -149
  572. package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +229 -229
  573. package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +465 -465
  574. package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +152 -154
  575. package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +223 -223
  576. package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +117 -117
  577. package/src/x_ite/Components/RigidBodyPhysics/Contact.js +54 -56
  578. package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +245 -245
  579. package/src/x_ite/Components/RigidBodyPhysics/MotorJoint.js +68 -70
  580. package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +453 -453
  581. package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +326 -326
  582. package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +171 -171
  583. package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +169 -169
  584. package/src/x_ite/Components/RigidBodyPhysics/UniversalJoint.js +50 -52
  585. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode.js +101 -101
  586. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollisionSpaceNode.js +15 -15
  587. package/src/x_ite/Components/RigidBodyPhysics/X3DRigidJointNode.js +161 -163
  588. package/src/x_ite/Components/Scripting/Script.js +506 -510
  589. package/src/x_ite/Components/Scripting/X3DScriptNode.js +15 -15
  590. package/src/x_ite/Components/Shaders/ComposedShader.js +215 -178
  591. package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +84 -83
  592. package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +74 -74
  593. package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +73 -73
  594. package/src/x_ite/Components/Shaders/PackagedShader.js +52 -49
  595. package/src/x_ite/Components/Shaders/ProgramShader.js +36 -38
  596. package/src/x_ite/Components/Shaders/ShaderPart.js +135 -147
  597. package/src/x_ite/Components/Shaders/ShaderProgram.js +49 -46
  598. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +1259 -1255
  599. package/src/x_ite/Components/Shaders/X3DShaderNode.js +83 -93
  600. package/src/x_ite/Components/Shaders/X3DVertexAttributeNode.js +13 -15
  601. package/src/x_ite/Components/Shaders.js +33 -33
  602. package/src/x_ite/{Execution/ExportedNode.js → Components/Shape/AcousticProperties.js} +41 -71
  603. package/src/x_ite/Components/Shape/Appearance.js +331 -318
  604. package/src/x_ite/Components/Shape/FillProperties.js +101 -98
  605. package/src/x_ite/Components/Shape/LineProperties.js +71 -69
  606. package/src/x_ite/Components/Shape/Material.js +344 -116
  607. package/src/x_ite/Components/Shape/PhysicalMaterial.js +310 -0
  608. package/src/x_ite/Components/Shape/PointProperties.js +79 -95
  609. package/src/x_ite/Components/Shape/Shape.js +178 -181
  610. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +200 -200
  611. package/src/x_ite/Components/Shape/UnlitMaterial.js +93 -46
  612. package/src/x_ite/Components/Shape/X3DAppearanceChildNode.js +13 -15
  613. package/src/x_ite/Components/Shape/X3DAppearanceNode.js +24 -24
  614. package/src/x_ite/Components/Shape/X3DMaterialNode.js +24 -24
  615. package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +158 -54
  616. package/src/x_ite/Components/Shape/X3DShapeNode.js +147 -147
  617. package/src/x_ite/Components/Shape.js +43 -37
  618. package/src/x_ite/Components/Sound/AudioClip.js +135 -140
  619. package/src/x_ite/Components/Sound/Sound.js +246 -246
  620. package/src/x_ite/Components/Sound/X3DSoundNode.js +13 -15
  621. package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +165 -179
  622. package/src/x_ite/Components/Sound.js +19 -19
  623. package/src/x_ite/Components/Text/FontStyle.js +49 -49
  624. package/src/x_ite/Components/Text/Text.js +135 -135
  625. package/src/x_ite/Components/Text/X3DFontStyleNode.js +207 -205
  626. package/src/x_ite/Components/Text.js +17 -17
  627. package/src/x_ite/Components/Texturing/ImageTexture.js +181 -194
  628. package/src/x_ite/Components/Texturing/MovieTexture.js +180 -190
  629. package/src/x_ite/Components/Texturing/MultiTexture.js +255 -262
  630. package/src/x_ite/Components/Texturing/MultiTextureCoordinate.js +124 -118
  631. package/src/x_ite/Components/Texturing/MultiTextureTransform.js +82 -76
  632. package/src/x_ite/Components/Texturing/PixelTexture.js +222 -221
  633. package/src/x_ite/Components/Texturing/TextureCoordinate.js +116 -116
  634. package/src/x_ite/Components/Texturing/TextureCoordinateGenerator.js +90 -90
  635. package/src/x_ite/Components/Texturing/TextureProperties.js +158 -160
  636. package/src/x_ite/Components/Texturing/TextureTransform.js +99 -99
  637. package/src/x_ite/Components/Texturing/X3DSingleTextureCoordinateNode.js +33 -28
  638. package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +54 -54
  639. package/src/x_ite/Components/Texturing/X3DSingleTextureTransformNode.js +22 -17
  640. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +135 -124
  641. package/src/x_ite/Components/Texturing/X3DTextureCoordinateNode.js +16 -16
  642. package/src/x_ite/Components/Texturing/X3DTextureNode.js +24 -24
  643. package/src/x_ite/Components/Texturing/X3DTextureTransformNode.js +22 -22
  644. package/src/x_ite/Components/Texturing.js +45 -45
  645. package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +125 -123
  646. package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +115 -131
  647. package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +158 -160
  648. package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +116 -116
  649. package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +116 -116
  650. package/src/x_ite/Components/Texturing3D/TextureTransform3D.js +88 -88
  651. package/src/x_ite/Components/Texturing3D/TextureTransformMatrix3D.js +46 -46
  652. package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +135 -121
  653. package/src/x_ite/Components/Time/TimeSensor.js +155 -152
  654. package/src/x_ite/Components/Time/X3DTimeDependentNode.js +299 -302
  655. package/src/x_ite/Components/Time.js +15 -15
  656. package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +338 -338
  657. package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +80 -80
  658. package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +228 -228
  659. package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +163 -163
  660. package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +117 -117
  661. package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +334 -334
  662. package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +116 -116
  663. package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +167 -167
  664. package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +247 -247
  665. package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +198 -198
  666. package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +116 -116
  667. package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +126 -126
  668. package/src/x_ite/Components/VolumeRendering/VolumeData.js +173 -173
  669. package/src/x_ite/Components/VolumeRendering/X3DComposableVolumeRenderStyleNode.js +12 -12
  670. package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +167 -167
  671. package/src/x_ite/Components/VolumeRendering/X3DVolumeRenderStyleNode.js +70 -70
  672. package/src/x_ite/Components/X_ITE/BlendMode.js +143 -145
  673. package/src/x_ite/Components.js +47 -47
  674. package/src/x_ite/Configuration/ComponentInfo.js +47 -42
  675. package/src/x_ite/Configuration/ComponentInfoArray.js +21 -19
  676. package/src/x_ite/Configuration/ProfileInfo.js +33 -23
  677. package/src/x_ite/Configuration/ProfileInfoArray.js +26 -16
  678. package/src/x_ite/Configuration/SupportedComponents.js +311 -311
  679. package/src/x_ite/Configuration/SupportedNodes.js +53 -38
  680. package/src/x_ite/Configuration/SupportedProfiles.js +190 -190
  681. package/src/x_ite/Configuration/UnitInfo.js +60 -51
  682. package/src/x_ite/Configuration/UnitInfoArray.js +17 -10
  683. package/src/x_ite/DEBUG.js +2 -2
  684. package/src/x_ite/Execution/BindableList.js +146 -149
  685. package/src/x_ite/Execution/BindableStack.js +130 -123
  686. package/src/x_ite/Execution/ExportedNodesArray.js +75 -0
  687. package/src/x_ite/Execution/ImportedNodesArray.js +75 -0
  688. package/src/x_ite/{Basic/X3DFieldDefinition.js → Execution/NamedNodesArray.js} +20 -10
  689. package/src/x_ite/Execution/Scene.js +93 -90
  690. package/src/x_ite/Execution/X3DExecutionContext.js +957 -781
  691. package/src/x_ite/Execution/X3DExportedNode.js +152 -0
  692. package/src/x_ite/Execution/X3DImportedNode.js +393 -0
  693. package/src/x_ite/Execution/X3DScene.js +546 -493
  694. package/src/x_ite/Execution/X3DWorld.js +171 -0
  695. package/src/x_ite/Fallback.js +31 -31
  696. package/src/x_ite/Fields/ArrayFields.js +463 -443
  697. package/src/x_ite/Fields/SFBool.js +50 -47
  698. package/src/x_ite/Fields/SFColor.js +163 -160
  699. package/src/x_ite/Fields/SFColorRGBA.js +155 -152
  700. package/src/x_ite/Fields/SFDouble.js +51 -48
  701. package/src/x_ite/Fields/SFFloat.js +51 -48
  702. package/src/x_ite/Fields/SFImage.js +216 -213
  703. package/src/x_ite/Fields/SFInt32.js +47 -44
  704. package/src/x_ite/Fields/SFMatrix3.js +74 -71
  705. package/src/x_ite/Fields/SFMatrix4.js +68 -65
  706. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +98 -98
  707. package/src/x_ite/Fields/SFNode.js +392 -299
  708. package/src/x_ite/Fields/SFNodeCache.js +22 -33
  709. package/src/x_ite/Fields/SFRotation.js +178 -175
  710. package/src/x_ite/Fields/SFString.js +71 -68
  711. package/src/x_ite/Fields/SFTime.js +47 -44
  712. package/src/x_ite/Fields/SFVec2.js +73 -70
  713. package/src/x_ite/Fields/SFVec3.js +105 -102
  714. package/src/x_ite/Fields/SFVec4.js +118 -115
  715. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +94 -94
  716. package/src/x_ite/Fields.js +44 -44
  717. package/src/x_ite/InputOutput/FileLoader.js +426 -531
  718. package/src/x_ite/InputOutput/Generator.js +379 -376
  719. package/src/x_ite/{Configuration/X3DInfoArray.js → Parser/GoldenGate.js} +54 -86
  720. package/src/x_ite/Parser/HTMLSupport.js +28 -6
  721. package/src/x_ite/Parser/JSONParser.js +414 -388
  722. package/src/x_ite/Parser/VRMLParser.js +2964 -0
  723. package/src/x_ite/Parser/X3DParser.js +128 -128
  724. package/src/x_ite/Parser/XMLParser.js +1231 -1178
  725. package/src/x_ite/Prototype/ExternProtoDeclarationArray.js +17 -27
  726. package/src/x_ite/Prototype/ProtoDeclarationArray.js +17 -27
  727. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +279 -297
  728. package/src/x_ite/Prototype/X3DProtoDeclaration.js +264 -263
  729. package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +58 -35
  730. package/src/x_ite/Rendering/DependentRenderer.js +83 -80
  731. package/src/x_ite/Rendering/TextureBuffer.js +171 -168
  732. package/src/x_ite/{Bits → Rendering}/TraverseType.js +11 -11
  733. package/src/x_ite/Rendering/X3DRenderObject.js +895 -906
  734. package/src/x_ite/Routing/RouteArray.js +19 -71
  735. package/src/x_ite/Routing/X3DRoute.js +185 -179
  736. package/src/x_ite/Routing/X3DRoutingContext.js +60 -54
  737. package/src/x_ite/X3D.js +191 -175
  738. package/src/x_ite.config.js +83 -83
  739. package/src/x_ite.css +279 -288
  740. package/src/x_ite.html +226 -193
  741. package/src/x_ite.js +100 -127
  742. package/x_ite.min.html +220 -187
  743. package/src/assets/shaders/webgl1/PointSet.fs +0 -100
  744. package/src/assets/shaders/webgl1/PointSet.vs +0 -70
  745. package/src/assets/shaders/webgl1/Wireframe.fs +0 -74
  746. package/src/assets/shaders/webgl1/Wireframe.vs +0 -63
  747. package/src/assets/shaders/webgl2/PointSet.fs +0 -99
  748. package/src/assets/shaders/webgl2/PointSet.vs +0 -71
  749. package/src/assets/shaders/webgl2/Wireframe.fs +0 -73
  750. package/src/assets/shaders/webgl2/Wireframe.vs +0 -64
  751. package/src/x_ite/Basic/X3DBaseNode.js +0 -1253
  752. package/src/x_ite/Basic/X3DField.js +0 -370
  753. package/src/x_ite/Basic/X3DObjectArrayField.js +0 -545
  754. package/src/x_ite/Basic/X3DTypedArrayField.js +0 -839
  755. package/src/x_ite/Browser/Core/X3DCoreContext.js.~1~ +0 -714
  756. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js.~1~ +0 -209
  757. package/src/x_ite/Execution/ImportedNode.js +0 -375
  758. package/src/x_ite/Execution/World.js +0 -162
  759. package/src/x_ite/Parser/Parser.js +0 -2944
@@ -1,8 +1,8 @@
1
-
1
+ uniform mat4 x3d_TextureMatrix [x3d_MaxTextures];
2
2
  uniform int x3d_NumTextures;
3
- uniform int x3d_TextureType [x3d_MaxTextures]; // x3d_None, x3d_TextureType2D or x3d_TextureTypeCubeMapTexture
3
+ uniform int x3d_TextureType [x3d_MaxTextures]; // x3d_None, x3d_TextureType2D or x3d_TextureTypeCube
4
4
  uniform sampler2D x3d_Texture2D [x3d_MaxTextures];
5
- uniform samplerCube x3d_CubeMapTexture [x3d_MaxTextures];
5
+ uniform samplerCube x3d_TextureCube [x3d_MaxTextures];
6
6
 
7
7
  #ifdef X3D_MULTI_TEXTURING
8
8
 
@@ -20,469 +20,520 @@ uniform x3d_MultiTextureParameters x3d_MultiTexture [x3d_MaxTextures];
20
20
 
21
21
  uniform x3d_TextureCoordinateGeneratorParameters x3d_TextureCoordinateGenerator [x3d_MaxTextures];
22
22
 
23
+ mat4
24
+ getTextureMatrix (const in int i)
25
+ {
26
+ mat4 textureMatrix = mat4 (0.0);
27
+
28
+ #if x3d_MaxTextures > 0
29
+ if (i == 0)
30
+ textureMatrix = x3d_TextureMatrix [0];
31
+ #endif
32
+
33
+ #if x3d_MaxTextures > 1
34
+ else if (i == 1)
35
+ textureMatrix = x3d_TextureMatrix [1];
36
+ #endif
37
+
38
+ return textureMatrix;
39
+ }
40
+
23
41
  vec4
24
42
  getTexCoord (const in int i)
25
43
  {
26
- vec4 texCoord = vec4 (0.0);
44
+ vec4 texCoord = vec4 (0.0);
27
45
 
28
- #if x3d_MaxTextures > 0
29
- if (i == 0)
30
- texCoord = texCoord0;
31
- #endif
46
+ #if x3d_MaxTextures > 0
47
+ if (i == 0)
48
+ texCoord = texCoord0;
49
+ #endif
32
50
 
33
- #if x3d_MaxTextures > 1
34
- else if (i == 1)
35
- texCoord = texCoord1;
36
- #endif
51
+ #if x3d_MaxTextures > 1
52
+ else if (i == 1)
53
+ texCoord = texCoord1;
54
+ #endif
37
55
 
38
- return texCoord;
56
+ return texCoord;
39
57
  }
40
58
 
41
59
  vec4
42
- getTextureCoordinate (const in x3d_TextureCoordinateGeneratorParameters textureCoordinateGenerator, const in int i)
60
+ getTexCoord (const in x3d_TextureCoordinateGeneratorParameters textureCoordinateGenerator, const in int textureTransformMapping, const in int textureCoordinateMapping)
43
61
  {
44
- int mode = textureCoordinateGenerator .mode;
45
-
46
- if (mode == x3d_None)
47
- {
48
- return getTexCoord (i);
49
- }
50
- else if (mode == x3d_Sphere)
51
- {
52
- vec2 N = normalize (gl_FrontFacing ? normal : -normal) .xy;
53
-
54
- return vec4 (N / 2.0 + 0.5, 0.0, 1.0);
55
- }
56
- else if (mode == x3d_CameraSpaceNormal)
57
- {
58
- vec3 N = normalize (gl_FrontFacing ? normal : -normal);
59
-
60
- return vec4 (N, 1.0);
61
- }
62
- else if (mode == x3d_CameraSpacePosition)
63
- {
64
- return vec4 (vertex, 1.0);
65
- }
66
- else if (mode == x3d_CameraSpaceReflectionVector)
67
- {
68
- vec3 N = normalize (gl_FrontFacing ? normal : -normal);
69
-
70
- return vec4 (reflect (normalize (vertex), -N), 1.0);
71
- }
72
- else if (mode == x3d_SphereLocal)
73
- {
74
- vec2 N = normalize (gl_FrontFacing ? localNormal : -localNormal) .xy;
75
-
76
- return vec4 (N / 2.0 + 0.5, 0.0, 1.0);
77
- }
78
- else if (mode == x3d_Coord)
79
- {
80
- return vec4 (localVertex, 1.0);
81
- }
82
- else if (mode == x3d_CoordEye)
83
- {
84
- return vec4 (vertex, 1.0);
85
- }
86
- else if (mode == x3d_Noise)
87
- {
88
- vec3 scale = vec3 (textureCoordinateGenerator .parameter [0], textureCoordinateGenerator .parameter [1], textureCoordinateGenerator .parameter [2]);
89
- vec3 translation = vec3 (textureCoordinateGenerator .parameter [3], textureCoordinateGenerator .parameter [4], textureCoordinateGenerator .parameter [5]);
90
-
91
- return vec4 (perlin (localVertex * scale + translation), 1.0);
92
- }
93
- else if (mode == x3d_NoiseEye)
94
- {
95
- vec3 scale = vec3 (textureCoordinateGenerator .parameter [0], textureCoordinateGenerator .parameter [1], textureCoordinateGenerator .parameter [2]);
96
- vec3 translation = vec3 (textureCoordinateGenerator .parameter [3], textureCoordinateGenerator .parameter [4], textureCoordinateGenerator .parameter [5]);
97
-
98
- return vec4 (perlin (vertex * scale + translation), 1.0);
99
- }
100
- else if (mode == x3d_SphereReflect)
101
- {
102
- vec3 N = normalize (gl_FrontFacing ? normal : -normal);
103
- float eta = textureCoordinateGenerator .parameter [0];
104
-
105
- return vec4 (refract (normalize (vertex), -N, eta), 1.0);
106
- }
107
- else if (mode == x3d_SphereReflectLocal)
108
- {
109
- vec3 N = normalize (gl_FrontFacing ? localNormal : -localNormal);
110
- float eta = textureCoordinateGenerator .parameter [0];
111
- vec3 eye = vec3 (textureCoordinateGenerator .parameter [1], textureCoordinateGenerator .parameter [2], textureCoordinateGenerator .parameter [3]);
112
-
113
- return vec4 (refract (normalize (localVertex - eye), -N, eta), 1.0);
114
- }
115
-
116
- return getTexCoord (i);
62
+ int mode = textureCoordinateGenerator .mode;
63
+
64
+ if (mode == x3d_None)
65
+ {
66
+ return getTextureMatrix (textureTransformMapping) * getTexCoord (textureCoordinateMapping);
67
+ }
68
+ else if (mode == x3d_Sphere)
69
+ {
70
+ vec2 N = normalize (gl_FrontFacing ? normal : -normal) .xy;
71
+
72
+ return vec4 (N / 2.0 + 0.5, 0.0, 1.0);
73
+ }
74
+ else if (mode == x3d_CameraSpaceNormal)
75
+ {
76
+ vec3 N = normalize (gl_FrontFacing ? normal : -normal);
77
+
78
+ return vec4 (N, 1.0);
79
+ }
80
+ else if (mode == x3d_CameraSpacePosition)
81
+ {
82
+ return vec4 (vertex, 1.0);
83
+ }
84
+ else if (mode == x3d_CameraSpaceReflectionVector)
85
+ {
86
+ vec3 N = normalize (gl_FrontFacing ? normal : -normal);
87
+
88
+ return vec4 (reflect (normalize (vertex), -N), 1.0);
89
+ }
90
+ else if (mode == x3d_SphereLocal)
91
+ {
92
+ vec2 N = normalize (gl_FrontFacing ? localNormal : -localNormal) .xy;
93
+
94
+ return vec4 (N / 2.0 + 0.5, 0.0, 1.0);
95
+ }
96
+ else if (mode == x3d_Coord)
97
+ {
98
+ return vec4 (localVertex, 1.0);
99
+ }
100
+ else if (mode == x3d_CoordEye)
101
+ {
102
+ return vec4 (vertex, 1.0);
103
+ }
104
+ else if (mode == x3d_Noise)
105
+ {
106
+ vec3 scale = vec3 (textureCoordinateGenerator .parameter [0], textureCoordinateGenerator .parameter [1], textureCoordinateGenerator .parameter [2]);
107
+ vec3 translation = vec3 (textureCoordinateGenerator .parameter [3], textureCoordinateGenerator .parameter [4], textureCoordinateGenerator .parameter [5]);
108
+
109
+ return vec4 (perlin (localVertex * scale + translation), 1.0);
110
+ }
111
+ else if (mode == x3d_NoiseEye)
112
+ {
113
+ vec3 scale = vec3 (textureCoordinateGenerator .parameter [0], textureCoordinateGenerator .parameter [1], textureCoordinateGenerator .parameter [2]);
114
+ vec3 translation = vec3 (textureCoordinateGenerator .parameter [3], textureCoordinateGenerator .parameter [4], textureCoordinateGenerator .parameter [5]);
115
+
116
+ return vec4 (perlin (vertex * scale + translation), 1.0);
117
+ }
118
+ else if (mode == x3d_SphereReflect)
119
+ {
120
+ vec3 N = normalize (gl_FrontFacing ? normal : -normal);
121
+ float eta = textureCoordinateGenerator .parameter [0];
122
+
123
+ return vec4 (refract (normalize (vertex), -N, eta), 1.0);
124
+ }
125
+ else if (mode == x3d_SphereReflectLocal)
126
+ {
127
+ vec3 N = normalize (gl_FrontFacing ? localNormal : -localNormal);
128
+ float eta = textureCoordinateGenerator .parameter [0];
129
+ vec3 eye = vec3 (textureCoordinateGenerator .parameter [1], textureCoordinateGenerator .parameter [2], textureCoordinateGenerator .parameter [3]);
130
+
131
+ return vec4 (refract (normalize (localVertex - eye), -N, eta), 1.0);
132
+ }
133
+
134
+ return getTextureMatrix (textureTransformMapping) * getTexCoord (textureCoordinateMapping);
135
+ }
136
+
137
+ vec4
138
+ getTexCoord (const in int textureTransformMapping, const in int textureCoordinateMapping)
139
+ {
140
+ vec4 texCoord;
141
+
142
+ #if x3d_MaxTextures > 0
143
+ if (textureCoordinateMapping == 0)
144
+ texCoord = getTexCoord (x3d_TextureCoordinateGenerator [0], textureTransformMapping, textureCoordinateMapping);
145
+ #endif
146
+
147
+ #if x3d_MaxTextures > 1
148
+ else if (textureCoordinateMapping == 1)
149
+ texCoord = getTexCoord (x3d_TextureCoordinateGenerator [1], textureTransformMapping, textureCoordinateMapping);
150
+ #endif
151
+
152
+ texCoord .stp /= texCoord .q;
153
+
154
+ if ((x3d_GeometryType == x3d_Geometry2D) && (gl_FrontFacing == false))
155
+ texCoord .s = 1.0 - texCoord .s;
156
+
157
+ return texCoord;
117
158
  }
118
159
 
119
160
  vec4
120
161
  getTexture2D (const in int i, const in vec2 texCoord)
121
162
  {
122
- vec4 color = vec4 (0.0);
163
+ vec4 color = vec4 (0.0);
123
164
 
124
- #if x3d_MaxTextures > 0
125
- if (i == 0)
126
- color = texture2D (x3d_Texture2D [0], texCoord);
127
- #endif
165
+ #if x3d_MaxTextures > 0
166
+ if (i == 0)
167
+ color = texture2D (x3d_Texture2D [0], texCoord);
168
+ #endif
128
169
 
129
- #if x3d_MaxTextures > 1
130
- else if (i == 1)
131
- color = texture2D (x3d_Texture2D [1], texCoord);
132
- #endif
170
+ #if x3d_MaxTextures > 1
171
+ else if (i == 1)
172
+ color = texture2D (x3d_Texture2D [1], texCoord);
173
+ #endif
133
174
 
134
- return color;
175
+ return color;
135
176
  }
136
177
 
137
178
  vec4
138
179
  getTextureCube (const in int i, const in vec3 texCoord)
139
180
  {
140
- vec4 color = vec4 (0.0);
181
+ vec4 color = vec4 (0.0);
141
182
 
142
- #if x3d_MaxTextures > 0
143
- if (i == 0)
144
- color = textureCube (x3d_CubeMapTexture [0], texCoord);
145
- #endif
183
+ #if x3d_MaxTextures > 0
184
+ if (i == 0)
185
+ color = textureCube (x3d_TextureCube [0], texCoord);
186
+ #endif
146
187
 
147
- #if x3d_MaxTextures > 1
148
- else if (i == 1)
149
- color = textureCube (x3d_CubeMapTexture [1], texCoord);
150
- #endif
188
+ #if x3d_MaxTextures > 1
189
+ else if (i == 1)
190
+ color = textureCube (x3d_TextureCube [1], texCoord);
191
+ #endif
151
192
 
152
- return color;
193
+ return color;
153
194
  }
154
195
 
155
196
  vec4
156
197
  getTextureColor (const in vec4 diffuseColor, const in vec4 specularColor)
157
198
  {
158
- vec4 currentColor = diffuseColor;
159
-
160
- for (int i = 0; i < x3d_MaxTextures; ++ i)
161
- {
162
- if (i == x3d_NumTextures)
163
- break;
164
-
165
- // Get texture color.
166
-
167
- vec4 texCoord = getTextureCoordinate (x3d_TextureCoordinateGenerator [i], i);
168
- vec4 textureColor = vec4 (1.0);
169
-
170
- texCoord .stp /= texCoord .q;
171
-
172
- if ((x3d_GeometryType == x3d_Geometry2D) && (gl_FrontFacing == false))
173
- texCoord .s = 1.0 - texCoord .s;
174
-
175
- if (x3d_TextureType [i] == x3d_TextureType2D)
176
- {
177
- textureColor = getTexture2D (i, texCoord .st);
178
- }
179
- else if (x3d_TextureType [i] == x3d_TextureTypeCubeMapTexture)
180
- {
181
- textureColor = getTextureCube (i, texCoord .stp);
182
- }
183
-
184
- // Multi texturing
185
-
186
- x3d_MultiTextureParameters multiTexture = x3d_MultiTexture [i];
187
-
188
- vec4 arg1 = textureColor;
189
- vec4 arg2 = currentColor;
190
-
191
- // Source
192
-
193
- int source = multiTexture .source;
194
-
195
- if (source == x3d_Diffuse)
196
- {
197
- arg1 = diffuseColor;
198
- }
199
- else if (source == x3d_Specular)
200
- {
201
- arg1 = specularColor;
202
- }
203
- else if (source == x3d_Factor)
204
- {
205
- arg1 = x3d_MultiTextureColor;
206
- }
207
-
208
- // Function
209
-
210
- int function = multiTexture .function;
211
-
212
- if (function == x3d_Complement)
213
- {
214
- arg1 = 1.0 - arg1;
215
- }
216
- else if (function == x3d_AlphaReplicate)
217
- {
218
- arg1 .a = arg2 .a;
219
- }
220
-
221
- // Mode
222
-
223
- int mode = multiTexture .mode;
224
- int alphaMode = multiTexture .alphaMode;
225
-
226
- // RGB
227
-
228
- if (mode == x3d_Replace)
229
- {
230
- currentColor .rgb = arg1 .rgb;
231
- }
232
- else if (mode == x3d_Modulate)
233
- {
234
- currentColor .rgb = arg1 .rgb * arg2 .rgb;
235
- }
236
- else if (mode == x3d_Modulate2X)
237
- {
238
- currentColor .rgb = (arg1 .rgb * arg2 .rgb) * 2.0;
239
- }
240
- else if (mode == x3d_Modulate4X)
241
- {
242
- currentColor .rgb = (arg1 .rgb * arg2 .rgb) * 4.0;
243
- }
244
- else if (mode == x3d_Add)
245
- {
246
- currentColor .rgb = arg1 .rgb + arg2 .rgb;
247
- }
248
- else if (mode == x3d_AddSigned)
249
- {
250
- currentColor .rgb = arg1 .rgb + arg2 .rgb - 0.5;
251
- }
252
- else if (mode == x3d_AddSigned2X)
253
- {
254
- currentColor .rgb = (arg1 .rgb + arg2 .rgb - 0.5) * 2.0;
255
- }
256
- else if (mode == x3d_AddSmooth)
257
- {
258
- currentColor .rgb = arg1 .rgb + (1.0 - arg1 .rgb) * arg2 .rgb;
259
- }
260
- else if (mode == x3d_Subtract)
261
- {
262
- currentColor .rgb = arg1 .rgb - arg2 .rgb;
263
- }
264
- else if (mode == x3d_BlendDiffuseAlpha)
265
- {
266
- currentColor .rgb = arg1 .rgb * diffuseColor .a + arg2 .rgb * (1.0 - diffuseColor .a);
267
- }
268
- else if (mode == x3d_BlendTextureAlpha)
269
- {
270
- currentColor .rgb = arg1 .rgb * arg1 .a + arg2 .rgb * (1.0 - arg1 .a);
271
- }
272
- else if (mode == x3d_BlendFactorAlpha)
273
- {
274
- currentColor .rgb = arg1 .rgb * x3d_MultiTextureColor .a + arg2 .rgb * (1.0 - x3d_MultiTextureColor .a);
275
- }
276
- else if (mode == x3d_BlendCurrentAlpha)
277
- {
278
- currentColor .rgb = arg1 .rgb * arg2 .a + arg2 .rgb * (1.0 - arg2 .a);
279
- }
280
- else if (mode == x3d_ModulateAlphaAddColor)
281
- {
282
- currentColor .rgb = arg1 .rgb + arg1 .a * arg2 .rgb;
283
- }
284
- else if (mode == x3d_ModulateInvAlphaAddColor)
285
- {
286
- currentColor .rgb = (1.0 - arg1 .a) * arg2 .rgb + arg1 .rgb;
287
- }
288
- else if (mode == x3d_ModulateInvColorAddAlpha)
289
- {
290
- currentColor .rgb = (1.0 - arg1 .rgb) * arg2 .rgb + arg1 .a;
291
- }
292
- else if (mode == x3d_DotProduct3)
293
- {
294
- currentColor .rgb = vec3 (dot (arg1 .rgb * 2.0 - 1.0, arg2 .rgb * 2.0 - 1.0));
295
- }
296
- else if (mode == x3d_SelectArg1)
297
- {
298
- currentColor .rgb = arg1 .rgb;
299
- }
300
- else if (mode == x3d_SelectArg2)
301
- {
302
- currentColor .rgb = arg2 .rgb;
303
- }
304
- else if (mode == x3d_Off)
305
- ;
306
-
307
- // Alpha
308
-
309
- if (alphaMode == x3d_Replace)
310
- {
311
- currentColor .a = arg1 .a;
312
- }
313
- else if (alphaMode == x3d_Modulate)
314
- {
315
- currentColor .a = arg1 .a * arg2 .a;
316
- }
317
- else if (alphaMode == x3d_Modulate2X)
318
- {
319
- currentColor .a = (arg1 .a * arg2 .a) * 2.0;
320
- }
321
- else if (alphaMode == x3d_Modulate4X)
322
- {
323
- currentColor .a = (arg1 .a * arg2 .a) * 4.0;
324
- }
325
- else if (alphaMode == x3d_Add)
326
- {
327
- currentColor .a = arg1 .a + arg2 .a;
328
- }
329
- else if (alphaMode == x3d_AddSigned)
330
- {
331
- currentColor .a = arg1 .a + arg2 .a - 0.5;
332
- }
333
- else if (alphaMode == x3d_AddSigned2X)
334
- {
335
- currentColor .a = (arg1 .a + arg2 .a - 0.5) * 2.0;
336
- }
337
- else if (alphaMode == x3d_AddSmooth)
338
- {
339
- currentColor .a = arg1 .a + (1.0 - arg1 .a) * arg2 .a;
340
- }
341
- else if (alphaMode == x3d_Subtract)
342
- {
343
- currentColor .a = arg1 .a - arg2 .a;
344
- }
345
- else if (alphaMode == x3d_BlendDiffuseAlpha)
346
- {
347
- currentColor .a = arg1 .a * diffuseColor .a + arg2 .a * (1.0 - diffuseColor .a);
348
- }
349
- else if (alphaMode == x3d_BlendTextureAlpha)
350
- {
351
- currentColor .a = arg1 .a * arg1 .a + arg2 .a * (1.0 - arg1 .a);
352
- }
353
- else if (alphaMode == x3d_BlendFactorAlpha)
354
- {
355
- currentColor .a = arg1 .a * x3d_MultiTextureColor .a + arg2 .a * (1.0 - x3d_MultiTextureColor .a);
356
- }
357
- else if (alphaMode == x3d_BlendCurrentAlpha)
358
- {
359
- currentColor .a = arg1 .a * arg2 .a + arg2 .a * (1.0 - arg2 .a);
360
- }
361
- else if (alphaMode == x3d_ModulateAlphaAddColor)
362
- {
363
- currentColor .a = arg1 .a + arg1 .a * arg2 .a;
364
- }
365
- else if (alphaMode == x3d_ModulateInvAlphaAddColor)
366
- {
367
- currentColor .a = (1.0 - arg1 .a) * arg2 .a + arg1 .a;
368
- }
369
- else if (alphaMode == x3d_ModulateInvColorAddAlpha)
370
- {
371
- currentColor .a = (1.0 - arg1 .a) * arg2 .a + arg1 .a;
372
- }
373
- else if (alphaMode == x3d_DotProduct3)
374
- {
375
- currentColor .a = dot (arg1 .rgb * 2.0 - 1.0, arg2 .rgb * 2.0 - 1.0);
376
- }
377
- else if (alphaMode == x3d_SelectArg1)
378
- {
379
- currentColor .a = arg1 .a;
380
- }
381
- else if (alphaMode == x3d_SelectArg2)
382
- {
383
- currentColor .a = arg2 .a;
384
- }
385
- else if (alphaMode == x3d_Off)
386
- ;
387
- }
388
-
389
- return currentColor;
199
+ vec4 currentColor = diffuseColor;
200
+
201
+ for (int i = 0; i < x3d_MaxTextures; ++ i)
202
+ {
203
+ if (i == x3d_NumTextures)
204
+ break;
205
+
206
+ // Get texture color.
207
+
208
+ vec4 texCoord = getTexCoord (x3d_TextureCoordinateGenerator [i], i, i);
209
+ vec4 textureColor = vec4 (1.0);
210
+
211
+ texCoord .stp /= texCoord .q;
212
+
213
+ if ((x3d_GeometryType == x3d_Geometry2D) && (gl_FrontFacing == false))
214
+ texCoord .s = 1.0 - texCoord .s;
215
+
216
+ if (x3d_TextureType [i] == x3d_TextureType2D)
217
+ {
218
+ textureColor = getTexture2D (i, texCoord .st);
219
+ }
220
+ else if (x3d_TextureType [i] == x3d_TextureTypeCube)
221
+ {
222
+ textureColor = getTextureCube (i, texCoord .stp);
223
+ }
224
+
225
+ // Multi texturing
226
+
227
+ x3d_MultiTextureParameters multiTexture = x3d_MultiTexture [i];
228
+
229
+ vec4 arg1 = textureColor;
230
+ vec4 arg2 = currentColor;
231
+
232
+ // Source
233
+
234
+ int source = multiTexture .source;
235
+
236
+ if (source == x3d_Diffuse)
237
+ {
238
+ arg1 = diffuseColor;
239
+ }
240
+ else if (source == x3d_Specular)
241
+ {
242
+ arg1 = specularColor;
243
+ }
244
+ else if (source == x3d_Factor)
245
+ {
246
+ arg1 = x3d_MultiTextureColor;
247
+ }
248
+
249
+ // Function
250
+
251
+ int function = multiTexture .function;
252
+
253
+ if (function == x3d_Complement)
254
+ {
255
+ arg1 = 1.0 - arg1;
256
+ }
257
+ else if (function == x3d_AlphaReplicate)
258
+ {
259
+ arg1 .a = arg2 .a;
260
+ }
261
+
262
+ // Mode
263
+
264
+ int mode = multiTexture .mode;
265
+ int alphaMode = multiTexture .alphaMode;
266
+
267
+ // RGB
268
+
269
+ if (mode == x3d_Replace)
270
+ {
271
+ currentColor .rgb = arg1 .rgb;
272
+ }
273
+ else if (mode == x3d_Modulate)
274
+ {
275
+ currentColor .rgb = arg1 .rgb * arg2 .rgb;
276
+ }
277
+ else if (mode == x3d_Modulate2X)
278
+ {
279
+ currentColor .rgb = (arg1 .rgb * arg2 .rgb) * 2.0;
280
+ }
281
+ else if (mode == x3d_Modulate4X)
282
+ {
283
+ currentColor .rgb = (arg1 .rgb * arg2 .rgb) * 4.0;
284
+ }
285
+ else if (mode == x3d_Add)
286
+ {
287
+ currentColor .rgb = arg1 .rgb + arg2 .rgb;
288
+ }
289
+ else if (mode == x3d_AddSigned)
290
+ {
291
+ currentColor .rgb = arg1 .rgb + arg2 .rgb - 0.5;
292
+ }
293
+ else if (mode == x3d_AddSigned2X)
294
+ {
295
+ currentColor .rgb = (arg1 .rgb + arg2 .rgb - 0.5) * 2.0;
296
+ }
297
+ else if (mode == x3d_AddSmooth)
298
+ {
299
+ currentColor .rgb = arg1 .rgb + (1.0 - arg1 .rgb) * arg2 .rgb;
300
+ }
301
+ else if (mode == x3d_Subtract)
302
+ {
303
+ currentColor .rgb = arg1 .rgb - arg2 .rgb;
304
+ }
305
+ else if (mode == x3d_BlendDiffuseAlpha)
306
+ {
307
+ currentColor .rgb = arg1 .rgb * diffuseColor .a + arg2 .rgb * (1.0 - diffuseColor .a);
308
+ }
309
+ else if (mode == x3d_BlendTextureAlpha)
310
+ {
311
+ currentColor .rgb = arg1 .rgb * arg1 .a + arg2 .rgb * (1.0 - arg1 .a);
312
+ }
313
+ else if (mode == x3d_BlendFactorAlpha)
314
+ {
315
+ currentColor .rgb = arg1 .rgb * x3d_MultiTextureColor .a + arg2 .rgb * (1.0 - x3d_MultiTextureColor .a);
316
+ }
317
+ else if (mode == x3d_BlendCurrentAlpha)
318
+ {
319
+ currentColor .rgb = arg1 .rgb * arg2 .a + arg2 .rgb * (1.0 - arg2 .a);
320
+ }
321
+ else if (mode == x3d_ModulateAlphaAddColor)
322
+ {
323
+ currentColor .rgb = arg1 .rgb + arg1 .a * arg2 .rgb;
324
+ }
325
+ else if (mode == x3d_ModulateInvAlphaAddColor)
326
+ {
327
+ currentColor .rgb = (1.0 - arg1 .a) * arg2 .rgb + arg1 .rgb;
328
+ }
329
+ else if (mode == x3d_ModulateInvColorAddAlpha)
330
+ {
331
+ currentColor .rgb = (1.0 - arg1 .rgb) * arg2 .rgb + arg1 .a;
332
+ }
333
+ else if (mode == x3d_DotProduct3)
334
+ {
335
+ currentColor .rgb = vec3 (dot (arg1 .rgb * 2.0 - 1.0, arg2 .rgb * 2.0 - 1.0));
336
+ }
337
+ else if (mode == x3d_SelectArg1)
338
+ {
339
+ currentColor .rgb = arg1 .rgb;
340
+ }
341
+ else if (mode == x3d_SelectArg2)
342
+ {
343
+ currentColor .rgb = arg2 .rgb;
344
+ }
345
+ else if (mode == x3d_Off)
346
+ ;
347
+
348
+ // Alpha
349
+
350
+ if (alphaMode == x3d_Replace)
351
+ {
352
+ currentColor .a = arg1 .a;
353
+ }
354
+ else if (alphaMode == x3d_Modulate)
355
+ {
356
+ currentColor .a = arg1 .a * arg2 .a;
357
+ }
358
+ else if (alphaMode == x3d_Modulate2X)
359
+ {
360
+ currentColor .a = (arg1 .a * arg2 .a) * 2.0;
361
+ }
362
+ else if (alphaMode == x3d_Modulate4X)
363
+ {
364
+ currentColor .a = (arg1 .a * arg2 .a) * 4.0;
365
+ }
366
+ else if (alphaMode == x3d_Add)
367
+ {
368
+ currentColor .a = arg1 .a + arg2 .a;
369
+ }
370
+ else if (alphaMode == x3d_AddSigned)
371
+ {
372
+ currentColor .a = arg1 .a + arg2 .a - 0.5;
373
+ }
374
+ else if (alphaMode == x3d_AddSigned2X)
375
+ {
376
+ currentColor .a = (arg1 .a + arg2 .a - 0.5) * 2.0;
377
+ }
378
+ else if (alphaMode == x3d_AddSmooth)
379
+ {
380
+ currentColor .a = arg1 .a + (1.0 - arg1 .a) * arg2 .a;
381
+ }
382
+ else if (alphaMode == x3d_Subtract)
383
+ {
384
+ currentColor .a = arg1 .a - arg2 .a;
385
+ }
386
+ else if (alphaMode == x3d_BlendDiffuseAlpha)
387
+ {
388
+ currentColor .a = arg1 .a * diffuseColor .a + arg2 .a * (1.0 - diffuseColor .a);
389
+ }
390
+ else if (alphaMode == x3d_BlendTextureAlpha)
391
+ {
392
+ currentColor .a = arg1 .a * arg1 .a + arg2 .a * (1.0 - arg1 .a);
393
+ }
394
+ else if (alphaMode == x3d_BlendFactorAlpha)
395
+ {
396
+ currentColor .a = arg1 .a * x3d_MultiTextureColor .a + arg2 .a * (1.0 - x3d_MultiTextureColor .a);
397
+ }
398
+ else if (alphaMode == x3d_BlendCurrentAlpha)
399
+ {
400
+ currentColor .a = arg1 .a * arg2 .a + arg2 .a * (1.0 - arg2 .a);
401
+ }
402
+ else if (alphaMode == x3d_ModulateAlphaAddColor)
403
+ {
404
+ currentColor .a = arg1 .a + arg1 .a * arg2 .a;
405
+ }
406
+ else if (alphaMode == x3d_ModulateInvAlphaAddColor)
407
+ {
408
+ currentColor .a = (1.0 - arg1 .a) * arg2 .a + arg1 .a;
409
+ }
410
+ else if (alphaMode == x3d_ModulateInvColorAddAlpha)
411
+ {
412
+ currentColor .a = (1.0 - arg1 .a) * arg2 .a + arg1 .a;
413
+ }
414
+ else if (alphaMode == x3d_DotProduct3)
415
+ {
416
+ currentColor .a = dot (arg1 .rgb * 2.0 - 1.0, arg2 .rgb * 2.0 - 1.0);
417
+ }
418
+ else if (alphaMode == x3d_SelectArg1)
419
+ {
420
+ currentColor .a = arg1 .a;
421
+ }
422
+ else if (alphaMode == x3d_SelectArg2)
423
+ {
424
+ currentColor .a = arg2 .a;
425
+ }
426
+ else if (alphaMode == x3d_Off)
427
+ ;
428
+ }
429
+
430
+ return currentColor;
390
431
  }
391
432
 
392
433
  #ifdef X3D_PROJECTIVE_TEXTURE_MAPPING
393
434
  vec4
394
435
  getProjectiveTexture (const in int i, const in vec2 texCoord)
395
436
  {
396
- vec4 color = vec4 (0.0);
437
+ vec4 color = vec4 (0.0);
397
438
 
398
- #if x3d_MaxTextures > 0
399
- if (i == 0)
400
- color = texture2D (x3d_ProjectiveTexture [0], texCoord);
401
- #endif
439
+ #if x3d_MaxTextures > 0
440
+ if (i == 0)
441
+ color = texture2D (x3d_ProjectiveTexture [0], texCoord);
442
+ #endif
402
443
 
403
- #if x3d_MaxTextures > 1
404
- else if (i == 1)
405
- color = texture2D (x3d_ProjectiveTexture [1], texCoord);
406
- #endif
444
+ #if x3d_MaxTextures > 1
445
+ else if (i == 1)
446
+ color = texture2D (x3d_ProjectiveTexture [1], texCoord);
447
+ #endif
407
448
 
408
- return color;
449
+ return color;
409
450
  }
410
451
 
411
452
  vec4
412
453
  getProjectiveTextureColor (in vec4 currentColor)
413
454
  {
414
- if (x3d_NumProjectiveTextures > 0)
415
- {
416
- vec3 N = gl_FrontFacing ? normal : -normal;
455
+ if (x3d_NumProjectiveTextures > 0)
456
+ {
457
+ vec3 N = gl_FrontFacing ? normal : -normal;
417
458
 
418
- for (int i = 0; i < x3d_MaxTextures; ++ i)
419
- {
420
- if (i == x3d_NumProjectiveTextures)
421
- break;
459
+ for (int i = 0; i < x3d_MaxTextures; ++ i)
460
+ {
461
+ if (i == x3d_NumProjectiveTextures)
462
+ break;
422
463
 
423
- vec4 texCoord = x3d_ProjectiveTextureMatrix [i] * vec4 (vertex, 1.0);
464
+ vec4 texCoord = x3d_ProjectiveTextureMatrix [i] * vec4 (vertex, 1.0);
424
465
 
425
- texCoord .stp /= texCoord .q;
466
+ texCoord .stp /= texCoord .q;
426
467
 
427
- if (texCoord .s < 0.0 || texCoord .s > 1.0)
428
- continue;
468
+ if (texCoord .s < 0.0 || texCoord .s > 1.0)
469
+ continue;
429
470
 
430
- if (texCoord .t < 0.0 || texCoord .t > 1.0)
431
- continue;
471
+ if (texCoord .t < 0.0 || texCoord .t > 1.0)
472
+ continue;
432
473
 
433
- if (texCoord .p < 0.0 || texCoord .p > 1.0)
434
- continue;
474
+ if (texCoord .p < 0.0 || texCoord .p > 1.0)
475
+ continue;
435
476
 
436
- // We do not need to normalze p, as we only need the sign of the dot product.
437
- vec3 p = x3d_ProjectiveTextureLocation [i] - vertex;
477
+ // We do not need to normalze p, as we only need the sign of the dot product.
478
+ vec3 p = x3d_ProjectiveTextureLocation [i] - vertex;
438
479
 
439
- if (dot (N, p) < 0.0)
440
- continue;
480
+ if (dot (N, p) < 0.0)
481
+ continue;
441
482
 
442
- currentColor *= getProjectiveTexture (i, texCoord .st);
443
- }
444
- }
483
+ currentColor *= getProjectiveTexture (i, texCoord .st);
484
+ }
485
+ }
445
486
 
446
- return currentColor;
487
+ return currentColor;
447
488
  }
448
- #else
489
+
490
+ #else // X3D_PROJECTIVE_TEXTURE_MAPPING
491
+
449
492
  vec4
450
493
  getProjectiveTextureColor (in vec4 currentColor)
451
494
  {
452
- return currentColor;
495
+ return currentColor;
453
496
  }
454
- #endif
455
497
 
456
- #else
498
+ #endif // X3D_PROJECTIVE_TEXTURE_MAPPING
499
+
500
+ #else // X3D_MULTI_TEXTURING
501
+
502
+ vec4
503
+ getTexCoord (const in int textureTransformMapping, const in int textureCoordinateMapping)
504
+ {
505
+ return texCoord0;
506
+ }
457
507
 
458
508
  vec4
459
509
  getTextureColor (const in vec4 diffuseColor, const in vec4 specularColor)
460
510
  {
461
- // Get texture color.
511
+ // Get texture color.
462
512
 
463
- vec4 texCoord = texCoord0;
464
- vec4 textureColor = vec4 (1.0);
513
+ vec4 texCoord = texCoord0;
514
+ vec4 textureColor = vec4 (1.0);
465
515
 
466
- texCoord .stp /= texCoord .q;
516
+ texCoord .stp /= texCoord .q;
467
517
 
468
- if ((x3d_GeometryType == x3d_Geometry2D) && (gl_FrontFacing ? false : true))
469
- texCoord .s = 1.0 - texCoord .s;
518
+ if ((x3d_GeometryType == x3d_Geometry2D) && (gl_FrontFacing ? false : true))
519
+ texCoord .s = 1.0 - texCoord .s;
470
520
 
471
- if (x3d_TextureType [0] == x3d_TextureType2D)
472
- {
473
- textureColor = texture2D (x3d_Texture2D [0], texCoord .st);
474
- }
475
- else if (x3d_TextureType [0] == x3d_TextureTypeCubeMapTexture)
476
- {
477
- textureColor = textureCube (x3d_CubeMapTexture [0], texCoord .stp);
478
- }
521
+ if (x3d_TextureType [0] == x3d_TextureType2D)
522
+ {
523
+ textureColor = texture2D (x3d_Texture2D [0], texCoord .st);
524
+ }
525
+ else if (x3d_TextureType [0] == x3d_TextureTypeCube)
526
+ {
527
+ textureColor = textureCube (x3d_TextureCube [0], texCoord .stp);
528
+ }
479
529
 
480
- return diffuseColor * textureColor;
530
+ return diffuseColor * textureColor;
481
531
  }
482
532
 
483
533
  vec4
484
534
  getProjectiveTextureColor (in vec4 currentColor)
485
535
  {
486
- return currentColor;
536
+ return currentColor;
487
537
  }
488
- #endif
538
+
539
+ #endif // X3D_MULTI_TEXTURING