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.
- package/.vscode/settings.json +9 -2
- package/Makefile +27 -24
- package/build/bin/version-number.pl +1 -1
- package/build/bin/version.pl +3 -3
- package/build/parts/default.start.frag.js +2 -2
- package/build/parts/x_ite.end.frag.js +1 -2
- package/build/parts/x_ite.start.frag.js +4 -7
- package/dist/assets/components/annotation.js +312 -312
- package/dist/assets/components/annotation.min.js +1 -1
- package/dist/assets/components/cad-geometry.js +536 -538
- package/dist/assets/components/cad-geometry.min.js +1 -1
- package/dist/assets/components/cube-map-texturing.js +797 -796
- package/dist/assets/components/cube-map-texturing.min.js +1 -1
- package/dist/assets/components/dis.js +487 -472
- package/dist/assets/components/dis.min.js +1 -1
- package/dist/assets/components/event-utilities.js +486 -505
- package/dist/assets/components/event-utilities.min.js +1 -1
- package/dist/assets/components/geometry2d.js +1221 -1271
- package/dist/assets/components/geometry2d.min.js +1 -1
- package/dist/assets/components/geospatial.js +2657 -2653
- package/dist/assets/components/geospatial.min.js +1 -2
- package/dist/assets/components/h-anim.js +640 -640
- package/dist/assets/components/h-anim.min.js +1 -1
- package/dist/assets/components/key-device-sensor.js +547 -549
- package/dist/assets/components/key-device-sensor.min.js +1 -1
- package/dist/assets/components/layout.js +1435 -1433
- package/dist/assets/components/layout.min.js +1 -1
- package/dist/assets/components/nurbs.js +3942 -3964
- package/dist/assets/components/nurbs.min.js +1 -2
- package/dist/assets/components/particle-systems.js +3227 -3238
- package/dist/assets/components/particle-systems.min.js +1 -2
- package/dist/assets/components/picking.js +1704 -1712
- package/dist/assets/components/picking.min.js +1 -1
- package/dist/assets/components/projective-texture-mapping.js +553 -553
- package/dist/assets/components/projective-texture-mapping.min.js +1 -1
- package/dist/assets/components/rigid-body-physics.js +3255 -3265
- package/dist/assets/components/rigid-body-physics.min.js +1 -59
- package/dist/assets/components/scripting.js +544 -549
- package/dist/assets/components/scripting.min.js +1 -1
- package/dist/assets/components/texturing-3d.js +2716 -2651
- package/dist/assets/components/texturing-3d.min.js +131 -48
- package/dist/assets/components/volume-rendering.js +2815 -2804
- package/dist/assets/components/volume-rendering.min.js +1 -3
- package/dist/assets/components/x_ite.js +142 -144
- package/dist/assets/components/x_ite.min.js +1 -1
- package/dist/assets/shaders/webgl1/Gouraud.fs +52 -15
- package/dist/assets/shaders/webgl1/Gouraud.vs +8 -9
- package/dist/assets/shaders/webgl1/{Wireframe.fs → Line.fs} +0 -0
- package/dist/assets/shaders/webgl1/{Wireframe.vs → Line.vs} +1 -1
- package/dist/assets/shaders/webgl1/PBR.fs +785 -0
- package/dist/assets/shaders/webgl1/PBR.vs +37 -0
- package/dist/assets/shaders/webgl1/Phong.fs +204 -32
- package/dist/assets/shaders/webgl1/Phong.vs +2 -3
- package/dist/assets/shaders/webgl1/{PointSet.fs → Point.fs} +59 -33
- package/dist/assets/shaders/webgl1/{PointSet.vs → Point.vs} +2 -2
- package/dist/assets/shaders/webgl1/Unlit.fs +73 -18
- package/dist/assets/shaders/webgl1/Unlit.vs +2 -3
- package/dist/assets/shaders/webgl2/Gouraud.fs +31 -19
- package/dist/assets/shaders/webgl2/Gouraud.vs +8 -9
- package/dist/assets/shaders/webgl2/{Wireframe.fs → Line.fs} +0 -0
- package/dist/assets/shaders/webgl2/{Wireframe.vs → Line.vs} +1 -1
- package/dist/assets/shaders/webgl2/PBR.fs +913 -0
- package/dist/assets/shaders/webgl2/PBR.vs +37 -0
- package/dist/assets/shaders/webgl2/Phong.fs +196 -35
- package/dist/assets/shaders/webgl2/Phong.vs +2 -3
- package/dist/assets/shaders/webgl2/{PointSet.fs → Point.fs} +87 -86
- package/dist/assets/shaders/webgl2/{PointSet.vs → Point.vs} +2 -2
- package/dist/assets/shaders/webgl2/Unlit.fs +55 -22
- package/dist/assets/shaders/webgl2/Unlit.vs +2 -3
- package/dist/example.html +2 -2
- package/dist/x_ite.css +316 -328
- package/dist/x_ite.js +55663 -52034
- package/dist/x_ite.min.js +79 -41
- package/dist/x_ite.zip +0 -0
- package/docs/Custom-Shaders.md +4 -3
- package/docs/_config.yml +1 -1
- package/docs/index.md +60 -7
- package/package.json +20 -20
- package/src/assets/components/annotation.js +24 -24
- package/src/assets/components/cad-geometry.js +24 -25
- package/src/assets/components/cube-map-texturing.js +18 -19
- package/src/assets/components/dis.js +22 -23
- package/src/assets/components/event-utilities.js +28 -29
- package/src/assets/components/geometry2d.js +28 -29
- package/src/assets/components/geospatial.js +34 -35
- package/src/assets/components/h-anim.js +22 -22
- package/src/assets/components/key-device-sensor.js +18 -19
- package/src/assets/components/layout.js +24 -25
- package/src/assets/components/nurbs.js +44 -45
- package/src/assets/components/particle-systems.js +36 -37
- package/src/assets/components/picking.js +25 -25
- package/src/assets/components/projective-texture-mapping.js +16 -16
- package/src/assets/components/rigid-body-physics.js +48 -48
- package/src/assets/components/scripting.js +14 -15
- package/src/assets/components/texturing-3d.js +26 -27
- package/src/assets/components/volume-rendering.js +46 -46
- package/src/assets/components/x_ite.js +12 -12
- package/src/assets/shaders/Types.glsl +230 -51
- package/src/assets/shaders/webgl1/Background.fs +2 -2
- package/src/assets/shaders/webgl1/Background.vs +4 -4
- package/src/assets/shaders/webgl1/Depth.fs +2 -2
- package/src/assets/shaders/webgl1/Depth.vs +3 -3
- package/src/assets/shaders/webgl1/Fallback.fs +15 -15
- package/src/assets/shaders/webgl1/Fallback.vs +5 -5
- package/src/assets/shaders/webgl1/FallbackUnlit.fs +4 -4
- package/src/assets/shaders/webgl1/FallbackUnlit.vs +3 -3
- package/src/assets/shaders/webgl1/Gouraud.fs +14 -14
- package/src/assets/shaders/webgl1/Gouraud.vs +54 -69
- package/src/assets/shaders/webgl1/Line.fs +74 -0
- package/src/assets/shaders/webgl1/Line.vs +63 -0
- package/src/assets/shaders/webgl1/PBR.fs +364 -0
- package/src/assets/shaders/webgl1/PBR.vs +46 -0
- package/src/assets/shaders/webgl1/Phong.fs +207 -84
- package/src/assets/shaders/webgl1/Phong.vs +17 -18
- package/src/assets/shaders/webgl1/Point.fs +88 -0
- package/src/assets/shaders/webgl1/Point.vs +70 -0
- package/src/assets/shaders/webgl1/Unlit.fs +53 -28
- package/src/assets/shaders/webgl1/Unlit.vs +17 -18
- package/src/assets/shaders/webgl1/include/ClipPlanes.glsl +7 -7
- package/src/assets/shaders/webgl1/include/Colors.glsl +27 -0
- package/src/assets/shaders/webgl1/include/Fog.glsl +17 -17
- package/src/assets/shaders/webgl1/include/Hatch.glsl +8 -8
- package/src/assets/shaders/webgl1/include/Normal.glsl +44 -0
- package/src/assets/shaders/webgl1/include/Pack.glsl +11 -11
- package/src/assets/shaders/webgl1/include/Perlin.glsl +19 -19
- package/src/assets/shaders/webgl1/include/Shadow.glsl +212 -212
- package/src/assets/shaders/webgl1/include/SpotFactor.glsl +12 -0
- package/src/assets/shaders/webgl1/include/Texture.glsl +444 -393
- package/src/assets/shaders/webgl2/Background.fs +2 -2
- package/src/assets/shaders/webgl2/Background.vs +4 -4
- package/src/assets/shaders/webgl2/Depth.fs +2 -2
- package/src/assets/shaders/webgl2/Depth.vs +3 -3
- package/src/assets/shaders/webgl2/Gouraud.fs +14 -14
- package/src/assets/shaders/webgl2/Gouraud.vs +54 -69
- package/src/assets/shaders/webgl2/Line.fs +73 -0
- package/src/assets/shaders/webgl2/Line.vs +64 -0
- package/src/assets/shaders/webgl2/PBR.fs +370 -0
- package/src/assets/shaders/webgl2/PBR.vs +48 -0
- package/src/assets/shaders/webgl2/Phong.fs +219 -84
- package/src/assets/shaders/webgl2/Phong.vs +17 -18
- package/src/assets/shaders/webgl2/Point.fs +87 -0
- package/src/assets/shaders/webgl2/Point.vs +71 -0
- package/src/assets/shaders/webgl2/Unlit.fs +56 -28
- package/src/assets/shaders/webgl2/Unlit.vs +17 -18
- package/src/assets/shaders/webgl2/include/ClipPlanes.glsl +7 -7
- package/src/assets/shaders/webgl2/include/Colors.glsl +27 -0
- package/src/assets/shaders/webgl2/include/Fog.glsl +34 -34
- package/src/assets/shaders/webgl2/include/Hatch.glsl +8 -8
- package/src/assets/shaders/webgl2/include/Normal.glsl +46 -0
- package/src/assets/shaders/webgl2/include/Pack.glsl +11 -11
- package/src/assets/shaders/webgl2/include/Perlin.glsl +19 -20
- package/src/assets/shaders/webgl2/include/Shadow.glsl +226 -226
- package/src/assets/shaders/webgl2/include/SpotFactor.glsl +12 -0
- package/src/assets/shaders/webgl2/include/Texture.glsl +557 -537
- package/src/bookmarks.js +92 -92
- package/src/examples.js +147 -147
- package/src/lib/ammojs/AmmoJS.js +2 -2
- package/src/lib/ammojs/Makefile +14 -15
- package/src/lib/jquery.fullscreen-min.js +2 -2
- package/src/lib/nurbs/extras/sample.js +215 -215
- package/src/lib/nurbs/nurbs.js +326 -326
- package/src/lib/nurbs/src/evaluate.js +405 -405
- package/src/lib/nurbs/src/numerical-derivative.js +48 -48
- package/src/lib/nurbs/src/support.js +143 -143
- package/src/lib/nurbs/src/transform.js +70 -70
- package/src/lib/nurbs/src/utils/accessor-preamble.js +23 -23
- package/src/lib/nurbs/src/utils/bisection-search.js +18 -18
- package/src/lib/nurbs/src/utils/cache-key.js +49 -50
- package/src/lib/nurbs/src/utils/create-accessors.js +101 -101
- package/src/lib/nurbs/src/utils/infer-type.js +43 -43
- package/src/lib/nurbs/src/utils/is-array-like.js +5 -5
- package/src/lib/nurbs/src/utils/is-ndarray-like.js +11 -11
- package/src/lib/nurbs/src/utils/is-ndarray.js +13 -13
- package/src/lib/nurbs/src/utils/ndloop.js +18 -18
- package/src/lib/nurbs/src/utils/size-getter.js +15 -15
- package/src/lib/nurbs/src/utils/variable.js +25 -25
- package/src/lib/opentype.js/bin/ot +27 -27
- package/src/lib/opentype.js/dist/opentype.js +5 -5
- package/src/lib/opentype.js/font-inspector.html +1 -1
- package/src/lib/opentype.js/site.css +1 -3
- package/src/locale/gettext.js +73 -73
- package/src/spinner.css +40 -43
- package/src/standard/Geospatial/Geodetic.js +195 -195
- package/src/standard/Geospatial/ReferenceEllipsoids.js +43 -43
- package/src/standard/Geospatial/UniversalTransverseMercator.js +159 -159
- package/src/standard/Math/Algorithm.js +199 -187
- package/src/standard/Math/Algorithms/Bezier.js +80 -80
- package/src/standard/Math/Algorithms/MergeSort.js +49 -49
- package/src/standard/Math/Algorithms/PartialSort.js +36 -36
- package/src/standard/Math/Algorithms/QuickSort.js +51 -51
- package/src/standard/Math/Algorithms/SAT.js +62 -62
- package/src/standard/Math/Algorithms/eigendecomposition.js +141 -141
- package/src/standard/Math/Geometry/Box2.js +205 -205
- package/src/standard/Math/Geometry/Box3.js +624 -624
- package/src/standard/Math/Geometry/Camera.js +68 -68
- package/src/standard/Math/Geometry/Cylinder3.js +112 -112
- package/src/standard/Math/Geometry/Line3.js +188 -153
- package/src/standard/Math/Geometry/Plane3.js +120 -120
- package/src/standard/Math/Geometry/Sphere3.js +148 -148
- package/src/standard/Math/Geometry/Spheroid3.js +38 -38
- package/src/standard/Math/Geometry/Triangle2.js +19 -19
- package/src/standard/Math/Geometry/Triangle3.js +148 -148
- package/src/standard/Math/Geometry/ViewVolume.js +359 -359
- package/src/standard/Math/Numbers/Color3.js +219 -214
- package/src/standard/Math/Numbers/Color4.js +148 -142
- package/src/standard/Math/Numbers/Complex.js +139 -139
- package/src/standard/Math/Numbers/Matrix2.js +193 -193
- package/src/standard/Math/Numbers/Matrix3.js +679 -679
- package/src/standard/Math/Numbers/Matrix4.js +883 -883
- package/src/standard/Math/Numbers/Quaternion.js +496 -496
- package/src/standard/Math/Numbers/Rotation4.js +421 -415
- package/src/standard/Math/Numbers/Vector2.js +220 -220
- package/src/standard/Math/Numbers/Vector3.js +280 -280
- package/src/standard/Math/Numbers/Vector4.js +296 -296
- package/src/standard/Math/Utility/BVH.js +303 -303
- package/src/standard/Math/Utility/MatrixStack.js +64 -64
- package/src/standard/Networking/BinaryTransport.js +67 -67
- package/src/standard/Time/MicroTime.js +22 -22
- package/src/standard/Utility/DataStorage.js +85 -81
- package/src/standard/Utility/MapUtilities.js +14 -1
- package/src/standard/Utility/ObjectCache.js +24 -24
- package/src/standard/Utility/Shuffle.js +13 -13
- package/src/tests.js +355 -384
- package/src/x_ite/Base/Events.js +64 -55
- package/src/x_ite/{Basic/X3DArrayField.js → Base/FieldArray.js} +19 -12
- package/src/x_ite/Base/FieldDefinitionArray.js +75 -0
- package/src/x_ite/{Basic/FieldDefinitionArray.js → Base/X3DArrayField.js} +35 -59
- package/src/x_ite/Base/X3DBaseNode.js +588 -0
- package/src/x_ite/{Bits → Base}/X3DCast.js +23 -22
- package/src/x_ite/Base/X3DChildObject.js +68 -62
- package/src/x_ite/{Bits → Base}/X3DConstants.js +85 -85
- package/src/x_ite/Base/X3DEventObject.js +73 -68
- package/src/x_ite/Base/X3DField.js +450 -0
- package/src/x_ite/Base/X3DFieldDefinition.js +78 -0
- package/src/x_ite/Base/X3DInfoArray.js +291 -0
- package/src/x_ite/Base/X3DObject.js +152 -109
- package/src/x_ite/Base/X3DObjectArrayField.js +573 -0
- package/src/x_ite/Base/X3DTypedArrayField.js +866 -0
- package/src/x_ite/Browser/Core/BrowserOptions.js +376 -394
- package/src/x_ite/Browser/Core/BrowserProperties.js +38 -38
- package/src/x_ite/Browser/Core/BrowserTimings.js +173 -172
- package/src/x_ite/Browser/Core/ContextMenu.js +547 -551
- package/src/x_ite/Browser/Core/Notification.js +57 -56
- package/src/x_ite/Browser/Core/PrimitiveQuality.js +8 -8
- package/src/x_ite/Browser/Core/RenderingProperties.js +55 -55
- package/src/x_ite/Browser/Core/Shading.js +10 -10
- package/src/x_ite/Browser/Core/TextureQuality.js +8 -8
- package/src/x_ite/Browser/Core/X3DCoreContext.js +746 -724
- package/src/x_ite/Browser/EnvironmentalEffects/X3DEnvironmentalEffectsContext.js +33 -25
- package/src/x_ite/Browser/Followers/X3DArrayChaserTemplate.js +23 -23
- package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +127 -127
- package/src/x_ite/Browser/Geometry2D/Arc2DOptions.js +25 -25
- package/src/x_ite/Browser/Geometry2D/ArcClose2DOptions.js +25 -25
- package/src/x_ite/Browser/Geometry2D/Circle2DOptions.js +56 -55
- package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +116 -116
- package/src/x_ite/Browser/Geometry2D/Rectangle2DOptions.js +59 -59
- package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +80 -77
- package/src/x_ite/Browser/Geometry3D/BoxOptions.js +70 -70
- package/src/x_ite/Browser/Geometry3D/ConeOptions.js +26 -26
- package/src/x_ite/Browser/Geometry3D/CylinderOptions.js +27 -27
- package/src/x_ite/Browser/Geometry3D/IcoSphere.js +357 -357
- package/src/x_ite/Browser/Geometry3D/IcoSphereOptions.js +61 -61
- package/src/x_ite/Browser/Geometry3D/QuadSphereOptions.js +243 -241
- package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +37 -34
- package/src/x_ite/Browser/Geospatial/Geocentric.js +27 -27
- package/src/x_ite/Browser/Geospatial/Geospatial.js +157 -156
- package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +38 -33
- package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator.js +128 -130
- package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator1.js +39 -41
- package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator2.js +3 -3
- package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator3.js +3 -3
- package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +54 -56
- package/src/x_ite/Browser/Interpolation/SquatInterpolator.js +54 -56
- package/src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js +44 -41
- package/src/x_ite/Browser/Layering/X3DLayeringContext.js +20 -18
- package/src/x_ite/Browser/Layout/ScreenText.js +406 -405
- package/src/x_ite/Browser/Layout/X3DLayoutContext.js +36 -30
- package/src/x_ite/Browser/Lighting/X3DLightingContext.js +54 -50
- package/src/x_ite/Browser/NURBS/NURBS.js +417 -417
- package/src/x_ite/Browser/Navigation/ExamineViewer.js +753 -753
- package/src/x_ite/Browser/Navigation/FlyViewer.js +39 -39
- package/src/x_ite/Browser/Navigation/LookAtViewer.js +461 -461
- package/src/x_ite/Browser/Navigation/NoneViewer.js +18 -18
- package/src/x_ite/Browser/Navigation/PlaneViewer.js +193 -193
- package/src/x_ite/Browser/Navigation/WalkViewer.js +61 -61
- package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +709 -710
- package/src/x_ite/Browser/Navigation/X3DNavigationContext.js +188 -182
- package/src/x_ite/Browser/Navigation/X3DViewer.js +160 -160
- package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +152 -143
- package/src/x_ite/Browser/Networking/urls.js +31 -31
- package/src/x_ite/Browser/ParticleSystems/X3DParticleSystemsContext.js +17 -13
- package/src/x_ite/Browser/Picking/IntersectionType.js +7 -7
- package/src/x_ite/Browser/Picking/MatchCriterion.js +8 -8
- package/src/x_ite/Browser/Picking/SortOrder.js +9 -9
- package/src/x_ite/Browser/Picking/VolumePicker.js +138 -138
- package/src/x_ite/Browser/Picking/X3DPickingContext.js +80 -69
- package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +208 -209
- package/src/x_ite/Browser/PointingDeviceSensor/PointingDeviceSensorContainer.js +34 -34
- package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +269 -263
- package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +132 -119
- package/src/x_ite/Browser/RigidBodyPhysics/AppliedParametersType.js +14 -14
- package/src/x_ite/Browser/Scripting/X3DScriptingContext.js +20 -19
- package/src/x_ite/Browser/Scripting/evaluate.js +7 -7
- package/src/x_ite/Browser/Shaders/Shader.js +152 -159
- package/src/x_ite/Browser/Shaders/ShaderSource.js +81 -63
- package/src/x_ite/Browser/Shaders/ShaderTest.js +97 -98
- package/src/x_ite/Browser/Shaders/X3DShadersContext.js +256 -249
- package/src/x_ite/Browser/Shape/AlphaMode.js +9 -9
- package/src/x_ite/Browser/Shape/X3DShapeContext.js +111 -89
- package/src/x_ite/Browser/Sound/X3DSoundContext.js +11 -11
- package/src/x_ite/Browser/Text/PolygonText.js +319 -319
- package/src/x_ite/Browser/Text/TextAlignment.js +9 -9
- package/src/x_ite/Browser/Text/X3DTextContext.js +72 -65
- package/src/x_ite/Browser/Text/X3DTextGeometry.js +506 -506
- package/src/x_ite/Browser/Texturing/MultiTextureFunctionType.js +8 -8
- package/src/x_ite/Browser/Texturing/MultiTextureModeType.js +25 -25
- package/src/x_ite/Browser/Texturing/MultiTextureSourceType.js +9 -9
- package/src/x_ite/Browser/Texturing/TextureCoordinateGeneratorModeType.js +17 -17
- package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +259 -224
- package/src/x_ite/Browser/Texturing3D/DICOMParser.js +1066 -1066
- package/src/x_ite/Browser/Texturing3D/NRRDParser.js +641 -630
- package/src/x_ite/Browser/Time/X3DTimeContext.js +54 -37
- package/src/x_ite/Browser/VERSION.js +1 -1
- package/src/x_ite/Browser/VolumeRendering/VolumeStyle.fs +55 -55
- package/src/x_ite/Browser/VolumeRendering/VolumeStyle.vs +5 -5
- package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +52 -41
- package/src/x_ite/Browser/X3DBrowser.js +819 -755
- package/src/x_ite/Browser/X3DBrowserContext.js +253 -220
- package/src/x_ite/Components/Annotation/AnnotationLayer.js +43 -43
- package/src/x_ite/Components/Annotation/AnnotationTarget.js +38 -38
- package/src/x_ite/Components/Annotation/GroupAnnotation.js +48 -48
- package/src/x_ite/Components/Annotation/IconAnnotation.js +46 -46
- package/src/x_ite/Components/Annotation/TextAnnotation.js +39 -39
- package/src/x_ite/Components/Annotation/URLAnnotation.js +38 -38
- package/src/x_ite/Components/Annotation/X3DAnnotationNode.js +16 -16
- package/src/x_ite/Components/CADGeometry/CADAssembly.js +41 -41
- package/src/x_ite/Components/CADGeometry/CADFace.js +189 -189
- package/src/x_ite/Components/CADGeometry/CADLayer.js +38 -38
- package/src/x_ite/Components/CADGeometry/CADPart.js +46 -46
- package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +67 -67
- package/src/x_ite/Components/CADGeometry/QuadSet.js +64 -63
- package/src/x_ite/Components/CADGeometry/X3DProductStructureChildNode.js +13 -15
- package/src/x_ite/Components/Core/MetadataBoolean.js +38 -40
- package/src/x_ite/Components/Core/MetadataDouble.js +38 -40
- package/src/x_ite/Components/Core/MetadataFloat.js +38 -40
- package/src/x_ite/Components/Core/MetadataInteger.js +38 -40
- package/src/x_ite/Components/Core/MetadataSet.js +38 -40
- package/src/x_ite/Components/Core/MetadataString.js +38 -40
- package/src/x_ite/Components/Core/WorldInfo.js +42 -42
- package/src/x_ite/Components/Core/X3DBindableNode.js +20 -20
- package/src/x_ite/Components/Core/X3DChildNode.js +38 -40
- package/src/x_ite/Components/Core/X3DInfoNode.js +13 -15
- package/src/x_ite/Components/Core/X3DMetadataObject.js +11 -13
- package/src/x_ite/Components/Core/X3DNode.js +795 -14
- package/src/x_ite/Components/Core/X3DPrototypeInstance.js +585 -479
- package/src/x_ite/Components/Core/X3DSensorNode.js +13 -15
- package/src/x_ite/Components/Core.js +39 -39
- package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +193 -200
- package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +209 -206
- package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +213 -219
- package/src/x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode.js +69 -60
- package/src/x_ite/Components/DIS/DISEntityManager.js +38 -40
- package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +59 -41
- package/src/x_ite/Components/DIS/EspduTransform.js +128 -128
- package/src/x_ite/Components/DIS/ReceiverPdu.js +68 -68
- package/src/x_ite/Components/DIS/SignalPdu.js +68 -68
- package/src/x_ite/Components/DIS/TransmitterPdu.js +84 -84
- package/src/x_ite/Components/EnvironmentalEffects/Background.js +87 -89
- package/src/x_ite/Components/EnvironmentalEffects/Fog.js +59 -59
- package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +78 -78
- package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +56 -56
- package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +86 -88
- package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +582 -589
- package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +105 -105
- package/src/x_ite/Components/EnvironmentalEffects.js +25 -25
- package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +229 -229
- package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +256 -256
- package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +114 -114
- package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +71 -71
- package/src/x_ite/Components/EnvironmentalSensor.js +19 -19
- package/src/x_ite/Components/EventUtilities/BooleanFilter.js +50 -52
- package/src/x_ite/Components/EventUtilities/BooleanSequencer.js +50 -52
- package/src/x_ite/Components/EventUtilities/BooleanToggle.js +43 -45
- package/src/x_ite/Components/EventUtilities/BooleanTrigger.js +42 -44
- package/src/x_ite/Components/EventUtilities/IntegerSequencer.js +50 -52
- package/src/x_ite/Components/EventUtilities/IntegerTrigger.js +43 -45
- package/src/x_ite/Components/EventUtilities/TimeTrigger.js +43 -45
- package/src/x_ite/Components/EventUtilities/X3DSequencerNode.js +92 -94
- package/src/x_ite/Components/EventUtilities/X3DTriggerNode.js +13 -15
- package/src/x_ite/Components/Followers/ColorChaser.js +78 -78
- package/src/x_ite/Components/Followers/ColorDamper.js +78 -78
- package/src/x_ite/Components/Followers/CoordinateChaser.js +46 -46
- package/src/x_ite/Components/Followers/CoordinateDamper.js +48 -48
- package/src/x_ite/Components/Followers/OrientationChaser.js +64 -64
- package/src/x_ite/Components/Followers/OrientationDamper.js +61 -61
- package/src/x_ite/Components/Followers/PositionChaser.js +42 -42
- package/src/x_ite/Components/Followers/PositionChaser2D.js +42 -42
- package/src/x_ite/Components/Followers/PositionDamper.js +44 -44
- package/src/x_ite/Components/Followers/PositionDamper2D.js +44 -44
- package/src/x_ite/Components/Followers/ScalarChaser.js +70 -70
- package/src/x_ite/Components/Followers/ScalarDamper.js +60 -60
- package/src/x_ite/Components/Followers/TexCoordChaser2D.js +46 -46
- package/src/x_ite/Components/Followers/TexCoordDamper2D.js +48 -48
- package/src/x_ite/Components/Followers/X3DChaserNode.js +194 -194
- package/src/x_ite/Components/Followers/X3DDamperNode.js +120 -120
- package/src/x_ite/Components/Followers/X3DFollowerNode.js +83 -83
- package/src/x_ite/Components/Followers.js +45 -45
- package/src/x_ite/Components/Geometry2D/Arc2D.js +99 -113
- package/src/x_ite/Components/Geometry2D/ArcClose2D.js +164 -166
- package/src/x_ite/Components/Geometry2D/Circle2D.js +59 -67
- package/src/x_ite/Components/Geometry2D/Disk2D.js +207 -211
- package/src/x_ite/Components/Geometry2D/Polyline2D.js +43 -52
- package/src/x_ite/Components/Geometry2D/Polypoint2D.js +43 -60
- package/src/x_ite/Components/Geometry2D/Rectangle2D.js +76 -73
- package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +69 -71
- package/src/x_ite/Components/Geometry3D/Box.js +90 -86
- package/src/x_ite/Components/Geometry3D/Cone.js +185 -187
- package/src/x_ite/Components/Geometry3D/Cylinder.js +246 -246
- package/src/x_ite/Components/Geometry3D/ElevationGrid.js +383 -384
- package/src/x_ite/Components/Geometry3D/Extrusion.js +653 -647
- package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +437 -445
- package/src/x_ite/Components/Geometry3D/Sphere.js +72 -74
- package/src/x_ite/Components/Geometry3D.js +25 -25
- package/src/x_ite/Components/Geospatial/GeoCoordinate.js +189 -191
- package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +381 -383
- package/src/x_ite/Components/Geospatial/GeoLOD.js +397 -397
- package/src/x_ite/Components/Geospatial/GeoLocation.js +56 -56
- package/src/x_ite/Components/Geospatial/GeoMetadata.js +54 -36
- package/src/x_ite/Components/Geospatial/GeoOrigin.js +50 -52
- package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +81 -83
- package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +95 -97
- package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +77 -79
- package/src/x_ite/Components/Geospatial/GeoTransform.js +79 -79
- package/src/x_ite/Components/Geospatial/GeoViewpoint.js +278 -278
- package/src/x_ite/Components/Geospatial/X3DGeospatialObject.js +216 -218
- package/src/x_ite/Components/Grouping/Group.js +37 -37
- package/src/x_ite/Components/Grouping/StaticGroup.js +245 -245
- package/src/x_ite/Components/Grouping/Switch.js +234 -234
- package/src/x_ite/Components/Grouping/Transform.js +42 -42
- package/src/x_ite/Components/Grouping/X3DBoundedObject.js +93 -93
- package/src/x_ite/Components/Grouping/X3DGroupingNode.js +654 -649
- package/src/x_ite/Components/Grouping/X3DTransformMatrix3DNode.js +99 -99
- package/src/x_ite/Components/Grouping/X3DTransformNode.js +31 -31
- package/src/x_ite/Components/Grouping.js +27 -27
- package/src/x_ite/Components/HAnim/HAnimDisplacer.js +35 -35
- package/src/x_ite/Components/HAnim/HAnimHumanoid.js +293 -293
- package/src/x_ite/Components/HAnim/HAnimJoint.js +137 -137
- package/src/x_ite/Components/HAnim/HAnimMotion.js +50 -50
- package/src/x_ite/Components/HAnim/HAnimSegment.js +44 -44
- package/src/x_ite/Components/HAnim/HAnimSite.js +43 -43
- package/src/x_ite/Components/Interpolation/ColorInterpolator.js +61 -63
- package/src/x_ite/Components/Interpolation/CoordinateInterpolator.js +60 -62
- package/src/x_ite/Components/Interpolation/CoordinateInterpolator2D.js +57 -59
- package/src/x_ite/Components/Interpolation/EaseInEaseOut.js +79 -80
- package/src/x_ite/Components/Interpolation/NormalInterpolator.js +96 -93
- package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +70 -70
- package/src/x_ite/Components/Interpolation/PositionInterpolator.js +57 -59
- package/src/x_ite/Components/Interpolation/PositionInterpolator2D.js +57 -59
- package/src/x_ite/Components/Interpolation/ScalarInterpolator.js +53 -55
- package/src/x_ite/Components/Interpolation/SplinePositionInterpolator.js +78 -80
- package/src/x_ite/Components/Interpolation/SplinePositionInterpolator2D.js +77 -79
- package/src/x_ite/Components/Interpolation/SplineScalarInterpolator.js +78 -80
- package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +66 -66
- package/src/x_ite/Components/Interpolation/X3DInterpolatorNode.js +67 -69
- package/src/x_ite/Components/Interpolation.js +39 -39
- package/src/x_ite/Components/KeyDeviceSensor/KeySensor.js +304 -306
- package/src/x_ite/Components/KeyDeviceSensor/StringSensor.js +102 -104
- package/src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js +51 -51
- package/src/x_ite/Components/Layering/Layer.js +50 -50
- package/src/x_ite/Components/Layering/LayerSet.js +160 -161
- package/src/x_ite/Components/Layering/Viewport.js +118 -118
- package/src/x_ite/Components/Layering/X3DLayerNode.js +322 -322
- package/src/x_ite/Components/Layering/X3DViewportNode.js +13 -13
- package/src/x_ite/Components/Layering.js +21 -21
- package/src/x_ite/Components/Layout/Layout.js +576 -578
- package/src/x_ite/Components/Layout/LayoutGroup.js +126 -126
- package/src/x_ite/Components/Layout/LayoutLayer.js +53 -53
- package/src/x_ite/Components/Layout/ScreenFontStyle.js +48 -48
- package/src/x_ite/Components/Layout/ScreenGroup.js +136 -136
- package/src/x_ite/Components/Layout/X3DLayoutNode.js +12 -14
- package/src/x_ite/Components/Lighting/DirectionalLight.js +239 -246
- package/src/x_ite/Components/Lighting/PointLight.js +296 -303
- package/src/x_ite/Components/Lighting/SpotLight.js +321 -316
- package/src/x_ite/Components/Lighting/X3DLightNode.js +153 -153
- package/src/x_ite/Components/Lighting.js +19 -19
- package/src/x_ite/Components/NURBS/Contour2D.js +81 -83
- package/src/x_ite/Components/NURBS/ContourPolyline2D.js +100 -102
- package/src/x_ite/Components/NURBS/CoordinateDouble.js +32 -34
- package/src/x_ite/Components/NURBS/NurbsCurve.js +167 -169
- package/src/x_ite/Components/NURBS/NurbsCurve2D.js +149 -149
- package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +166 -166
- package/src/x_ite/Components/NURBS/NurbsPatchSurface.js +45 -47
- package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +154 -154
- package/src/x_ite/Components/NURBS/NurbsSet.js +125 -125
- package/src/x_ite/Components/NURBS/NurbsSurfaceInterpolator.js +128 -130
- package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +120 -122
- package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +120 -122
- package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +93 -93
- package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +88 -90
- package/src/x_ite/Components/NURBS/X3DNurbsControlCurveNode.js +13 -15
- package/src/x_ite/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +339 -339
- package/src/x_ite/Components/NURBS/X3DParametricGeometryNode.js +18 -20
- package/src/x_ite/Components/Navigation/Billboard.js +132 -132
- package/src/x_ite/Components/Navigation/Collision.js +116 -116
- package/src/x_ite/Components/Navigation/LOD.js +308 -308
- package/src/x_ite/Components/Navigation/NavigationInfo.js +279 -285
- package/src/x_ite/Components/Navigation/OrthoViewpoint.js +258 -258
- package/src/x_ite/Components/Navigation/Viewpoint.js +137 -137
- package/src/x_ite/Components/Navigation/ViewpointGroup.js +169 -171
- package/src/x_ite/Components/Navigation/X3DViewpointNode.js +450 -453
- package/src/x_ite/Components/Navigation.js +27 -27
- package/src/x_ite/Components/Networking/Anchor.js +140 -128
- package/src/x_ite/Components/Networking/Inline.js +156 -197
- package/src/x_ite/Components/Networking/LoadSensor.js +193 -195
- package/src/x_ite/Components/Networking/X3DNetworkSensorNode.js +13 -15
- package/src/x_ite/Components/Networking/X3DUrlObject.js +170 -116
- package/src/x_ite/Components/Networking.js +21 -21
- package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +62 -64
- package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +81 -83
- package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +59 -61
- package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +42 -44
- package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +1433 -1433
- package/src/x_ite/Components/ParticleSystems/PointEmitter.js +77 -79
- package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +196 -196
- package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +195 -195
- package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +250 -250
- package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +69 -71
- package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +346 -346
- package/src/x_ite/Components/ParticleSystems/X3DParticlePhysicsModelNode.js +15 -17
- package/src/x_ite/Components/Picking/LinePickSensor.js +284 -286
- package/src/x_ite/Components/Picking/PickableGroup.js +155 -155
- package/src/x_ite/Components/Picking/PointPickSensor.js +272 -272
- package/src/x_ite/Components/Picking/PrimitivePickSensor.js +207 -209
- package/src/x_ite/Components/Picking/VolumePickSensor.js +182 -184
- package/src/x_ite/Components/Picking/X3DPickSensorNode.js +382 -382
- package/src/x_ite/Components/Picking/X3DPickableObject.js +28 -30
- package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +257 -259
- package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +245 -247
- package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +173 -175
- package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +61 -63
- package/src/x_ite/Components/PointingDeviceSensor/X3DDragSensorNode.js +14 -16
- package/src/x_ite/Components/PointingDeviceSensor/X3DPointingDeviceSensorNode.js +57 -59
- package/src/x_ite/Components/PointingDeviceSensor/X3DTouchSensorNode.js +19 -21
- package/src/x_ite/Components/PointingDeviceSensor.js +25 -25
- package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorParallel.js +191 -191
- package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorPerspective.js +162 -162
- package/src/x_ite/Components/ProjectiveTextureMapping/X3DTextureProjectorNode.js +156 -156
- package/src/x_ite/Components/Rendering/ClipPlane.js +120 -120
- package/src/x_ite/Components/Rendering/Color.js +112 -112
- package/src/x_ite/Components/Rendering/ColorRGBA.js +114 -114
- package/src/x_ite/Components/Rendering/Coordinate.js +33 -35
- package/src/x_ite/Components/Rendering/IndexedLineSet.js +236 -243
- package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +102 -102
- package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +55 -55
- package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +110 -110
- package/src/x_ite/Components/Rendering/LineSet.js +172 -179
- package/src/x_ite/Components/Rendering/Normal.js +100 -100
- package/src/x_ite/Components/Rendering/PointSet.js +142 -154
- package/src/x_ite/Components/Rendering/TriangleFanSet.js +73 -73
- package/src/x_ite/Components/Rendering/TriangleSet.js +51 -53
- package/src/x_ite/Components/Rendering/TriangleStripSet.js +76 -76
- package/src/x_ite/Components/Rendering/X3DColorNode.js +25 -27
- package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +318 -321
- package/src/x_ite/Components/Rendering/X3DCoordinateNode.js +132 -132
- package/src/x_ite/Components/Rendering/X3DGeometricPropertyNode.js +13 -15
- package/src/x_ite/Components/Rendering/X3DGeometryNode.js +1190 -1171
- package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +231 -189
- package/src/x_ite/Components/Rendering/X3DNormalNode.js +13 -15
- package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +267 -0
- package/src/x_ite/Components/Rendering.js +53 -53
- package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +149 -149
- package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +229 -229
- package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +465 -465
- package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +152 -154
- package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +223 -223
- package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +117 -117
- package/src/x_ite/Components/RigidBodyPhysics/Contact.js +54 -56
- package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +245 -245
- package/src/x_ite/Components/RigidBodyPhysics/MotorJoint.js +68 -70
- package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +453 -453
- package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +326 -326
- package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +171 -171
- package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +169 -169
- package/src/x_ite/Components/RigidBodyPhysics/UniversalJoint.js +50 -52
- package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode.js +101 -101
- package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollisionSpaceNode.js +15 -15
- package/src/x_ite/Components/RigidBodyPhysics/X3DRigidJointNode.js +161 -163
- package/src/x_ite/Components/Scripting/Script.js +506 -510
- package/src/x_ite/Components/Scripting/X3DScriptNode.js +15 -15
- package/src/x_ite/Components/Shaders/ComposedShader.js +215 -178
- package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +84 -83
- package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +74 -74
- package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +73 -73
- package/src/x_ite/Components/Shaders/PackagedShader.js +52 -49
- package/src/x_ite/Components/Shaders/ProgramShader.js +36 -38
- package/src/x_ite/Components/Shaders/ShaderPart.js +135 -147
- package/src/x_ite/Components/Shaders/ShaderProgram.js +49 -46
- package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +1259 -1255
- package/src/x_ite/Components/Shaders/X3DShaderNode.js +83 -93
- package/src/x_ite/Components/Shaders/X3DVertexAttributeNode.js +13 -15
- package/src/x_ite/Components/Shaders.js +33 -33
- package/src/x_ite/{Execution/ExportedNode.js → Components/Shape/AcousticProperties.js} +41 -71
- package/src/x_ite/Components/Shape/Appearance.js +331 -318
- package/src/x_ite/Components/Shape/FillProperties.js +101 -98
- package/src/x_ite/Components/Shape/LineProperties.js +71 -69
- package/src/x_ite/Components/Shape/Material.js +344 -116
- package/src/x_ite/Components/Shape/PhysicalMaterial.js +310 -0
- package/src/x_ite/Components/Shape/PointProperties.js +79 -95
- package/src/x_ite/Components/Shape/Shape.js +178 -181
- package/src/x_ite/Components/Shape/TwoSidedMaterial.js +200 -200
- package/src/x_ite/Components/Shape/UnlitMaterial.js +93 -46
- package/src/x_ite/Components/Shape/X3DAppearanceChildNode.js +13 -15
- package/src/x_ite/Components/Shape/X3DAppearanceNode.js +24 -24
- package/src/x_ite/Components/Shape/X3DMaterialNode.js +24 -24
- package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +158 -54
- package/src/x_ite/Components/Shape/X3DShapeNode.js +147 -147
- package/src/x_ite/Components/Shape.js +43 -37
- package/src/x_ite/Components/Sound/AudioClip.js +135 -140
- package/src/x_ite/Components/Sound/Sound.js +246 -246
- package/src/x_ite/Components/Sound/X3DSoundNode.js +13 -15
- package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +165 -179
- package/src/x_ite/Components/Sound.js +19 -19
- package/src/x_ite/Components/Text/FontStyle.js +49 -49
- package/src/x_ite/Components/Text/Text.js +135 -135
- package/src/x_ite/Components/Text/X3DFontStyleNode.js +207 -205
- package/src/x_ite/Components/Text.js +17 -17
- package/src/x_ite/Components/Texturing/ImageTexture.js +181 -194
- package/src/x_ite/Components/Texturing/MovieTexture.js +180 -190
- package/src/x_ite/Components/Texturing/MultiTexture.js +255 -262
- package/src/x_ite/Components/Texturing/MultiTextureCoordinate.js +124 -118
- package/src/x_ite/Components/Texturing/MultiTextureTransform.js +82 -76
- package/src/x_ite/Components/Texturing/PixelTexture.js +222 -221
- package/src/x_ite/Components/Texturing/TextureCoordinate.js +116 -116
- package/src/x_ite/Components/Texturing/TextureCoordinateGenerator.js +90 -90
- package/src/x_ite/Components/Texturing/TextureProperties.js +158 -160
- package/src/x_ite/Components/Texturing/TextureTransform.js +99 -99
- package/src/x_ite/Components/Texturing/X3DSingleTextureCoordinateNode.js +33 -28
- package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +54 -54
- package/src/x_ite/Components/Texturing/X3DSingleTextureTransformNode.js +22 -17
- package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +135 -124
- package/src/x_ite/Components/Texturing/X3DTextureCoordinateNode.js +16 -16
- package/src/x_ite/Components/Texturing/X3DTextureNode.js +24 -24
- package/src/x_ite/Components/Texturing/X3DTextureTransformNode.js +22 -22
- package/src/x_ite/Components/Texturing.js +45 -45
- package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +125 -123
- package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +115 -131
- package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +158 -160
- package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +116 -116
- package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +116 -116
- package/src/x_ite/Components/Texturing3D/TextureTransform3D.js +88 -88
- package/src/x_ite/Components/Texturing3D/TextureTransformMatrix3D.js +46 -46
- package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +135 -121
- package/src/x_ite/Components/Time/TimeSensor.js +155 -152
- package/src/x_ite/Components/Time/X3DTimeDependentNode.js +299 -302
- package/src/x_ite/Components/Time.js +15 -15
- package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +338 -338
- package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +80 -80
- package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +228 -228
- package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +163 -163
- package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +117 -117
- package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +334 -334
- package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +116 -116
- package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +167 -167
- package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +247 -247
- package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +198 -198
- package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +116 -116
- package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +126 -126
- package/src/x_ite/Components/VolumeRendering/VolumeData.js +173 -173
- package/src/x_ite/Components/VolumeRendering/X3DComposableVolumeRenderStyleNode.js +12 -12
- package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +167 -167
- package/src/x_ite/Components/VolumeRendering/X3DVolumeRenderStyleNode.js +70 -70
- package/src/x_ite/Components/X_ITE/BlendMode.js +143 -145
- package/src/x_ite/Components.js +47 -47
- package/src/x_ite/Configuration/ComponentInfo.js +47 -42
- package/src/x_ite/Configuration/ComponentInfoArray.js +21 -19
- package/src/x_ite/Configuration/ProfileInfo.js +33 -23
- package/src/x_ite/Configuration/ProfileInfoArray.js +26 -16
- package/src/x_ite/Configuration/SupportedComponents.js +311 -311
- package/src/x_ite/Configuration/SupportedNodes.js +53 -38
- package/src/x_ite/Configuration/SupportedProfiles.js +190 -190
- package/src/x_ite/Configuration/UnitInfo.js +60 -51
- package/src/x_ite/Configuration/UnitInfoArray.js +17 -10
- package/src/x_ite/DEBUG.js +2 -2
- package/src/x_ite/Execution/BindableList.js +146 -149
- package/src/x_ite/Execution/BindableStack.js +130 -123
- package/src/x_ite/Execution/ExportedNodesArray.js +75 -0
- package/src/x_ite/Execution/ImportedNodesArray.js +75 -0
- package/src/x_ite/{Basic/X3DFieldDefinition.js → Execution/NamedNodesArray.js} +20 -10
- package/src/x_ite/Execution/Scene.js +93 -90
- package/src/x_ite/Execution/X3DExecutionContext.js +957 -781
- package/src/x_ite/Execution/X3DExportedNode.js +152 -0
- package/src/x_ite/Execution/X3DImportedNode.js +393 -0
- package/src/x_ite/Execution/X3DScene.js +546 -493
- package/src/x_ite/Execution/X3DWorld.js +171 -0
- package/src/x_ite/Fallback.js +31 -31
- package/src/x_ite/Fields/ArrayFields.js +463 -443
- package/src/x_ite/Fields/SFBool.js +50 -47
- package/src/x_ite/Fields/SFColor.js +163 -160
- package/src/x_ite/Fields/SFColorRGBA.js +155 -152
- package/src/x_ite/Fields/SFDouble.js +51 -48
- package/src/x_ite/Fields/SFFloat.js +51 -48
- package/src/x_ite/Fields/SFImage.js +216 -213
- package/src/x_ite/Fields/SFInt32.js +47 -44
- package/src/x_ite/Fields/SFMatrix3.js +74 -71
- package/src/x_ite/Fields/SFMatrix4.js +68 -65
- package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +98 -98
- package/src/x_ite/Fields/SFNode.js +392 -299
- package/src/x_ite/Fields/SFNodeCache.js +22 -33
- package/src/x_ite/Fields/SFRotation.js +178 -175
- package/src/x_ite/Fields/SFString.js +71 -68
- package/src/x_ite/Fields/SFTime.js +47 -44
- package/src/x_ite/Fields/SFVec2.js +73 -70
- package/src/x_ite/Fields/SFVec3.js +105 -102
- package/src/x_ite/Fields/SFVec4.js +118 -115
- package/src/x_ite/Fields/SFVecPrototypeTemplate.js +94 -94
- package/src/x_ite/Fields.js +44 -44
- package/src/x_ite/InputOutput/FileLoader.js +426 -531
- package/src/x_ite/InputOutput/Generator.js +379 -376
- package/src/x_ite/{Configuration/X3DInfoArray.js → Parser/GoldenGate.js} +54 -86
- package/src/x_ite/Parser/HTMLSupport.js +28 -6
- package/src/x_ite/Parser/JSONParser.js +414 -388
- package/src/x_ite/Parser/VRMLParser.js +2964 -0
- package/src/x_ite/Parser/X3DParser.js +128 -128
- package/src/x_ite/Parser/XMLParser.js +1231 -1178
- package/src/x_ite/Prototype/ExternProtoDeclarationArray.js +17 -27
- package/src/x_ite/Prototype/ProtoDeclarationArray.js +17 -27
- package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +279 -297
- package/src/x_ite/Prototype/X3DProtoDeclaration.js +264 -263
- package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +58 -35
- package/src/x_ite/Rendering/DependentRenderer.js +83 -80
- package/src/x_ite/Rendering/TextureBuffer.js +171 -168
- package/src/x_ite/{Bits → Rendering}/TraverseType.js +11 -11
- package/src/x_ite/Rendering/X3DRenderObject.js +895 -906
- package/src/x_ite/Routing/RouteArray.js +19 -71
- package/src/x_ite/Routing/X3DRoute.js +185 -179
- package/src/x_ite/Routing/X3DRoutingContext.js +60 -54
- package/src/x_ite/X3D.js +191 -175
- package/src/x_ite.config.js +83 -83
- package/src/x_ite.css +279 -288
- package/src/x_ite.html +226 -193
- package/src/x_ite.js +100 -127
- package/x_ite.min.html +220 -187
- package/src/assets/shaders/webgl1/PointSet.fs +0 -100
- package/src/assets/shaders/webgl1/PointSet.vs +0 -70
- package/src/assets/shaders/webgl1/Wireframe.fs +0 -74
- package/src/assets/shaders/webgl1/Wireframe.vs +0 -63
- package/src/assets/shaders/webgl2/PointSet.fs +0 -99
- package/src/assets/shaders/webgl2/PointSet.vs +0 -71
- package/src/assets/shaders/webgl2/Wireframe.fs +0 -73
- package/src/assets/shaders/webgl2/Wireframe.vs +0 -64
- package/src/x_ite/Basic/X3DBaseNode.js +0 -1253
- package/src/x_ite/Basic/X3DField.js +0 -370
- package/src/x_ite/Basic/X3DObjectArrayField.js +0 -545
- package/src/x_ite/Basic/X3DTypedArrayField.js +0 -839
- package/src/x_ite/Browser/Core/X3DCoreContext.js.~1~ +0 -714
- package/src/x_ite/Components/Texturing/X3DTexture2DNode.js.~1~ +0 -209
- package/src/x_ite/Execution/ImportedNode.js +0 -375
- package/src/x_ite/Execution/World.js +0 -162
- package/src/x_ite/Parser/Parser.js +0 -2944
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#version 300 es
|
|
2
|
+
precision highp float;
|
|
3
|
+
precision highp int;
|
|
4
|
+
uniform mat4 x3d_ProjectionMatrix;
|
|
5
|
+
uniform mat4 x3d_ModelViewMatrix;
|
|
6
|
+
uniform mat3 x3d_NormalMatrix;
|
|
7
|
+
in vec4 x3d_Vertex;
|
|
8
|
+
in vec3 x3d_Normal;
|
|
9
|
+
in vec4 x3d_TexCoord0;
|
|
10
|
+
in vec4 x3d_TexCoord1;
|
|
11
|
+
in vec4 x3d_Color;
|
|
12
|
+
out vec3 vertex;
|
|
13
|
+
out vec3 normal;
|
|
14
|
+
out vec4 texCoord0;
|
|
15
|
+
out vec4 texCoord1;
|
|
16
|
+
out vec4 color;
|
|
17
|
+
out vec3 localNormal;
|
|
18
|
+
out vec3 localVertex;
|
|
19
|
+
#ifdef X3D_LOGARITHMIC_DEPTH_BUFFER
|
|
20
|
+
out float depth;
|
|
21
|
+
#endif
|
|
22
|
+
void
|
|
23
|
+
main ()
|
|
24
|
+
{
|
|
25
|
+
vec4 position = x3d_ModelViewMatrix * x3d_Vertex;
|
|
26
|
+
vertex = position .xyz;
|
|
27
|
+
normal = normalize (x3d_NormalMatrix * x3d_Normal);
|
|
28
|
+
texCoord0 = x3d_TexCoord0;
|
|
29
|
+
texCoord1 = x3d_TexCoord1;
|
|
30
|
+
color = x3d_Color;
|
|
31
|
+
localNormal = x3d_Normal;
|
|
32
|
+
localVertex = x3d_Vertex .xyz;
|
|
33
|
+
gl_Position = x3d_ProjectionMatrix * position;
|
|
34
|
+
#ifdef X3D_LOGARITHMIC_DEPTH_BUFFER
|
|
35
|
+
depth = 1.0 + gl_Position .w;
|
|
36
|
+
#endif
|
|
37
|
+
}
|
|
@@ -290,19 +290,20 @@ return 0.0;
|
|
|
290
290
|
}
|
|
291
291
|
#endif
|
|
292
292
|
precision highp sampler3D;
|
|
293
|
+
uniform mat4 x3d_TextureMatrix [x3d_MaxTextures];
|
|
293
294
|
uniform int x3d_NumTextures;
|
|
294
295
|
uniform int x3d_TextureType [x3d_MaxTextures];
|
|
295
296
|
uniform sampler2D x3d_Texture2D [x3d_MaxTextures];
|
|
296
297
|
uniform sampler3D x3d_Texture3D [x3d_MaxTextures];
|
|
297
|
-
uniform samplerCube
|
|
298
|
+
uniform samplerCube x3d_TextureCube [x3d_MaxTextures];
|
|
298
299
|
#ifdef X3D_MULTI_TEXTURING
|
|
299
|
-
#define M_PI 3.14159265358979323846
|
|
300
300
|
float rand (vec2 co) { return fract (sin (dot (co.xy, vec2 (12.9898,78.233))) * 43758.5453); }
|
|
301
301
|
float rand (vec2 co, float l) { return rand (vec2 (rand (co), l)); }
|
|
302
302
|
float rand (vec2 co, float l, float t) { return rand (vec2 (rand (co, l), t)); }
|
|
303
303
|
float
|
|
304
304
|
perlin (vec2 p, float dim, float time)
|
|
305
305
|
{
|
|
306
|
+
const float M_PI = 3.14159265358979323846;
|
|
306
307
|
vec2 pos = floor (p * dim);
|
|
307
308
|
vec2 posx = pos + vec2 (1.0, 0.0);
|
|
308
309
|
vec2 posy = pos + vec2 (0.0, 1.0);
|
|
@@ -330,7 +331,7 @@ uniform int x3d_NumProjectiveTextures;
|
|
|
330
331
|
uniform sampler2D x3d_ProjectiveTexture [x3d_MaxTextures];
|
|
331
332
|
uniform mat4 x3d_ProjectiveTextureMatrix [x3d_MaxTextures];
|
|
332
333
|
uniform vec3 x3d_ProjectiveTextureLocation [x3d_MaxTextures];
|
|
333
|
-
#endif
|
|
334
|
+
#endif
|
|
334
335
|
uniform vec4 x3d_MultiTextureColor;
|
|
335
336
|
uniform x3d_MultiTextureParameters x3d_MultiTexture [x3d_MaxTextures];
|
|
336
337
|
uniform x3d_TextureCoordinateGeneratorParameters x3d_TextureCoordinateGenerator [x3d_MaxTextures];
|
|
@@ -358,14 +359,14 @@ return vec4 (0.0);
|
|
|
358
359
|
}
|
|
359
360
|
}
|
|
360
361
|
vec4
|
|
361
|
-
|
|
362
|
+
getTexCoord (const in x3d_TextureCoordinateGeneratorParameters textureCoordinateGenerator, const in int textureTransformMapping, const in int textureCoordinateMapping)
|
|
362
363
|
{
|
|
363
364
|
int mode = textureCoordinateGenerator .mode;
|
|
364
365
|
switch (mode)
|
|
365
366
|
{
|
|
366
367
|
case x3d_None:
|
|
367
368
|
{
|
|
368
|
-
return getTexCoord (
|
|
369
|
+
return x3d_TextureMatrix [textureTransformMapping] * getTexCoord (textureCoordinateMapping);
|
|
369
370
|
}
|
|
370
371
|
case x3d_Sphere:
|
|
371
372
|
{
|
|
@@ -426,9 +427,18 @@ return vec4 (refract (normalize (localVertex - eye), -N, eta), 1.0);
|
|
|
426
427
|
}
|
|
427
428
|
default:
|
|
428
429
|
{
|
|
429
|
-
return getTexCoord (
|
|
430
|
+
return x3d_TextureMatrix [textureTransformMapping] * getTexCoord (textureCoordinateMapping);
|
|
431
|
+
}
|
|
430
432
|
}
|
|
431
433
|
}
|
|
434
|
+
vec4
|
|
435
|
+
getTexCoord (const in int textureTransformMapping, const in int textureCoordinateMapping)
|
|
436
|
+
{
|
|
437
|
+
vec4 texCoord = getTexCoord (x3d_TextureCoordinateGenerator [textureCoordinateMapping], textureTransformMapping, textureCoordinateMapping);
|
|
438
|
+
texCoord .stp /= texCoord .q;
|
|
439
|
+
if ((x3d_GeometryType == x3d_Geometry2D) && (gl_FrontFacing == false))
|
|
440
|
+
texCoord .s = 1.0 - texCoord .s;
|
|
441
|
+
return texCoord;
|
|
432
442
|
}
|
|
433
443
|
vec4
|
|
434
444
|
getTexture2D (const in int i, const in vec2 texCoord)
|
|
@@ -484,13 +494,13 @@ switch (i)
|
|
|
484
494
|
#if x3d_MaxTextures > 0
|
|
485
495
|
case 0:
|
|
486
496
|
{
|
|
487
|
-
return texture (
|
|
497
|
+
return texture (x3d_TextureCube [0], texCoord);
|
|
488
498
|
}
|
|
489
499
|
#endif
|
|
490
500
|
#if x3d_MaxTextures > 1
|
|
491
501
|
case 1:
|
|
492
502
|
{
|
|
493
|
-
return texture (
|
|
503
|
+
return texture (x3d_TextureCube [1], texCoord);
|
|
494
504
|
}
|
|
495
505
|
#endif
|
|
496
506
|
default:
|
|
@@ -507,11 +517,8 @@ for (int i = 0; i < x3d_MaxTextures; ++ i)
|
|
|
507
517
|
{
|
|
508
518
|
if (i == x3d_NumTextures)
|
|
509
519
|
break;
|
|
510
|
-
vec4 texCoord =
|
|
520
|
+
vec4 texCoord = getTexCoord (i, i);
|
|
511
521
|
vec4 textureColor = vec4 (1.0);
|
|
512
|
-
texCoord .stp /= texCoord .q;
|
|
513
|
-
if ((x3d_GeometryType == x3d_Geometry2D) && (gl_FrontFacing == false))
|
|
514
|
-
texCoord .s = 1.0 - texCoord .s;
|
|
515
522
|
switch (x3d_TextureType [i])
|
|
516
523
|
{
|
|
517
524
|
case x3d_TextureType2D:
|
|
@@ -524,7 +531,7 @@ case x3d_TextureType3D:
|
|
|
524
531
|
textureColor = getTexture3D (i, texCoord .stp);
|
|
525
532
|
break;
|
|
526
533
|
}
|
|
527
|
-
case
|
|
534
|
+
case x3d_TextureTypeCube:
|
|
528
535
|
{
|
|
529
536
|
textureColor = getTextureCube (i, texCoord .stp);
|
|
530
537
|
break;
|
|
@@ -825,14 +832,19 @@ currentColor *= getProjectiveTexture (i, texCoord .st);
|
|
|
825
832
|
}
|
|
826
833
|
return currentColor;
|
|
827
834
|
}
|
|
828
|
-
#else
|
|
835
|
+
#else
|
|
829
836
|
vec4
|
|
830
837
|
getProjectiveTextureColor (in vec4 currentColor)
|
|
831
838
|
{
|
|
832
839
|
return currentColor;
|
|
833
840
|
}
|
|
834
|
-
#endif
|
|
835
|
-
#else
|
|
841
|
+
#endif
|
|
842
|
+
#else
|
|
843
|
+
vec4
|
|
844
|
+
getTexCoord (const in int textureTransformMapping, const in int textureCoordinateMapping)
|
|
845
|
+
{
|
|
846
|
+
return texCoord0;
|
|
847
|
+
}
|
|
836
848
|
vec4
|
|
837
849
|
getTextureColor (const in vec4 diffuseColor, const in vec4 specularColor)
|
|
838
850
|
{
|
|
@@ -853,9 +865,9 @@ case x3d_TextureType3D:
|
|
|
853
865
|
textureColor = texture (x3d_Texture3D [0], texCoord .stp);
|
|
854
866
|
break;
|
|
855
867
|
}
|
|
856
|
-
case
|
|
868
|
+
case x3d_TextureTypeCube:
|
|
857
869
|
{
|
|
858
|
-
textureColor = texture (
|
|
870
|
+
textureColor = texture (x3d_TextureCube [0], texCoord .stp);
|
|
859
871
|
break;
|
|
860
872
|
}
|
|
861
873
|
}
|
|
@@ -866,7 +878,44 @@ getProjectiveTextureColor (in vec4 currentColor)
|
|
|
866
878
|
{
|
|
867
879
|
return currentColor;
|
|
868
880
|
}
|
|
881
|
+
#endif
|
|
882
|
+
#ifdef X3D_MATERIAL_TEXTURES
|
|
883
|
+
uniform x3d_NormalTextureParameters x3d_NormalTexture;
|
|
884
|
+
mat3
|
|
885
|
+
getTBNMatrix (const in vec2 texCoord)
|
|
886
|
+
{
|
|
887
|
+
vec3 pos_dx = dFdx (vertex);
|
|
888
|
+
vec3 pos_dy = dFdy (vertex);
|
|
889
|
+
vec3 tex_dx = dFdx (vec3 (texCoord, 0.0));
|
|
890
|
+
vec3 tex_dy = dFdy (vec3 (texCoord, 0.0));
|
|
891
|
+
vec3 t = (tex_dy .t * pos_dx - tex_dx .t * pos_dy) / (tex_dx .s * tex_dy.t - tex_dy .s * tex_dx .t);
|
|
892
|
+
vec3 N = normalize (normal);
|
|
893
|
+
vec3 T = normalize (t - N * dot (N, t));
|
|
894
|
+
vec3 B = normalize (cross (N, T));
|
|
895
|
+
mat3 tbn = mat3 (T, B, N);
|
|
896
|
+
return tbn;
|
|
897
|
+
}
|
|
898
|
+
#endif
|
|
899
|
+
vec3
|
|
900
|
+
getNormalVector ()
|
|
901
|
+
{
|
|
902
|
+
float facing = gl_FrontFacing ? 1.0 : -1.0;
|
|
903
|
+
#if defined(X3D_NORMAL_TEXTURE)
|
|
904
|
+
vec4 texCoord = getTexCoord (x3d_NormalTexture .textureTransformMapping, x3d_NormalTexture .textureCoordinateMapping);
|
|
905
|
+
vec3 normalScale = vec3 (vec2 (x3d_Material .normalScale), 1.0);
|
|
906
|
+
mat3 tbn = getTBNMatrix (texCoord .st);
|
|
907
|
+
#if defined(X3D_NORMAL_TEXTURE_2D)
|
|
908
|
+
vec3 n = texture (x3d_NormalTexture .texture2D, texCoord .st) .rgb;
|
|
909
|
+
#elif defined(X3D_NORMAL_TEXTURE_3D)
|
|
910
|
+
vec3 n = texture (x3d_NormalTexture .texture3D, texCoord .stp) .rgb;
|
|
911
|
+
#elif defined(X3D_NORMAL_TEXTURE_CUBE)
|
|
912
|
+
vec3 n = texture (x3d_NormalTexture .textureCube, texCoord .stp) .rgb;
|
|
913
|
+
#endif
|
|
914
|
+
return normalize (tbn * ((n * 2.0 - 1.0) * normalScale)) * facing;
|
|
915
|
+
#else
|
|
916
|
+
return normalize (normal) * facing;
|
|
869
917
|
#endif
|
|
918
|
+
}
|
|
870
919
|
uniform x3d_FillPropertiesParameters x3d_FillProperties;
|
|
871
920
|
vec4
|
|
872
921
|
getHatchColor (vec4 color)
|
|
@@ -938,21 +987,130 @@ else if (spotAngle <= beamWidth)
|
|
|
938
987
|
return 1.0;
|
|
939
988
|
return (spotAngle - cutOffAngle) / (beamWidth - cutOffAngle);
|
|
940
989
|
}
|
|
990
|
+
#ifdef X3D_MATERIAL_TEXTURES
|
|
991
|
+
uniform x3d_AmbientTextureParameters x3d_AmbientTexture;
|
|
992
|
+
uniform x3d_DiffuseTextureParameters x3d_DiffuseTexture;
|
|
993
|
+
uniform x3d_SpecularTextureParameters x3d_SpecularTexture;
|
|
994
|
+
uniform x3d_EmissiveTextureParameters x3d_EmissiveTexture;
|
|
995
|
+
uniform x3d_ShininessTextureParameters x3d_ShininessTexture;
|
|
996
|
+
uniform x3d_OcclusionTextureParameters x3d_OcclusionTexture;
|
|
997
|
+
#endif
|
|
998
|
+
vec3
|
|
999
|
+
getAmbientColor ()
|
|
1000
|
+
{
|
|
1001
|
+
vec3 ambientParameter = x3d_Material .ambientIntensity * x3d_Material .diffuseColor;
|
|
1002
|
+
#if defined(X3D_AMBIENT_TEXTURE)
|
|
1003
|
+
vec4 texCoord = getTexCoord (x3d_AmbientTexture .textureTransformMapping, x3d_AmbientTexture .textureCoordinateMapping);
|
|
1004
|
+
#if defined(X3D_AMBIENT_TEXTURE_2D)
|
|
1005
|
+
return ambientParameter * texture (x3d_AmbientTexture .texture2D, texCoord .st) .rgb;
|
|
1006
|
+
#elif defined(X3D_AMBIENT_TEXTURE_3D)
|
|
1007
|
+
return ambientParameter * texture (x3d_AmbientTexture .texture3D, texCoord .stp) .rgb;
|
|
1008
|
+
#elif defined(X3D_AMBIENT_TEXTURE_CUBE)
|
|
1009
|
+
return ambientParameter * texture (x3d_AmbientTexture .textureCube, texCoord .stp) .rgb;
|
|
1010
|
+
#endif
|
|
1011
|
+
#else
|
|
1012
|
+
return ambientParameter;
|
|
1013
|
+
#endif
|
|
1014
|
+
}
|
|
1015
|
+
vec4
|
|
1016
|
+
getDiffuseColor ()
|
|
1017
|
+
{
|
|
1018
|
+
float alpha = 1.0 - x3d_Material .transparency;
|
|
1019
|
+
vec4 diffuseParameter = x3d_ColorMaterial ? vec4 (color .rgb, color .a * alpha) : vec4 (x3d_Material .diffuseColor, alpha);
|
|
1020
|
+
#if defined(X3D_DIFFUSE_TEXTURE)
|
|
1021
|
+
vec4 texCoord = getTexCoord (x3d_DiffuseTexture .textureTransformMapping, x3d_DiffuseTexture .textureCoordinateMapping);
|
|
1022
|
+
#if defined(X3D_DIFFUSE_TEXTURE_2D)
|
|
1023
|
+
return diffuseParameter * texture (x3d_DiffuseTexture .texture2D, texCoord .st) .rgba;
|
|
1024
|
+
#elif defined(X3D_DIFFUSE_TEXTURE_3D)
|
|
1025
|
+
return diffuseParameter * texture (x3d_DiffuseTexture .texture3D, texCoord .stp) .rgba;
|
|
1026
|
+
#elif defined(X3D_DIFFUSE_TEXTURE_CUBE)
|
|
1027
|
+
return diffuseParameter * texture (x3d_DiffuseTexture .textureCube, texCoord .stp) .rgba;
|
|
1028
|
+
#endif
|
|
1029
|
+
#else
|
|
1030
|
+
return getTextureColor (diffuseParameter, vec4 (x3d_Material .specularColor, alpha));
|
|
1031
|
+
#endif
|
|
1032
|
+
}
|
|
1033
|
+
vec3
|
|
1034
|
+
getSpecularColor ()
|
|
1035
|
+
{
|
|
1036
|
+
vec3 specularParameter = x3d_Material .specularColor;
|
|
1037
|
+
#if defined(X3D_SPECULAR_TEXTURE)
|
|
1038
|
+
vec4 texCoord = getTexCoord (x3d_SpecularTexture .textureTransformMapping, x3d_SpecularTexture .textureCoordinateMapping);
|
|
1039
|
+
#if defined(X3D_SPECULAR_TEXTURE_2D)
|
|
1040
|
+
return specularParameter * texture (x3d_SpecularTexture .texture2D, texCoord .st) .rgb;
|
|
1041
|
+
#elif defined(X3D_SPECULAR_TEXTURE_3D)
|
|
1042
|
+
return specularParameter * texture (x3d_SpecularTexture .texture3D, texCoord .stp) .rgb;
|
|
1043
|
+
#elif defined(X3D_SPECULAR_TEXTURE_CUBE)
|
|
1044
|
+
return specularParameter * texture (x3d_SpecularTexture .textureCube, texCoord .stp) .rgb;
|
|
1045
|
+
#endif
|
|
1046
|
+
#else
|
|
1047
|
+
return specularParameter;
|
|
1048
|
+
#endif
|
|
1049
|
+
}
|
|
1050
|
+
vec3
|
|
1051
|
+
getEmissiveColor ()
|
|
1052
|
+
{
|
|
1053
|
+
vec3 emissiveParameter = x3d_Material .emissiveColor;
|
|
1054
|
+
#if defined(X3D_EMISSIVE_TEXTURE)
|
|
1055
|
+
vec4 texCoord = getTexCoord (x3d_EmissiveTexture .textureTransformMapping, x3d_EmissiveTexture .textureCoordinateMapping);
|
|
1056
|
+
#if defined(X3D_EMISSIVE_TEXTURE_2D)
|
|
1057
|
+
return emissiveParameter * texture (x3d_EmissiveTexture .texture2D, texCoord .st) .rgb;
|
|
1058
|
+
#elif defined(X3D_EMISSIVE_TEXTURE_3D)
|
|
1059
|
+
return emissiveParameter * texture (x3d_EmissiveTexture .texture3D, texCoord .stp) .rgb;
|
|
1060
|
+
#elif defined(X3D_EMISSIVE_TEXTURE_CUBE)
|
|
1061
|
+
return emissiveParameter * texture (x3d_EmissiveTexture .textureCube, texCoord .stp) .rgb;
|
|
1062
|
+
#endif
|
|
1063
|
+
#else
|
|
1064
|
+
return emissiveParameter;
|
|
1065
|
+
#endif
|
|
1066
|
+
}
|
|
1067
|
+
float
|
|
1068
|
+
getShininessFactor ()
|
|
1069
|
+
{
|
|
1070
|
+
float shininess = x3d_Material .shininess;
|
|
1071
|
+
#if defined(X3D_SHININESS_TEXTURE)
|
|
1072
|
+
vec4 texCoord = getTexCoord (x3d_ShininessTexture .textureTransformMapping, x3d_ShininessTexture .textureCoordinateMapping);
|
|
1073
|
+
#if defined(X3D_SHININESS_TEXTURE_2D)
|
|
1074
|
+
return shininess * texture (x3d_ShininessTexture .texture2D, texCoord .st) .a * 128.0;
|
|
1075
|
+
#elif defined(X3D_SHININESS_TEXTURE_3D)
|
|
1076
|
+
return shininess * texture (x3d_ShininessTexture .texture3D, texCoord .stp) .a * 128.0;
|
|
1077
|
+
#elif defined(X3D_SHININESS_TEXTURE_CUBE)
|
|
1078
|
+
return shininess * texture (x3d_ShininessTexture .textureCube, texCoord .stp) .a * 128.0;
|
|
1079
|
+
#endif
|
|
1080
|
+
#else
|
|
1081
|
+
return shininess * 128.0;
|
|
1082
|
+
#endif
|
|
1083
|
+
}
|
|
1084
|
+
float
|
|
1085
|
+
getOcclusionFactor ()
|
|
1086
|
+
{
|
|
1087
|
+
#if defined(X3D_OCCLUSION_TEXTURE)
|
|
1088
|
+
vec4 texCoord = getTexCoord (x3d_OcclusionTexture .textureTransformMapping, x3d_OcclusionTexture .textureCoordinateMapping);
|
|
1089
|
+
#if defined(X3D_OCCLUSION_TEXTURE_2D)
|
|
1090
|
+
return texture (x3d_OcclusionTexture .texture2D, texCoord .st) .r;
|
|
1091
|
+
#elif defined(X3D_OCCLUSION_TEXTURE_3D)
|
|
1092
|
+
return texture (x3d_OcclusionTexture .texture3D, texCoord .stp) .r;
|
|
1093
|
+
#elif defined(X3D_OCCLUSION_TEXTURE_CUBE)
|
|
1094
|
+
return texture (x3d_OcclusionTexture .textureCube, texCoord .stp) .r;
|
|
1095
|
+
#endif
|
|
1096
|
+
#else
|
|
1097
|
+
return 1.0;
|
|
1098
|
+
#endif
|
|
1099
|
+
}
|
|
941
1100
|
vec4
|
|
942
1101
|
getMaterialColor ()
|
|
943
1102
|
{
|
|
944
|
-
vec3 N =
|
|
1103
|
+
vec3 N = getNormalVector ();
|
|
945
1104
|
vec3 V = normalize (-vertex);
|
|
946
|
-
|
|
947
|
-
float alpha =
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
1105
|
+
vec4 diffuseColorAlpha = getDiffuseColor ();
|
|
1106
|
+
float alpha = diffuseColorAlpha .a;
|
|
1107
|
+
vec3 diffuseColor = diffuseColorAlpha .rgb;
|
|
1108
|
+
vec3 ambientColor = getAmbientColor ();
|
|
1109
|
+
vec3 specularColor = getSpecularColor ();
|
|
1110
|
+
float shininessFactor = getShininessFactor ();
|
|
952
1111
|
vec4 P = getProjectiveTextureColor (vec4 (1.0));
|
|
953
|
-
|
|
1112
|
+
diffuseColor *= P .rgb;
|
|
954
1113
|
alpha *= P .a;
|
|
955
|
-
vec3 ambientTerm = diffuseFactor * x3d_Material .ambientIntensity;
|
|
956
1114
|
vec3 finalColor = vec3 (0.0);
|
|
957
1115
|
for (int i = 0; i < x3d_MaxLights; i ++)
|
|
958
1116
|
{
|
|
@@ -969,22 +1127,25 @@ vec3 c = light .attenuation;
|
|
|
969
1127
|
vec3 L = di ? -d : normalize (vL);
|
|
970
1128
|
vec3 H = normalize (L + V);
|
|
971
1129
|
float lightAngle = max (dot (N, L), 0.0);
|
|
972
|
-
vec3 diffuseTerm =
|
|
973
|
-
float specularFactor =
|
|
974
|
-
vec3 specularTerm =
|
|
1130
|
+
vec3 diffuseTerm = diffuseColor * lightAngle;
|
|
1131
|
+
float specularFactor = shininessFactor > 0.0 ? pow (max (dot (N, H), 0.0), shininessFactor) : 1.0;
|
|
1132
|
+
vec3 specularTerm = specularColor * specularFactor;
|
|
975
1133
|
float attenuationFactor = di ? 1.0 : 1.0 / max (c [0] + c [1] * dL + c [2] * (dL * dL), 1.0);
|
|
976
1134
|
float spotFactor = light .type == x3d_SpotLight ? getSpotFactor (light .cutOffAngle, light .beamWidth, L, d) : 1.0;
|
|
977
1135
|
float attenuationSpotFactor = attenuationFactor * spotFactor;
|
|
978
|
-
vec3
|
|
979
|
-
vec3
|
|
1136
|
+
vec3 ambientTerm = light .ambientIntensity * ambientColor;
|
|
1137
|
+
vec3 diffuseSpecularTerm = light .intensity * (diffuseTerm + specularTerm);
|
|
980
1138
|
#ifdef X3D_SHADOWS
|
|
981
1139
|
if (lightAngle > 0.0)
|
|
982
|
-
|
|
1140
|
+
diffuseSpecularTerm = mix (diffuseSpecularTerm, light .shadowColor, getShadowIntensity (i, light));
|
|
983
1141
|
#endif
|
|
984
|
-
finalColor += attenuationSpotFactor * light .color * (
|
|
1142
|
+
finalColor += attenuationSpotFactor * light .color * (ambientTerm + diffuseSpecularTerm);
|
|
985
1143
|
}
|
|
986
1144
|
}
|
|
987
|
-
|
|
1145
|
+
#ifdef X3D_OCCLUSION_TEXTURE
|
|
1146
|
+
finalColor = mix (finalColor, finalColor * getOcclusionFactor (), x3d_Material .occlusionStrength);
|
|
1147
|
+
#endif
|
|
1148
|
+
finalColor += getEmissiveColor ();
|
|
988
1149
|
return vec4 (finalColor, alpha);
|
|
989
1150
|
}
|
|
990
1151
|
void
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
#version 300 es
|
|
2
2
|
precision highp float;
|
|
3
3
|
precision highp int;
|
|
4
|
-
uniform mat4 x3d_TextureMatrix [x3d_MaxTextures];
|
|
5
4
|
uniform mat3 x3d_NormalMatrix;
|
|
6
5
|
uniform mat4 x3d_ProjectionMatrix;
|
|
7
6
|
uniform mat4 x3d_ModelViewMatrix;
|
|
@@ -41,10 +40,10 @@ vertex = position .xyz;
|
|
|
41
40
|
localNormal = x3d_Normal;
|
|
42
41
|
localVertex = x3d_Vertex .xyz;
|
|
43
42
|
#if x3d_MaxTextures > 0
|
|
44
|
-
texCoord0 =
|
|
43
|
+
texCoord0 = x3d_TexCoord0;
|
|
45
44
|
#endif
|
|
46
45
|
#if x3d_MaxTextures > 1
|
|
47
|
-
texCoord1 =
|
|
46
|
+
texCoord1 = x3d_TexCoord1;
|
|
48
47
|
#endif
|
|
49
48
|
gl_Position = x3d_ProjectionMatrix * position;
|
|
50
49
|
#ifdef X3D_LOGARITHMIC_DEPTH_BUFFER
|
|
@@ -18,68 +18,21 @@ uniform float x3d_LogarithmicFarFactor1_2;
|
|
|
18
18
|
in float depth;
|
|
19
19
|
#endif
|
|
20
20
|
out vec4 x3d_FragColor;
|
|
21
|
-
uniform x3d_FogParameters x3d_Fog;
|
|
22
|
-
float
|
|
23
|
-
getFogInterpolant ()
|
|
24
|
-
{
|
|
25
|
-
if (x3d_Fog .type == x3d_None)
|
|
26
|
-
return 1.0;
|
|
27
|
-
if (x3d_Fog .fogCoord)
|
|
28
|
-
return clamp (1.0 - fogDepth, 0.0, 1.0);
|
|
29
|
-
float visibilityRange = x3d_Fog .visibilityRange;
|
|
30
|
-
if (visibilityRange <= 0.0)
|
|
31
|
-
return 1.0;
|
|
32
|
-
float dV = length (x3d_Fog .matrix * vertex);
|
|
33
|
-
if (dV >= visibilityRange)
|
|
34
|
-
return 0.0;
|
|
35
|
-
switch (x3d_Fog .type)
|
|
36
|
-
{
|
|
37
|
-
case x3d_LinearFog:
|
|
38
|
-
{
|
|
39
|
-
return (visibilityRange - dV) / visibilityRange;
|
|
40
|
-
}
|
|
41
|
-
case x3d_ExponentialFog:
|
|
42
|
-
{
|
|
43
|
-
return exp (-dV / (visibilityRange - dV));
|
|
44
|
-
}
|
|
45
|
-
default:
|
|
46
|
-
{
|
|
47
|
-
return 1.0;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
vec3
|
|
52
|
-
getFogColor (const in vec3 color)
|
|
53
|
-
{
|
|
54
|
-
return mix (x3d_Fog .color, color, getFogInterpolant ());
|
|
55
|
-
}
|
|
56
|
-
uniform int x3d_NumClipPlanes;
|
|
57
|
-
uniform vec4 x3d_ClipPlane [x3d_MaxClipPlanes];
|
|
58
|
-
void
|
|
59
|
-
clip ()
|
|
60
|
-
{
|
|
61
|
-
for (int i = 0; i < x3d_MaxClipPlanes; ++ i)
|
|
62
|
-
{
|
|
63
|
-
if (i == x3d_NumClipPlanes)
|
|
64
|
-
break;
|
|
65
|
-
if (dot (vertex, x3d_ClipPlane [i] .xyz) - x3d_ClipPlane [i] .w < 0.0)
|
|
66
|
-
discard;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
21
|
precision highp sampler3D;
|
|
22
|
+
uniform mat4 x3d_TextureMatrix [x3d_MaxTextures];
|
|
70
23
|
uniform int x3d_NumTextures;
|
|
71
24
|
uniform int x3d_TextureType [x3d_MaxTextures];
|
|
72
25
|
uniform sampler2D x3d_Texture2D [x3d_MaxTextures];
|
|
73
26
|
uniform sampler3D x3d_Texture3D [x3d_MaxTextures];
|
|
74
|
-
uniform samplerCube
|
|
27
|
+
uniform samplerCube x3d_TextureCube [x3d_MaxTextures];
|
|
75
28
|
#ifdef X3D_MULTI_TEXTURING
|
|
76
|
-
#define M_PI 3.14159265358979323846
|
|
77
29
|
float rand (vec2 co) { return fract (sin (dot (co.xy, vec2 (12.9898,78.233))) * 43758.5453); }
|
|
78
30
|
float rand (vec2 co, float l) { return rand (vec2 (rand (co), l)); }
|
|
79
31
|
float rand (vec2 co, float l, float t) { return rand (vec2 (rand (co, l), t)); }
|
|
80
32
|
float
|
|
81
33
|
perlin (vec2 p, float dim, float time)
|
|
82
34
|
{
|
|
35
|
+
const float M_PI = 3.14159265358979323846;
|
|
83
36
|
vec2 pos = floor (p * dim);
|
|
84
37
|
vec2 posx = pos + vec2 (1.0, 0.0);
|
|
85
38
|
vec2 posy = pos + vec2 (0.0, 1.0);
|
|
@@ -107,7 +60,7 @@ uniform int x3d_NumProjectiveTextures;
|
|
|
107
60
|
uniform sampler2D x3d_ProjectiveTexture [x3d_MaxTextures];
|
|
108
61
|
uniform mat4 x3d_ProjectiveTextureMatrix [x3d_MaxTextures];
|
|
109
62
|
uniform vec3 x3d_ProjectiveTextureLocation [x3d_MaxTextures];
|
|
110
|
-
#endif
|
|
63
|
+
#endif
|
|
111
64
|
uniform vec4 x3d_MultiTextureColor;
|
|
112
65
|
uniform x3d_MultiTextureParameters x3d_MultiTexture [x3d_MaxTextures];
|
|
113
66
|
uniform x3d_TextureCoordinateGeneratorParameters x3d_TextureCoordinateGenerator [x3d_MaxTextures];
|
|
@@ -135,14 +88,14 @@ return vec4 (0.0);
|
|
|
135
88
|
}
|
|
136
89
|
}
|
|
137
90
|
vec4
|
|
138
|
-
|
|
91
|
+
getTexCoord (const in x3d_TextureCoordinateGeneratorParameters textureCoordinateGenerator, const in int textureTransformMapping, const in int textureCoordinateMapping)
|
|
139
92
|
{
|
|
140
93
|
int mode = textureCoordinateGenerator .mode;
|
|
141
94
|
switch (mode)
|
|
142
95
|
{
|
|
143
96
|
case x3d_None:
|
|
144
97
|
{
|
|
145
|
-
return getTexCoord (
|
|
98
|
+
return x3d_TextureMatrix [textureTransformMapping] * getTexCoord (textureCoordinateMapping);
|
|
146
99
|
}
|
|
147
100
|
case x3d_Sphere:
|
|
148
101
|
{
|
|
@@ -203,11 +156,20 @@ return vec4 (refract (normalize (localVertex - eye), -N, eta), 1.0);
|
|
|
203
156
|
}
|
|
204
157
|
default:
|
|
205
158
|
{
|
|
206
|
-
return getTexCoord (
|
|
159
|
+
return x3d_TextureMatrix [textureTransformMapping] * getTexCoord (textureCoordinateMapping);
|
|
207
160
|
}
|
|
208
161
|
}
|
|
209
162
|
}
|
|
210
163
|
vec4
|
|
164
|
+
getTexCoord (const in int textureTransformMapping, const in int textureCoordinateMapping)
|
|
165
|
+
{
|
|
166
|
+
vec4 texCoord = getTexCoord (x3d_TextureCoordinateGenerator [textureCoordinateMapping], textureTransformMapping, textureCoordinateMapping);
|
|
167
|
+
texCoord .stp /= texCoord .q;
|
|
168
|
+
if ((x3d_GeometryType == x3d_Geometry2D) && (gl_FrontFacing == false))
|
|
169
|
+
texCoord .s = 1.0 - texCoord .s;
|
|
170
|
+
return texCoord;
|
|
171
|
+
}
|
|
172
|
+
vec4
|
|
211
173
|
getTexture2D (const in int i, const in vec2 texCoord)
|
|
212
174
|
{
|
|
213
175
|
switch (i)
|
|
@@ -261,13 +223,13 @@ switch (i)
|
|
|
261
223
|
#if x3d_MaxTextures > 0
|
|
262
224
|
case 0:
|
|
263
225
|
{
|
|
264
|
-
return texture (
|
|
226
|
+
return texture (x3d_TextureCube [0], texCoord);
|
|
265
227
|
}
|
|
266
228
|
#endif
|
|
267
229
|
#if x3d_MaxTextures > 1
|
|
268
230
|
case 1:
|
|
269
231
|
{
|
|
270
|
-
return texture (
|
|
232
|
+
return texture (x3d_TextureCube [1], texCoord);
|
|
271
233
|
}
|
|
272
234
|
#endif
|
|
273
235
|
default:
|
|
@@ -284,11 +246,8 @@ for (int i = 0; i < x3d_MaxTextures; ++ i)
|
|
|
284
246
|
{
|
|
285
247
|
if (i == x3d_NumTextures)
|
|
286
248
|
break;
|
|
287
|
-
vec4 texCoord =
|
|
249
|
+
vec4 texCoord = getTexCoord (i, i);
|
|
288
250
|
vec4 textureColor = vec4 (1.0);
|
|
289
|
-
texCoord .stp /= texCoord .q;
|
|
290
|
-
if ((x3d_GeometryType == x3d_Geometry2D) && (gl_FrontFacing == false))
|
|
291
|
-
texCoord .s = 1.0 - texCoord .s;
|
|
292
251
|
switch (x3d_TextureType [i])
|
|
293
252
|
{
|
|
294
253
|
case x3d_TextureType2D:
|
|
@@ -301,7 +260,7 @@ case x3d_TextureType3D:
|
|
|
301
260
|
textureColor = getTexture3D (i, texCoord .stp);
|
|
302
261
|
break;
|
|
303
262
|
}
|
|
304
|
-
case
|
|
263
|
+
case x3d_TextureTypeCube:
|
|
305
264
|
{
|
|
306
265
|
textureColor = getTextureCube (i, texCoord .stp);
|
|
307
266
|
break;
|
|
@@ -602,14 +561,19 @@ currentColor *= getProjectiveTexture (i, texCoord .st);
|
|
|
602
561
|
}
|
|
603
562
|
return currentColor;
|
|
604
563
|
}
|
|
605
|
-
#else
|
|
564
|
+
#else
|
|
606
565
|
vec4
|
|
607
566
|
getProjectiveTextureColor (in vec4 currentColor)
|
|
608
567
|
{
|
|
609
568
|
return currentColor;
|
|
610
569
|
}
|
|
611
|
-
#endif
|
|
612
|
-
#else
|
|
570
|
+
#endif
|
|
571
|
+
#else
|
|
572
|
+
vec4
|
|
573
|
+
getTexCoord (const in int textureTransformMapping, const in int textureCoordinateMapping)
|
|
574
|
+
{
|
|
575
|
+
return texCoord0;
|
|
576
|
+
}
|
|
613
577
|
vec4
|
|
614
578
|
getTextureColor (const in vec4 diffuseColor, const in vec4 specularColor)
|
|
615
579
|
{
|
|
@@ -630,9 +594,9 @@ case x3d_TextureType3D:
|
|
|
630
594
|
textureColor = texture (x3d_Texture3D [0], texCoord .stp);
|
|
631
595
|
break;
|
|
632
596
|
}
|
|
633
|
-
case
|
|
597
|
+
case x3d_TextureTypeCube:
|
|
634
598
|
{
|
|
635
|
-
textureColor = texture (
|
|
599
|
+
textureColor = texture (x3d_TextureCube [0], texCoord .stp);
|
|
636
600
|
break;
|
|
637
601
|
}
|
|
638
602
|
}
|
|
@@ -643,36 +607,73 @@ getProjectiveTextureColor (in vec4 currentColor)
|
|
|
643
607
|
{
|
|
644
608
|
return currentColor;
|
|
645
609
|
}
|
|
646
|
-
#endif
|
|
610
|
+
#endif
|
|
611
|
+
uniform x3d_FogParameters x3d_Fog;
|
|
612
|
+
float
|
|
613
|
+
getFogInterpolant ()
|
|
614
|
+
{
|
|
615
|
+
if (x3d_Fog .type == x3d_None)
|
|
616
|
+
return 1.0;
|
|
617
|
+
if (x3d_Fog .fogCoord)
|
|
618
|
+
return clamp (1.0 - fogDepth, 0.0, 1.0);
|
|
619
|
+
float visibilityRange = x3d_Fog .visibilityRange;
|
|
620
|
+
if (visibilityRange <= 0.0)
|
|
621
|
+
return 1.0;
|
|
622
|
+
float dV = length (x3d_Fog .matrix * vertex);
|
|
623
|
+
if (dV >= visibilityRange)
|
|
624
|
+
return 0.0;
|
|
625
|
+
switch (x3d_Fog .type)
|
|
626
|
+
{
|
|
627
|
+
case x3d_LinearFog:
|
|
628
|
+
{
|
|
629
|
+
return (visibilityRange - dV) / visibilityRange;
|
|
630
|
+
}
|
|
631
|
+
case x3d_ExponentialFog:
|
|
632
|
+
{
|
|
633
|
+
return exp (-dV / (visibilityRange - dV));
|
|
634
|
+
}
|
|
635
|
+
default:
|
|
636
|
+
{
|
|
637
|
+
return 1.0;
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
vec3
|
|
642
|
+
getFogColor (const in vec3 color)
|
|
643
|
+
{
|
|
644
|
+
return mix (x3d_Fog .color, color, getFogInterpolant ());
|
|
645
|
+
}
|
|
646
|
+
uniform int x3d_NumClipPlanes;
|
|
647
|
+
uniform vec4 x3d_ClipPlane [x3d_MaxClipPlanes];
|
|
648
|
+
void
|
|
649
|
+
clip ()
|
|
650
|
+
{
|
|
651
|
+
for (int i = 0; i < x3d_MaxClipPlanes; ++ i)
|
|
652
|
+
{
|
|
653
|
+
if (i == x3d_NumClipPlanes)
|
|
654
|
+
break;
|
|
655
|
+
if (dot (vertex, x3d_ClipPlane [i] .xyz) - x3d_ClipPlane [i] .w < 0.0)
|
|
656
|
+
discard;
|
|
657
|
+
}
|
|
658
|
+
}
|
|
647
659
|
vec4
|
|
648
660
|
getPointColor ()
|
|
649
661
|
{
|
|
650
|
-
vec4 finalColor = color;
|
|
651
|
-
if (x3d_NumTextures > 0)
|
|
652
|
-
{
|
|
653
662
|
vec4 texCoord = vec4 (gl_PointCoord .x, 1.0 - gl_PointCoord .y, 0.0, 1.0);
|
|
654
663
|
texCoord0 = texCoord;
|
|
655
664
|
texCoord1 = texCoord;
|
|
656
|
-
vec4
|
|
657
|
-
|
|
665
|
+
vec4 finalColor = getTextureColor (color, vec4 (1.0));
|
|
666
|
+
if (x3d_NumTextures == 0)
|
|
658
667
|
{
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
finalColor = textureColor;
|
|
664
|
-
break;
|
|
665
|
-
case x3d_TextureAndPointColor:
|
|
666
|
-
finalColor .rgb += textureColor .rgb;
|
|
667
|
-
finalColor .a *= textureColor .a;
|
|
668
|
-
break;
|
|
669
|
-
}
|
|
668
|
+
if (pointSize > 1.0)
|
|
669
|
+
{
|
|
670
|
+
float t = max (distance (vec2 (0.5), gl_PointCoord) * pointSize - max (pointSize / 2.0 - 1.0, 0.0), 0.0);
|
|
671
|
+
finalColor .a = mix (finalColor .a, 0.0, t);
|
|
670
672
|
}
|
|
671
673
|
else
|
|
672
674
|
{
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
finalColor .a = mix (finalColor .a, 0.0, clamp (t, 0.0, 1.0));
|
|
675
|
+
finalColor .a *= pointSize;
|
|
676
|
+
}
|
|
676
677
|
}
|
|
677
678
|
return finalColor;
|
|
678
679
|
}
|