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
|
+
|
|
2
|
+
precision highp float;
|
|
3
|
+
precision highp int;
|
|
4
|
+
uniform mat4 x3d_ProjectionMatrix;
|
|
5
|
+
uniform mat4 x3d_ModelViewMatrix;
|
|
6
|
+
uniform mat3 x3d_NormalMatrix;
|
|
7
|
+
attribute vec4 x3d_Vertex;
|
|
8
|
+
attribute vec3 x3d_Normal;
|
|
9
|
+
attribute vec4 x3d_TexCoord0;
|
|
10
|
+
attribute vec4 x3d_TexCoord1;
|
|
11
|
+
attribute vec4 x3d_Color;
|
|
12
|
+
varying vec3 vertex;
|
|
13
|
+
varying vec3 normal;
|
|
14
|
+
varying vec4 texCoord0;
|
|
15
|
+
varying vec4 texCoord1;
|
|
16
|
+
varying vec4 color;
|
|
17
|
+
varying vec3 localNormal;
|
|
18
|
+
varying vec3 localVertex;
|
|
19
|
+
#ifdef X3D_LOGARITHMIC_DEPTH_BUFFER
|
|
20
|
+
varying 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
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
#extension GL_OES_standard_derivatives : enable
|
|
1
2
|
#ifdef X3D_LOGARITHMIC_DEPTH_BUFFER
|
|
2
3
|
#extension GL_EXT_frag_depth : enable
|
|
3
4
|
#endif
|
|
@@ -268,18 +269,19 @@ return light .shadowIntensity * value;
|
|
|
268
269
|
return 0.0;
|
|
269
270
|
}
|
|
270
271
|
#endif
|
|
272
|
+
uniform mat4 x3d_TextureMatrix [x3d_MaxTextures];
|
|
271
273
|
uniform int x3d_NumTextures;
|
|
272
274
|
uniform int x3d_TextureType [x3d_MaxTextures];
|
|
273
275
|
uniform sampler2D x3d_Texture2D [x3d_MaxTextures];
|
|
274
|
-
uniform samplerCube
|
|
276
|
+
uniform samplerCube x3d_TextureCube [x3d_MaxTextures];
|
|
275
277
|
#ifdef X3D_MULTI_TEXTURING
|
|
276
|
-
#define M_PI 3.14159265358979323846
|
|
277
278
|
float rand (vec2 co) { return fract (sin (dot (co.xy, vec2 (12.9898,78.233))) * 43758.5453); }
|
|
278
279
|
float rand (vec2 co, float l) { return rand (vec2 (rand (co), l)); }
|
|
279
280
|
float rand (vec2 co, float l, float t) { return rand (vec2 (rand (co, l), t)); }
|
|
280
281
|
float
|
|
281
282
|
perlin (vec2 p, float dim, float time)
|
|
282
283
|
{
|
|
284
|
+
const float M_PI = 3.14159265358979323846;
|
|
283
285
|
vec2 pos = floor (p * dim);
|
|
284
286
|
vec2 posx = pos + vec2 (1.0, 0.0);
|
|
285
287
|
vec2 posy = pos + vec2 (0.0, 1.0);
|
|
@@ -311,6 +313,20 @@ uniform vec3 x3d_ProjectiveTextureLocation [x3d_MaxTextures];
|
|
|
311
313
|
uniform vec4 x3d_MultiTextureColor;
|
|
312
314
|
uniform x3d_MultiTextureParameters x3d_MultiTexture [x3d_MaxTextures];
|
|
313
315
|
uniform x3d_TextureCoordinateGeneratorParameters x3d_TextureCoordinateGenerator [x3d_MaxTextures];
|
|
316
|
+
mat4
|
|
317
|
+
getTextureMatrix (const in int i)
|
|
318
|
+
{
|
|
319
|
+
mat4 textureMatrix = mat4 (0.0);
|
|
320
|
+
#if x3d_MaxTextures > 0
|
|
321
|
+
if (i == 0)
|
|
322
|
+
textureMatrix = x3d_TextureMatrix [0];
|
|
323
|
+
#endif
|
|
324
|
+
#if x3d_MaxTextures > 1
|
|
325
|
+
else if (i == 1)
|
|
326
|
+
textureMatrix = x3d_TextureMatrix [1];
|
|
327
|
+
#endif
|
|
328
|
+
return textureMatrix;
|
|
329
|
+
}
|
|
314
330
|
vec4
|
|
315
331
|
getTexCoord (const in int i)
|
|
316
332
|
{
|
|
@@ -326,12 +342,12 @@ texCoord = texCoord1;
|
|
|
326
342
|
return texCoord;
|
|
327
343
|
}
|
|
328
344
|
vec4
|
|
329
|
-
|
|
345
|
+
getTexCoord (const in x3d_TextureCoordinateGeneratorParameters textureCoordinateGenerator, const in int textureTransformMapping, const in int textureCoordinateMapping)
|
|
330
346
|
{
|
|
331
347
|
int mode = textureCoordinateGenerator .mode;
|
|
332
348
|
if (mode == x3d_None)
|
|
333
349
|
{
|
|
334
|
-
return getTexCoord (
|
|
350
|
+
return getTextureMatrix (textureTransformMapping) * getTexCoord (textureCoordinateMapping);
|
|
335
351
|
}
|
|
336
352
|
else if (mode == x3d_Sphere)
|
|
337
353
|
{
|
|
@@ -390,7 +406,24 @@ float eta = textureCoordinateGenerator .parameter [0];
|
|
|
390
406
|
vec3 eye = vec3 (textureCoordinateGenerator .parameter [1], textureCoordinateGenerator .parameter [2], textureCoordinateGenerator .parameter [3]);
|
|
391
407
|
return vec4 (refract (normalize (localVertex - eye), -N, eta), 1.0);
|
|
392
408
|
}
|
|
393
|
-
return getTexCoord (
|
|
409
|
+
return getTextureMatrix (textureTransformMapping) * getTexCoord (textureCoordinateMapping);
|
|
410
|
+
}
|
|
411
|
+
vec4
|
|
412
|
+
getTexCoord (const in int textureTransformMapping, const in int textureCoordinateMapping)
|
|
413
|
+
{
|
|
414
|
+
vec4 texCoord;
|
|
415
|
+
#if x3d_MaxTextures > 0
|
|
416
|
+
if (textureCoordinateMapping == 0)
|
|
417
|
+
texCoord = getTexCoord (x3d_TextureCoordinateGenerator [0], textureTransformMapping, textureCoordinateMapping);
|
|
418
|
+
#endif
|
|
419
|
+
#if x3d_MaxTextures > 1
|
|
420
|
+
else if (textureCoordinateMapping == 1)
|
|
421
|
+
texCoord = getTexCoord (x3d_TextureCoordinateGenerator [1], textureTransformMapping, textureCoordinateMapping);
|
|
422
|
+
#endif
|
|
423
|
+
texCoord .stp /= texCoord .q;
|
|
424
|
+
if ((x3d_GeometryType == x3d_Geometry2D) && (gl_FrontFacing == false))
|
|
425
|
+
texCoord .s = 1.0 - texCoord .s;
|
|
426
|
+
return texCoord;
|
|
394
427
|
}
|
|
395
428
|
vec4
|
|
396
429
|
getTexture2D (const in int i, const in vec2 texCoord)
|
|
@@ -412,11 +445,11 @@ getTextureCube (const in int i, const in vec3 texCoord)
|
|
|
412
445
|
vec4 color = vec4 (0.0);
|
|
413
446
|
#if x3d_MaxTextures > 0
|
|
414
447
|
if (i == 0)
|
|
415
|
-
color = textureCube (
|
|
448
|
+
color = textureCube (x3d_TextureCube [0], texCoord);
|
|
416
449
|
#endif
|
|
417
450
|
#if x3d_MaxTextures > 1
|
|
418
451
|
else if (i == 1)
|
|
419
|
-
color = textureCube (
|
|
452
|
+
color = textureCube (x3d_TextureCube [1], texCoord);
|
|
420
453
|
#endif
|
|
421
454
|
return color;
|
|
422
455
|
}
|
|
@@ -428,7 +461,7 @@ for (int i = 0; i < x3d_MaxTextures; ++ i)
|
|
|
428
461
|
{
|
|
429
462
|
if (i == x3d_NumTextures)
|
|
430
463
|
break;
|
|
431
|
-
vec4 texCoord =
|
|
464
|
+
vec4 texCoord = getTexCoord (x3d_TextureCoordinateGenerator [i], i, i);
|
|
432
465
|
vec4 textureColor = vec4 (1.0);
|
|
433
466
|
texCoord .stp /= texCoord .q;
|
|
434
467
|
if ((x3d_GeometryType == x3d_Geometry2D) && (gl_FrontFacing == false))
|
|
@@ -437,7 +470,7 @@ if (x3d_TextureType [i] == x3d_TextureType2D)
|
|
|
437
470
|
{
|
|
438
471
|
textureColor = getTexture2D (i, texCoord .st);
|
|
439
472
|
}
|
|
440
|
-
else if (x3d_TextureType [i] ==
|
|
473
|
+
else if (x3d_TextureType [i] == x3d_TextureTypeCube)
|
|
441
474
|
{
|
|
442
475
|
textureColor = getTextureCube (i, texCoord .stp);
|
|
443
476
|
}
|
|
@@ -668,14 +701,19 @@ currentColor *= getProjectiveTexture (i, texCoord .st);
|
|
|
668
701
|
}
|
|
669
702
|
return currentColor;
|
|
670
703
|
}
|
|
671
|
-
#else
|
|
704
|
+
#else
|
|
672
705
|
vec4
|
|
673
706
|
getProjectiveTextureColor (in vec4 currentColor)
|
|
674
707
|
{
|
|
675
708
|
return currentColor;
|
|
676
709
|
}
|
|
677
|
-
#endif
|
|
678
|
-
#else
|
|
710
|
+
#endif
|
|
711
|
+
#else
|
|
712
|
+
vec4
|
|
713
|
+
getTexCoord (const in int textureTransformMapping, const in int textureCoordinateMapping)
|
|
714
|
+
{
|
|
715
|
+
return texCoord0;
|
|
716
|
+
}
|
|
679
717
|
vec4
|
|
680
718
|
getTextureColor (const in vec4 diffuseColor, const in vec4 specularColor)
|
|
681
719
|
{
|
|
@@ -688,9 +726,9 @@ if (x3d_TextureType [0] == x3d_TextureType2D)
|
|
|
688
726
|
{
|
|
689
727
|
textureColor = texture2D (x3d_Texture2D [0], texCoord .st);
|
|
690
728
|
}
|
|
691
|
-
else if (x3d_TextureType [0] ==
|
|
729
|
+
else if (x3d_TextureType [0] == x3d_TextureTypeCube)
|
|
692
730
|
{
|
|
693
|
-
textureColor = textureCube (
|
|
731
|
+
textureColor = textureCube (x3d_TextureCube [0], texCoord .stp);
|
|
694
732
|
}
|
|
695
733
|
return diffuseColor * textureColor;
|
|
696
734
|
}
|
|
@@ -699,7 +737,42 @@ getProjectiveTextureColor (in vec4 currentColor)
|
|
|
699
737
|
{
|
|
700
738
|
return currentColor;
|
|
701
739
|
}
|
|
740
|
+
#endif
|
|
741
|
+
#ifdef X3D_MATERIAL_TEXTURES
|
|
742
|
+
uniform x3d_NormalTextureParameters x3d_NormalTexture;
|
|
743
|
+
mat3
|
|
744
|
+
getTBNMatrix (const in vec2 texCoord)
|
|
745
|
+
{
|
|
746
|
+
vec3 pos_dx = dFdx (vertex);
|
|
747
|
+
vec3 pos_dy = dFdy (vertex);
|
|
748
|
+
vec3 tex_dx = dFdx (vec3 (texCoord, 0.0));
|
|
749
|
+
vec3 tex_dy = dFdy (vec3 (texCoord, 0.0));
|
|
750
|
+
vec3 t = (tex_dy .t * pos_dx - tex_dx .t * pos_dy) / (tex_dx .s * tex_dy.t - tex_dy .s * tex_dx .t);
|
|
751
|
+
vec3 N = normalize (normal);
|
|
752
|
+
vec3 T = normalize (t - N * dot (N, t));
|
|
753
|
+
vec3 B = normalize (cross (N, T));
|
|
754
|
+
mat3 tbn = mat3 (T, B, N);
|
|
755
|
+
return tbn;
|
|
756
|
+
}
|
|
702
757
|
#endif
|
|
758
|
+
vec3
|
|
759
|
+
getNormalVector ()
|
|
760
|
+
{
|
|
761
|
+
float facing = gl_FrontFacing ? 1.0 : -1.0;
|
|
762
|
+
#if defined(X3D_NORMAL_TEXTURE) && !defined(X3D_NORMAL_TEXTURE_3D)
|
|
763
|
+
vec4 texCoord = getTexCoord (x3d_NormalTexture .textureTransformMapping, x3d_NormalTexture .textureCoordinateMapping);
|
|
764
|
+
vec3 normalScale = vec3 (vec2 (x3d_Material .normalScale), 1.0);
|
|
765
|
+
mat3 tbn = getTBNMatrix (texCoord .st);
|
|
766
|
+
#if defined(X3D_NORMAL_TEXTURE_2D)
|
|
767
|
+
vec3 n = texture2D (x3d_NormalTexture .texture2D, texCoord .st) .rgb;
|
|
768
|
+
#elif defined(X3D_NORMAL_TEXTURE_CUBE)
|
|
769
|
+
vec3 n = textureCube (x3d_NormalTexture .textureCube, texCoord .stp) .rgb;
|
|
770
|
+
#endif
|
|
771
|
+
return normalize (tbn * ((n * 2.0 - 1.0) * normalScale)) * facing;
|
|
772
|
+
#else
|
|
773
|
+
return normalize (normal) * facing;
|
|
774
|
+
#endif
|
|
775
|
+
}
|
|
703
776
|
uniform x3d_FillPropertiesParameters x3d_FillProperties;
|
|
704
777
|
vec4
|
|
705
778
|
getHatchColor (vec4 color)
|
|
@@ -761,22 +834,118 @@ else if (spotAngle <= beamWidth)
|
|
|
761
834
|
return 1.0;
|
|
762
835
|
return (spotAngle - cutOffAngle) / (beamWidth - cutOffAngle);
|
|
763
836
|
}
|
|
837
|
+
#ifdef X3D_MATERIAL_TEXTURES
|
|
838
|
+
uniform x3d_AmbientTextureParameters x3d_AmbientTexture;
|
|
839
|
+
uniform x3d_DiffuseTextureParameters x3d_DiffuseTexture;
|
|
840
|
+
uniform x3d_SpecularTextureParameters x3d_SpecularTexture;
|
|
841
|
+
uniform x3d_EmissiveTextureParameters x3d_EmissiveTexture;
|
|
842
|
+
uniform x3d_ShininessTextureParameters x3d_ShininessTexture;
|
|
843
|
+
uniform x3d_OcclusionTextureParameters x3d_OcclusionTexture;
|
|
844
|
+
#endif
|
|
845
|
+
vec3
|
|
846
|
+
getAmbientColor ()
|
|
847
|
+
{
|
|
848
|
+
vec3 ambientParameter = x3d_Material .ambientIntensity * x3d_Material .diffuseColor;
|
|
849
|
+
#if defined(X3D_AMBIENT_TEXTURE) && !defined(X3D_AMBIENT_TEXTURE_3D)
|
|
850
|
+
vec4 texCoord = getTexCoord (x3d_AmbientTexture .textureTransformMapping, x3d_AmbientTexture .textureCoordinateMapping);
|
|
851
|
+
#if defined(X3D_AMBIENT_TEXTURE_2D)
|
|
852
|
+
return ambientParameter * texture2D (x3d_AmbientTexture .texture2D, texCoord .st) .rgb;
|
|
853
|
+
#elif defined(X3D_AMBIENT_TEXTURE_CUBE)
|
|
854
|
+
return ambientParameter * textureCube (x3d_AmbientTexture .textureCube, texCoord .stp) .rgb;
|
|
855
|
+
#endif
|
|
856
|
+
#else
|
|
857
|
+
return ambientParameter;
|
|
858
|
+
#endif
|
|
859
|
+
}
|
|
860
|
+
vec4
|
|
861
|
+
getDiffuseColor ()
|
|
862
|
+
{
|
|
863
|
+
float alpha = 1.0 - x3d_Material .transparency;
|
|
864
|
+
vec4 diffuseParameter = x3d_ColorMaterial ? vec4 (color .rgb, color .a * alpha) : vec4 (x3d_Material .diffuseColor, alpha);
|
|
865
|
+
#if defined(X3D_DIFFUSE_TEXTURE) && !defined(X3D_DIFFUSE_TEXTURE_3D)
|
|
866
|
+
vec4 texCoord = getTexCoord (x3d_DiffuseTexture .textureTransformMapping, x3d_DiffuseTexture .textureCoordinateMapping);
|
|
867
|
+
#if defined(X3D_DIFFUSE_TEXTURE_2D)
|
|
868
|
+
return diffuseParameter * texture2D (x3d_DiffuseTexture .texture2D, texCoord .st) .rgba;
|
|
869
|
+
#elif defined(X3D_DIFFUSE_TEXTURE_CUBE)
|
|
870
|
+
return diffuseParameter * textureCube (x3d_DiffuseTexture .textureCube, texCoord .stp) .rgba;
|
|
871
|
+
#endif
|
|
872
|
+
#else
|
|
873
|
+
return getTextureColor (diffuseParameter, vec4 (x3d_Material .specularColor, alpha));
|
|
874
|
+
#endif
|
|
875
|
+
}
|
|
876
|
+
vec3
|
|
877
|
+
getSpecularColor ()
|
|
878
|
+
{
|
|
879
|
+
vec3 specularParameter = x3d_Material .specularColor;
|
|
880
|
+
#if defined(X3D_SPECULAR_TEXTURE) && !defined(X3D_SPECULAR_TEXTURE_3D)
|
|
881
|
+
vec4 texCoord = getTexCoord (x3d_SpecularTexture .textureTransformMapping, x3d_SpecularTexture .textureCoordinateMapping);
|
|
882
|
+
#if defined(X3D_SPECULAR_TEXTURE_2D)
|
|
883
|
+
return specularParameter * texture2D (x3d_SpecularTexture .texture2D, texCoord .st) .rgb;
|
|
884
|
+
#elif defined(X3D_SPECULAR_TEXTURE_CUBE)
|
|
885
|
+
return specularParameter * textureCube (x3d_SpecularTexture .textureCube, texCoord .stp) .rgb;
|
|
886
|
+
#endif
|
|
887
|
+
#else
|
|
888
|
+
return specularParameter;
|
|
889
|
+
#endif
|
|
890
|
+
}
|
|
891
|
+
vec3
|
|
892
|
+
getEmissiveColor ()
|
|
893
|
+
{
|
|
894
|
+
vec3 emissiveParameter = x3d_Material .emissiveColor;
|
|
895
|
+
#if defined(X3D_EMISSIVE_TEXTURE) && !defined(X3D_EMISSIVE_TEXTURE_3D)
|
|
896
|
+
vec4 texCoord = getTexCoord (x3d_EmissiveTexture .textureTransformMapping, x3d_EmissiveTexture .textureCoordinateMapping);
|
|
897
|
+
#if defined(X3D_EMISSIVE_TEXTURE_2D)
|
|
898
|
+
return emissiveParameter * texture2D (x3d_EmissiveTexture .texture2D, texCoord .st) .rgb;
|
|
899
|
+
#elif defined(X3D_EMISSIVE_TEXTURE_CUBE)
|
|
900
|
+
return emissiveParameter * textureCube (x3d_EmissiveTexture .textureCube, texCoord .stp) .rgb;
|
|
901
|
+
#endif
|
|
902
|
+
#else
|
|
903
|
+
return emissiveParameter;
|
|
904
|
+
#endif
|
|
905
|
+
}
|
|
906
|
+
float
|
|
907
|
+
getShininessFactor ()
|
|
908
|
+
{
|
|
909
|
+
float shininess = x3d_Material .shininess;
|
|
910
|
+
#if defined(X3D_SHININESS_TEXTURE) && !defined(X3D_SHININESS_TEXTURE_3D)
|
|
911
|
+
vec4 texCoord = getTexCoord (x3d_ShininessTexture .textureTransformMapping, x3d_ShininessTexture .textureCoordinateMapping);
|
|
912
|
+
#if defined(X3D_SHININESS_TEXTURE_2D)
|
|
913
|
+
return shininess * texture2D (x3d_ShininessTexture .texture2D, texCoord .st) .a * 128.0;
|
|
914
|
+
#elif defined(X3D_SHININESS_TEXTURE_CUBE)
|
|
915
|
+
return shininess * textureCube (x3d_ShininessTexture .textureCube, texCoord .stp) .a * 128.0;
|
|
916
|
+
#endif
|
|
917
|
+
#else
|
|
918
|
+
return shininess * 128.0;
|
|
919
|
+
#endif
|
|
920
|
+
}
|
|
921
|
+
float
|
|
922
|
+
getOcclusionFactor ()
|
|
923
|
+
{
|
|
924
|
+
#if defined(X3D_OCCLUSION_TEXTURE) && !defined(X3D_OCCLUSION_TEXTURE_3D)
|
|
925
|
+
vec4 texCoord = getTexCoord (x3d_OcclusionTexture .textureTransformMapping, x3d_OcclusionTexture .textureCoordinateMapping);
|
|
926
|
+
#if defined(X3D_OCCLUSION_TEXTURE_2D)
|
|
927
|
+
return texture2D (x3d_OcclusionTexture .texture2D, texCoord .st) .r;
|
|
928
|
+
#elif defined(X3D_OCCLUSION_TEXTURE_CUBE)
|
|
929
|
+
return textureCube (x3d_OcclusionTexture .textureCube, texCoord .stp) .r;
|
|
930
|
+
#endif
|
|
931
|
+
#else
|
|
932
|
+
return 1.0;
|
|
933
|
+
#endif
|
|
934
|
+
}
|
|
764
935
|
vec4
|
|
765
936
|
getMaterialColor ()
|
|
766
937
|
{
|
|
767
|
-
vec3 N =
|
|
938
|
+
vec3 N = getNormalVector ();
|
|
768
939
|
vec3 V = normalize (-vertex);
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
alpha = T .a;
|
|
940
|
+
vec4 diffuseColorAlpha = getDiffuseColor ();
|
|
941
|
+
float alpha = diffuseColorAlpha .a;
|
|
942
|
+
vec3 diffuseColor = diffuseColorAlpha .rgb;
|
|
943
|
+
vec3 ambientColor = getAmbientColor ();
|
|
944
|
+
vec3 specularColor = getSpecularColor ();
|
|
945
|
+
float shininessFactor = getShininessFactor ();
|
|
776
946
|
vec4 P = getProjectiveTextureColor (vec4 (1.0));
|
|
777
|
-
|
|
947
|
+
diffuseColor *= P .rgb;
|
|
778
948
|
alpha *= P .a;
|
|
779
|
-
vec3 ambientTerm = diffuseFactor * x3d_Material .ambientIntensity;
|
|
780
949
|
vec3 finalColor = vec3 (0.0);
|
|
781
950
|
for (int i = 0; i < x3d_MaxLights; i ++)
|
|
782
951
|
{
|
|
@@ -793,22 +962,25 @@ vec3 c = light .attenuation;
|
|
|
793
962
|
vec3 L = di ? -d : normalize (vL);
|
|
794
963
|
vec3 H = normalize (L + V);
|
|
795
964
|
float lightAngle = max (dot (N, L), 0.0);
|
|
796
|
-
vec3 diffuseTerm =
|
|
797
|
-
float specularFactor =
|
|
798
|
-
vec3 specularTerm =
|
|
965
|
+
vec3 diffuseTerm = diffuseColor * lightAngle;
|
|
966
|
+
float specularFactor = shininessFactor > 0.0 ? pow (max (dot (N, H), 0.0), shininessFactor) : 1.0;
|
|
967
|
+
vec3 specularTerm = specularColor * specularFactor;
|
|
799
968
|
float attenuationFactor = di ? 1.0 : 1.0 / max (c [0] + c [1] * dL + c [2] * (dL * dL), 1.0);
|
|
800
969
|
float spotFactor = light .type == x3d_SpotLight ? getSpotFactor (light .cutOffAngle, light .beamWidth, L, d) : 1.0;
|
|
801
970
|
float attenuationSpotFactor = attenuationFactor * spotFactor;
|
|
802
|
-
vec3
|
|
803
|
-
vec3
|
|
971
|
+
vec3 ambientTerm = light .ambientIntensity * ambientColor;
|
|
972
|
+
vec3 diffuseSpecularTerm = light .intensity * (diffuseTerm + specularTerm);
|
|
804
973
|
#ifdef X3D_SHADOWS
|
|
805
974
|
if (lightAngle > 0.0)
|
|
806
|
-
|
|
975
|
+
diffuseSpecularTerm = mix (diffuseSpecularTerm, light .shadowColor, getShadowIntensity (i, light));
|
|
807
976
|
#endif
|
|
808
|
-
finalColor += attenuationSpotFactor * light .color * (
|
|
977
|
+
finalColor += attenuationSpotFactor * light .color * (ambientTerm + diffuseSpecularTerm);
|
|
809
978
|
}
|
|
810
979
|
}
|
|
811
|
-
|
|
980
|
+
#ifdef X3D_OCCLUSION_TEXTURE
|
|
981
|
+
finalColor = mix (finalColor, finalColor * getOcclusionFactor (), x3d_Material .occlusionStrength);
|
|
982
|
+
#endif
|
|
983
|
+
finalColor += getEmissiveColor ();
|
|
812
984
|
return vec4 (finalColor, alpha);
|
|
813
985
|
}
|
|
814
986
|
void
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
precision highp float;
|
|
2
2
|
precision highp int;
|
|
3
|
-
uniform mat4 x3d_TextureMatrix [x3d_MaxTextures];
|
|
4
3
|
uniform mat3 x3d_NormalMatrix;
|
|
5
4
|
uniform mat4 x3d_ProjectionMatrix;
|
|
6
5
|
uniform mat4 x3d_ModelViewMatrix;
|
|
@@ -40,10 +39,10 @@ vertex = position .xyz;
|
|
|
40
39
|
localNormal = x3d_Normal;
|
|
41
40
|
localVertex = x3d_Vertex .xyz;
|
|
42
41
|
#if x3d_MaxTextures > 0
|
|
43
|
-
texCoord0 =
|
|
42
|
+
texCoord0 = x3d_TexCoord0;
|
|
44
43
|
#endif
|
|
45
44
|
#if x3d_MaxTextures > 1
|
|
46
|
-
texCoord1 =
|
|
45
|
+
texCoord1 = x3d_TexCoord1;
|
|
47
46
|
#endif
|
|
48
47
|
gl_Position = x3d_ProjectionMatrix * position;
|
|
49
48
|
#ifdef X3D_LOGARITHMIC_DEPTH_BUFFER
|
|
@@ -57,18 +57,19 @@ if (dot (vertex, x3d_ClipPlane [i] .xyz) - x3d_ClipPlane [i] .w < 0.0)
|
|
|
57
57
|
discard;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
+
uniform mat4 x3d_TextureMatrix [x3d_MaxTextures];
|
|
60
61
|
uniform int x3d_NumTextures;
|
|
61
62
|
uniform int x3d_TextureType [x3d_MaxTextures];
|
|
62
63
|
uniform sampler2D x3d_Texture2D [x3d_MaxTextures];
|
|
63
|
-
uniform samplerCube
|
|
64
|
+
uniform samplerCube x3d_TextureCube [x3d_MaxTextures];
|
|
64
65
|
#ifdef X3D_MULTI_TEXTURING
|
|
65
|
-
#define M_PI 3.14159265358979323846
|
|
66
66
|
float rand (vec2 co) { return fract (sin (dot (co.xy, vec2 (12.9898,78.233))) * 43758.5453); }
|
|
67
67
|
float rand (vec2 co, float l) { return rand (vec2 (rand (co), l)); }
|
|
68
68
|
float rand (vec2 co, float l, float t) { return rand (vec2 (rand (co, l), t)); }
|
|
69
69
|
float
|
|
70
70
|
perlin (vec2 p, float dim, float time)
|
|
71
71
|
{
|
|
72
|
+
const float M_PI = 3.14159265358979323846;
|
|
72
73
|
vec2 pos = floor (p * dim);
|
|
73
74
|
vec2 posx = pos + vec2 (1.0, 0.0);
|
|
74
75
|
vec2 posy = pos + vec2 (0.0, 1.0);
|
|
@@ -100,6 +101,20 @@ uniform vec3 x3d_ProjectiveTextureLocation [x3d_MaxTextures];
|
|
|
100
101
|
uniform vec4 x3d_MultiTextureColor;
|
|
101
102
|
uniform x3d_MultiTextureParameters x3d_MultiTexture [x3d_MaxTextures];
|
|
102
103
|
uniform x3d_TextureCoordinateGeneratorParameters x3d_TextureCoordinateGenerator [x3d_MaxTextures];
|
|
104
|
+
mat4
|
|
105
|
+
getTextureMatrix (const in int i)
|
|
106
|
+
{
|
|
107
|
+
mat4 textureMatrix = mat4 (0.0);
|
|
108
|
+
#if x3d_MaxTextures > 0
|
|
109
|
+
if (i == 0)
|
|
110
|
+
textureMatrix = x3d_TextureMatrix [0];
|
|
111
|
+
#endif
|
|
112
|
+
#if x3d_MaxTextures > 1
|
|
113
|
+
else if (i == 1)
|
|
114
|
+
textureMatrix = x3d_TextureMatrix [1];
|
|
115
|
+
#endif
|
|
116
|
+
return textureMatrix;
|
|
117
|
+
}
|
|
103
118
|
vec4
|
|
104
119
|
getTexCoord (const in int i)
|
|
105
120
|
{
|
|
@@ -115,12 +130,12 @@ texCoord = texCoord1;
|
|
|
115
130
|
return texCoord;
|
|
116
131
|
}
|
|
117
132
|
vec4
|
|
118
|
-
|
|
133
|
+
getTexCoord (const in x3d_TextureCoordinateGeneratorParameters textureCoordinateGenerator, const in int textureTransformMapping, const in int textureCoordinateMapping)
|
|
119
134
|
{
|
|
120
135
|
int mode = textureCoordinateGenerator .mode;
|
|
121
136
|
if (mode == x3d_None)
|
|
122
137
|
{
|
|
123
|
-
return getTexCoord (
|
|
138
|
+
return getTextureMatrix (textureTransformMapping) * getTexCoord (textureCoordinateMapping);
|
|
124
139
|
}
|
|
125
140
|
else if (mode == x3d_Sphere)
|
|
126
141
|
{
|
|
@@ -179,7 +194,24 @@ float eta = textureCoordinateGenerator .parameter [0];
|
|
|
179
194
|
vec3 eye = vec3 (textureCoordinateGenerator .parameter [1], textureCoordinateGenerator .parameter [2], textureCoordinateGenerator .parameter [3]);
|
|
180
195
|
return vec4 (refract (normalize (localVertex - eye), -N, eta), 1.0);
|
|
181
196
|
}
|
|
182
|
-
return getTexCoord (
|
|
197
|
+
return getTextureMatrix (textureTransformMapping) * getTexCoord (textureCoordinateMapping);
|
|
198
|
+
}
|
|
199
|
+
vec4
|
|
200
|
+
getTexCoord (const in int textureTransformMapping, const in int textureCoordinateMapping)
|
|
201
|
+
{
|
|
202
|
+
vec4 texCoord;
|
|
203
|
+
#if x3d_MaxTextures > 0
|
|
204
|
+
if (textureCoordinateMapping == 0)
|
|
205
|
+
texCoord = getTexCoord (x3d_TextureCoordinateGenerator [0], textureTransformMapping, textureCoordinateMapping);
|
|
206
|
+
#endif
|
|
207
|
+
#if x3d_MaxTextures > 1
|
|
208
|
+
else if (textureCoordinateMapping == 1)
|
|
209
|
+
texCoord = getTexCoord (x3d_TextureCoordinateGenerator [1], textureTransformMapping, textureCoordinateMapping);
|
|
210
|
+
#endif
|
|
211
|
+
texCoord .stp /= texCoord .q;
|
|
212
|
+
if ((x3d_GeometryType == x3d_Geometry2D) && (gl_FrontFacing == false))
|
|
213
|
+
texCoord .s = 1.0 - texCoord .s;
|
|
214
|
+
return texCoord;
|
|
183
215
|
}
|
|
184
216
|
vec4
|
|
185
217
|
getTexture2D (const in int i, const in vec2 texCoord)
|
|
@@ -201,11 +233,11 @@ getTextureCube (const in int i, const in vec3 texCoord)
|
|
|
201
233
|
vec4 color = vec4 (0.0);
|
|
202
234
|
#if x3d_MaxTextures > 0
|
|
203
235
|
if (i == 0)
|
|
204
|
-
color = textureCube (
|
|
236
|
+
color = textureCube (x3d_TextureCube [0], texCoord);
|
|
205
237
|
#endif
|
|
206
238
|
#if x3d_MaxTextures > 1
|
|
207
239
|
else if (i == 1)
|
|
208
|
-
color = textureCube (
|
|
240
|
+
color = textureCube (x3d_TextureCube [1], texCoord);
|
|
209
241
|
#endif
|
|
210
242
|
return color;
|
|
211
243
|
}
|
|
@@ -217,7 +249,7 @@ for (int i = 0; i < x3d_MaxTextures; ++ i)
|
|
|
217
249
|
{
|
|
218
250
|
if (i == x3d_NumTextures)
|
|
219
251
|
break;
|
|
220
|
-
vec4 texCoord =
|
|
252
|
+
vec4 texCoord = getTexCoord (x3d_TextureCoordinateGenerator [i], i, i);
|
|
221
253
|
vec4 textureColor = vec4 (1.0);
|
|
222
254
|
texCoord .stp /= texCoord .q;
|
|
223
255
|
if ((x3d_GeometryType == x3d_Geometry2D) && (gl_FrontFacing == false))
|
|
@@ -226,7 +258,7 @@ if (x3d_TextureType [i] == x3d_TextureType2D)
|
|
|
226
258
|
{
|
|
227
259
|
textureColor = getTexture2D (i, texCoord .st);
|
|
228
260
|
}
|
|
229
|
-
else if (x3d_TextureType [i] ==
|
|
261
|
+
else if (x3d_TextureType [i] == x3d_TextureTypeCube)
|
|
230
262
|
{
|
|
231
263
|
textureColor = getTextureCube (i, texCoord .stp);
|
|
232
264
|
}
|
|
@@ -457,14 +489,19 @@ currentColor *= getProjectiveTexture (i, texCoord .st);
|
|
|
457
489
|
}
|
|
458
490
|
return currentColor;
|
|
459
491
|
}
|
|
460
|
-
#else
|
|
492
|
+
#else
|
|
461
493
|
vec4
|
|
462
494
|
getProjectiveTextureColor (in vec4 currentColor)
|
|
463
495
|
{
|
|
464
496
|
return currentColor;
|
|
465
497
|
}
|
|
466
|
-
#endif
|
|
467
|
-
#else
|
|
498
|
+
#endif
|
|
499
|
+
#else
|
|
500
|
+
vec4
|
|
501
|
+
getTexCoord (const in int textureTransformMapping, const in int textureCoordinateMapping)
|
|
502
|
+
{
|
|
503
|
+
return texCoord0;
|
|
504
|
+
}
|
|
468
505
|
vec4
|
|
469
506
|
getTextureColor (const in vec4 diffuseColor, const in vec4 specularColor)
|
|
470
507
|
{
|
|
@@ -477,9 +514,9 @@ if (x3d_TextureType [0] == x3d_TextureType2D)
|
|
|
477
514
|
{
|
|
478
515
|
textureColor = texture2D (x3d_Texture2D [0], texCoord .st);
|
|
479
516
|
}
|
|
480
|
-
else if (x3d_TextureType [0] ==
|
|
517
|
+
else if (x3d_TextureType [0] == x3d_TextureTypeCube)
|
|
481
518
|
{
|
|
482
|
-
textureColor = textureCube (
|
|
519
|
+
textureColor = textureCube (x3d_TextureCube [0], texCoord .stp);
|
|
483
520
|
}
|
|
484
521
|
return diffuseColor * textureColor;
|
|
485
522
|
}
|
|
@@ -488,36 +525,25 @@ getProjectiveTextureColor (in vec4 currentColor)
|
|
|
488
525
|
{
|
|
489
526
|
return currentColor;
|
|
490
527
|
}
|
|
491
|
-
#endif
|
|
528
|
+
#endif
|
|
492
529
|
vec4
|
|
493
530
|
getPointColor ()
|
|
494
531
|
{
|
|
495
|
-
vec4 finalColor = color;
|
|
496
|
-
if (x3d_NumTextures > 0)
|
|
497
|
-
{
|
|
498
532
|
vec4 texCoord = vec4 (gl_PointCoord .x, 1.0 - gl_PointCoord .y, 0.0, 1.0);
|
|
499
533
|
texCoord0 = texCoord;
|
|
500
534
|
texCoord1 = texCoord;
|
|
501
|
-
vec4
|
|
502
|
-
if (
|
|
535
|
+
vec4 finalColor = getTextureColor (color, vec4 (1.0));
|
|
536
|
+
if (x3d_NumTextures == 0)
|
|
503
537
|
{
|
|
504
|
-
|
|
505
|
-
}
|
|
506
|
-
else if (x3d_PointProperties .colorMode == x3d_TextureColor)
|
|
538
|
+
if (pointSize > 1.0)
|
|
507
539
|
{
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
else
|
|
511
|
-
{
|
|
512
|
-
finalColor .rgb += textureColor .rgb;
|
|
513
|
-
finalColor .a *= textureColor .a;
|
|
514
|
-
}
|
|
540
|
+
float t = max (distance (vec2 (0.5), gl_PointCoord) * pointSize - max (pointSize / 2.0 - 1.0, 0.0), 0.0);
|
|
541
|
+
finalColor .a = mix (finalColor .a, 0.0, t);
|
|
515
542
|
}
|
|
516
543
|
else
|
|
517
544
|
{
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
finalColor .a = mix (finalColor .a, 0.0, clamp (t, 0.0, 1.0));
|
|
545
|
+
finalColor .a *= pointSize;
|
|
546
|
+
}
|
|
521
547
|
}
|
|
522
548
|
return finalColor;
|
|
523
549
|
}
|
|
@@ -2,7 +2,7 @@ precision highp float;
|
|
|
2
2
|
precision highp int;
|
|
3
3
|
uniform x3d_PointPropertiesParameters x3d_PointProperties;
|
|
4
4
|
uniform bool x3d_ColorMaterial;
|
|
5
|
-
uniform
|
|
5
|
+
uniform x3d_UnlitMaterialParameters x3d_Material;
|
|
6
6
|
uniform int x3d_NumTextures;
|
|
7
7
|
uniform mat4 x3d_ProjectionMatrix;
|
|
8
8
|
uniform mat4 x3d_ModelViewMatrix;
|
|
@@ -33,7 +33,7 @@ float dL = length (vertex);
|
|
|
33
33
|
pointSize = x3d_PointProperties .pointSizeScaleFactor;
|
|
34
34
|
pointSize *= 1.0 / (pointSizeAttenuation [0] + pointSizeAttenuation [1] * dL + pointSizeAttenuation [2] * (dL * dL));
|
|
35
35
|
pointSize = clamp (pointSize, pointSizeMinValue, pointSizeMaxValue);
|
|
36
|
-
gl_PointSize = pointSize
|
|
36
|
+
gl_PointSize = pointSize > 1.0 && x3d_NumTextures == 0 ? pointSize + 1.0 : pointSize;
|
|
37
37
|
float alpha = 1.0 - x3d_Material .transparency;
|
|
38
38
|
if (x3d_ColorMaterial)
|
|
39
39
|
{
|