x_ite 8.0.0 → 8.3.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/.github/workflows/pages-deploy.yml +64 -0
- package/.gitmodules +3 -0
- package/.vscode/settings.json +3 -2
- package/Makefile +9 -4
- package/README.md +6 -6
- package/build/bin/version.pl +3 -11
- package/dist/LICENSE.md +0 -2
- package/dist/assets/components/Annotation.js +55 -28
- package/dist/assets/components/Annotation.min.js +1 -1
- package/dist/assets/components/CADGeometry.js +55 -28
- package/dist/assets/components/CADGeometry.min.js +1 -1
- package/dist/assets/components/CubeMapTexturing.js +197 -38
- package/dist/assets/components/CubeMapTexturing.min.js +1 -1
- package/dist/assets/components/DIS.js +50 -26
- package/dist/assets/components/DIS.min.js +1 -1
- package/dist/assets/components/EventUtilities.js +61 -28
- package/dist/assets/components/EventUtilities.min.js +1 -1
- package/dist/assets/components/Geometry2D.js +96 -48
- package/dist/assets/components/Geometry2D.min.js +1 -1
- package/dist/assets/components/Geospatial.js +186 -193
- package/dist/assets/components/Geospatial.min.js +1 -1
- package/dist/assets/components/HAnim.js +92 -53
- package/dist/assets/components/HAnim.min.js +1 -1
- package/dist/assets/components/KeyDeviceSensor.js +35 -17
- package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
- package/dist/assets/components/Layout.js +77 -45
- package/dist/assets/components/Layout.min.js +1 -1
- package/dist/assets/components/NURBS.js +209 -96
- package/dist/assets/components/NURBS.min.js +1 -1
- package/dist/assets/components/ParticleSystems.js +125 -62
- package/dist/assets/components/ParticleSystems.min.js +1 -1
- package/dist/assets/components/Picking.js +105 -70
- package/dist/assets/components/Picking.min.js +1 -1
- package/dist/assets/components/ProjectiveTextureMapping.js +69 -46
- package/dist/assets/components/ProjectiveTextureMapping.min.js +1 -1
- package/dist/assets/components/RigidBodyPhysics.js +125 -63
- package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
- package/dist/assets/components/Scripting.js +56 -38
- package/dist/assets/components/Scripting.min.js +1 -1
- package/dist/assets/components/Text.js +16857 -0
- package/dist/assets/components/Text.min.js +1 -0
- package/dist/assets/components/Texturing3D.js +114 -77
- package/dist/assets/components/Texturing3D.min.js +1 -1
- package/dist/assets/components/VolumeRendering.js +126 -60
- package/dist/assets/components/VolumeRendering.min.js +1 -1
- package/dist/assets/components/X_ITE.js +21 -12
- package/dist/assets/components/X_ITE.min.js +1 -1
- package/dist/x_ite.css +1 -1
- package/dist/x_ite.js +17800 -31195
- package/dist/x_ite.min.js +1 -1
- package/dist/x_ite.zip +0 -0
- package/docs/Gemfile +11 -33
- package/docs/Gemfile.lock +53 -59
- package/docs/LICENSE +21 -0
- package/docs/README.md +46 -0
- package/docs/_config.yml +320 -127
- package/docs/_data/assets/cross_origin.yml +62 -0
- package/docs/_data/assets/self_host.yml +51 -0
- package/docs/_data/contact.yml +30 -0
- package/docs/_data/locales/bg-BG.yml +83 -0
- package/docs/_data/locales/de-DE.yml +82 -0
- package/docs/_data/locales/en.yml +93 -0
- package/docs/_data/locales/es-ES.yml +79 -0
- package/docs/_data/locales/fr-FR.yml +79 -0
- package/docs/_data/locales/hu-HU.yml +81 -0
- package/docs/_data/locales/id-ID.yml +79 -0
- package/docs/_data/locales/ko-KR.yml +86 -0
- package/docs/_data/locales/my-MM.yml +79 -0
- package/docs/_data/locales/pt-BR.yml +79 -0
- package/docs/_data/locales/ru-RU.yml +79 -0
- package/docs/_data/locales/tr-TR.yml +79 -0
- package/docs/_data/locales/uk-UA.yml +79 -0
- package/docs/_data/locales/vi-VN.yml +77 -0
- package/docs/_data/locales/zh-CN.yml +85 -0
- package/docs/_data/share.yml +27 -0
- package/docs/_includes/nav.html +19 -0
- package/docs/_includes/scripts.html +15 -0
- package/docs/_layouts/compress.html +11 -0
- package/docs/_layouts/redirect-page.html +6 -0
- package/docs/_layouts/wide.html +52 -0
- package/docs/_layouts/wrap.html +4 -0
- package/docs/_layouts/x_ite.html +8 -0
- package/docs/_plugins/no_date.rb +11 -0
- package/docs/_plugins/posts-lastmod-hook.rb +14 -0
- package/docs/{Accessing-the-External-Browser.md → _posts/accessing-the-external-browser.md} +26 -25
- package/docs/_posts/browser-support.md +53 -0
- package/docs/{Custom-Shaders.md → _posts/custom-shaders.md} +18 -14
- package/docs/{DOM-Integration.md → _posts/dom-integration.md} +29 -22
- package/docs/{Features.md → _posts/features.md} +11 -12
- package/docs/{index.md → _posts/getting-started.md} +203 -245
- package/docs/{Glossary.md → _posts/glossary.md} +5 -6
- package/docs/{How-To-Configure-Your-Web-Server.md → _posts/how-to-configure-your-web-server.md} +5 -6
- package/docs/{reference/Browser-Services.md → _posts/reference/browser-services.md} +8 -9
- package/docs/{reference/Constants-Services.md → _posts/reference/constants-services.md} +14 -15
- package/docs/{reference/ECMAScript-Object-and-Function-Definitions.md → _posts/reference/ecmascript-object-and-function-definitions.md} +14 -15
- package/docs/_posts/reference/field-services-and-objects.md +1127 -0
- package/docs/{reference/Prototype-Services.md → _posts/reference/prototype-services.md} +8 -14
- package/docs/{reference/Route-Services.md → _posts/reference/route-services.md} +6 -10
- package/docs/{reference/Scene-Services.md → _posts/reference/scene-services.md} +11 -21
- package/docs/{reference/Script-Node-Authoring-Interface.md → _posts/reference/script-node-authoring-interface.md} +10 -11
- package/docs/_posts/report-a-bug.md +15 -0
- package/docs/_posts/setup-a-localhost-server.md +42 -0
- package/docs/_posts/supported-nodes.md +377 -0
- package/docs/{tutorials/Adding-backgrounds.md → _posts/tutorials/adding-backgrounds.md} +13 -14
- package/docs/{tutorials/Adding-fog.md → _posts/tutorials/adding-fog.md} +6 -7
- package/docs/{tutorials/Adding-sound.md → _posts/tutorials/adding-sound.md} +27 -26
- package/docs/{tutorials/Animating-transforms.md → _posts/tutorials/animating-transforms.md} +36 -37
- package/docs/{tutorials/Basic-Nodes.md → _posts/tutorials/basic-nodes.md} +38 -49
- package/docs/{tutorials/Building-a-X3D-world.md → _posts/tutorials/building-a-x3d-world.md} +16 -16
- package/docs/{tutorials/Building-elevation-grids.md → _posts/tutorials/building-elevation-grids.md} +15 -14
- package/docs/{tutorials/Building-extruded-shapes.md → _posts/tutorials/building-extruded-shapes.md} +11 -12
- package/docs/{tutorials/Building-primitive-shapes.md → _posts/tutorials/building-primitive-shapes.md} +29 -28
- package/docs/{tutorials/Building-shapes-out-of-points,-lines,-and-faces.md → _posts/tutorials/building-shapes-out-of-points-lines-and-faces.md} +25 -27
- package/docs/{tutorials/Controlling-appearance-with-materials.md → _posts/tutorials/controlling-appearance-with-materials.md} +20 -19
- package/docs/{tutorials/Controlling-color-on-coordinate-based-geometry.md → _posts/tutorials/controlling-color-on-coordinate-based-geometry.md} +15 -16
- package/docs/{tutorials/Controlling-detail.md → _posts/tutorials/controlling-detail.md} +12 -11
- package/docs/{tutorials/Controlling-how-textures-are-mapped.md → _posts/tutorials/controlling-how-textures-are-mapped.md} +11 -12
- package/docs/{tutorials/Controlling-navigation.md → _posts/tutorials/controlling-navigation.md} +7 -8
- package/docs/{tutorials/Controlling-shading-on-coordinate-based-geometry.md → _posts/tutorials/controlling-shading-on-coordinate-based-geometry.md} +19 -20
- package/docs/{tutorials/Controlling-the-viewpoint.md → _posts/tutorials/controlling-the-viewpoint.md} +7 -8
- package/docs/{tutorials/Creating-new-node-types.md → _posts/tutorials/creating-new-node-types.md} +8 -9
- package/docs/{tutorials/Grouping-nodes.md → _posts/tutorials/grouping-nodes.md} +17 -18
- package/docs/{tutorials/Hello,-World!.md → _posts/tutorials/hello-world.md} +16 -28
- package/docs/{tutorials/Improving-Performance.md → _posts/tutorials/improving-performance.md} +7 -11
- package/docs/{tutorials/Increasing-Rendering-Speed.md → _posts/tutorials/increasing-rendering-speed.md} +5 -6
- package/docs/{tutorials/Introducing-animation.md → _posts/tutorials/introducing-animation.md} +14 -15
- package/docs/{tutorials/Introducing-script-use.md → _posts/tutorials/introducing-script-use.md} +7 -8
- package/docs/{tutorials/Introducing-X3D.md → _posts/tutorials/introducing-x3d.md} +7 -7
- package/docs/{tutorials/Lighting-your-world.md → _posts/tutorials/lighting-your-world.md} +8 -9
- package/docs/{tutorials/Mapping-textures.md → _posts/tutorials/mapping-textures.md} +11 -12
- package/docs/{tutorials/Naming-nodes.md → _posts/tutorials/naming-nodes.md} +9 -8
- package/docs/_posts/tutorials/overview.md +83 -0
- package/docs/{tutorials/Providing-information-about-your-world.md → _posts/tutorials/providing-information-about-your-world.md} +6 -7
- package/docs/{tutorials/Sensing-the-viewer.md → _posts/tutorials/sensing-the-viewer.md} +19 -20
- package/docs/{tutorials/Sensing-viewer-actions.md → _posts/tutorials/sensing-viewer-actions.md} +14 -15
- package/docs/{tutorials/Transforming-Shapes.md → _posts/tutorials/transforming-shapes.md} +8 -9
- package/docs/{tutorials/Writing-program-scripts-with-ECMAScript.md → _posts/tutorials/writing-program-scripts-with-ecmascript.md} +15 -15
- package/docs/{What's-New.md → _posts/what's-new.md} +152 -530
- package/docs/_tabs/imprint.md +52 -0
- package/docs/_tabs/laboratory.md +14 -0
- package/docs/_tabs/playground.html +246 -0
- package/docs/_tabs/reference.md +7 -0
- package/docs/_tabs/tags.md +5 -0
- package/docs/_tabs/tutorials.md +7 -0
- package/docs/assets/css/style.scss +194 -0
- package/docs/assets/img/favicons/android-chrome-192x192.png +0 -0
- package/docs/assets/img/favicons/android-chrome-512x512.png +0 -0
- package/docs/assets/img/favicons/apple-touch-icon.png +0 -0
- package/docs/assets/img/favicons/favicon-16x16.png +0 -0
- package/docs/assets/img/favicons/favicon-32x32.png +0 -0
- package/docs/assets/img/favicons/favicon.ico +0 -0
- package/docs/assets/img/favicons/mstile-150x150.png +0 -0
- package/docs/assets/img/favicons/safari-pinned-tab.svg +71 -0
- package/docs/assets/{images → img}/logo.png +0 -0
- package/docs/assets/js/example.js +34 -0
- package/docs/laboratory/3d-l-system-generator.html +169 -0
- package/docs/laboratory/online-dicom-and-nrrd-file-viewer.html +72 -0
- package/docs/laboratory/real-time-earth-quake-information.html +50 -0
- package/docs/laboratory/x3d-visual-blend-mode-editor.html +227 -0
- package/package.json +4 -4
- package/src/LICENSE.txt +1 -1
- package/src/assets/components/Annotation.js +1 -1
- package/src/assets/components/CADGeometry.js +1 -1
- package/src/assets/components/CubeMapTexturing.js +1 -1
- package/src/assets/components/DIS.js +1 -1
- package/src/assets/components/EventUtilities.js +1 -1
- package/src/assets/components/Geometry2D.js +1 -1
- package/src/assets/components/Geospatial.js +1 -1
- package/src/assets/components/HAnim.js +1 -1
- package/src/assets/components/KeyDeviceSensor.js +1 -1
- package/src/assets/components/Layout.js +1 -1
- package/src/assets/components/NURBS.js +1 -1
- package/src/assets/components/ParticleSystems.js +1 -1
- package/src/assets/components/Picking.js +1 -1
- package/src/assets/components/ProjectiveTextureMapping.js +6 -6
- package/src/assets/components/RigidBodyPhysics.js +1 -6
- package/src/assets/components/Scripting.js +1 -1
- package/src/{x_ite/Components → assets/components}/Text.js +19 -21
- package/src/assets/components/Texturing3D.js +1 -1
- package/src/assets/components/VolumeRendering.js +1 -1
- package/src/assets/components/X_ITE.js +1 -1
- package/src/assets/shaders/Types.glsl.js +1 -1
- package/src/assets/shaders/webgl1/include/Fragment.glsl.js +1 -1
- package/src/assets/shaders/webgl1/include/PointSize.glsl.js +6 -6
- package/src/assets/shaders/webgl1/include/Vertex.glsl.js +4 -4
- package/src/assets/shaders/webgl2/LineTransform.vs.js +11 -11
- package/src/assets/shaders/webgl2/include/Fragment.glsl.js +1 -1
- package/src/assets/shaders/webgl2/include/PointSize.glsl.js +6 -6
- package/src/assets/shaders/webgl2/include/Vertex.glsl.js +4 -4
- package/src/bookmarks.js +1 -1
- package/src/examples.js +3 -3
- package/src/lib/ammojs/AmmoClass.js +1 -1
- package/src/lib/jquery.js +1 -1
- package/src/locale/gettext.js +1 -1
- package/src/shim.js +1 -2
- package/src/standard/Geospatial/Geodetic.js +1 -1
- package/src/standard/Geospatial/ReferenceEllipsoids.js +3 -3
- package/src/standard/Geospatial/UniversalTransverseMercator.js +1 -1
- package/src/standard/Math/Algorithm.js +55 -45
- package/src/standard/Math/Algorithms/Bezier.js +1 -1
- package/src/standard/Math/Algorithms/MergeSort.js +1 -1
- package/src/standard/Math/Algorithms/PartialSort.js +1 -1
- package/src/standard/Math/Algorithms/QuickSort.js +1 -1
- package/src/standard/Math/Algorithms/SAT.js +2 -2
- package/src/standard/Math/Algorithms/eigen_decomposition.js +5 -3
- package/src/standard/Math/Geometry/Box2.js +1 -1
- package/src/standard/Math/Geometry/Box3.js +1 -1
- package/src/standard/Math/Geometry/Camera.js +4 -2
- package/src/standard/Math/Geometry/Cylinder3.js +1 -1
- package/src/standard/Math/Geometry/Line2.js +1 -1
- package/src/standard/Math/Geometry/Line3.js +1 -1
- package/src/standard/Math/Geometry/Plane3.js +1 -1
- package/src/standard/Math/Geometry/Sphere3.js +1 -1
- package/src/standard/Math/Geometry/Spheroid3.js +1 -1
- package/src/standard/Math/Geometry/Triangle2.js +4 -2
- package/src/standard/Math/Geometry/Triangle3.js +4 -2
- package/src/standard/Math/Geometry/ViewVolume.js +1 -1
- package/src/standard/Math/Numbers/Color3.js +3 -1
- package/src/standard/Math/Numbers/Color4.js +4 -1
- package/src/standard/Math/Numbers/Complex.js +1 -1
- package/src/standard/Math/Numbers/Matrix2.js +1 -1
- package/src/standard/Math/Numbers/Matrix3.js +1 -1
- package/src/standard/Math/Numbers/Matrix4.js +1 -1
- package/src/standard/Math/Numbers/Quaternion.js +1 -1
- package/src/standard/Math/Numbers/Rotation4.js +1 -1
- package/src/standard/Math/Numbers/Vector2.js +1 -1
- package/src/standard/Math/Numbers/Vector3.js +1 -1
- package/src/standard/Math/Numbers/Vector4.js +1 -1
- package/src/standard/Math/Utility/BVH.js +1 -1
- package/src/standard/Math/Utility/MatrixStack.js +1 -1
- package/src/standard/Networking/BinaryTransport.js +5 -3
- package/src/standard/Time/MicroTime.js +1 -1
- package/src/standard/Utility/BitSet.js +1 -1
- package/src/standard/Utility/DataStorage.js +1 -1
- package/src/standard/Utility/MapUtilities.js +1 -1
- package/src/standard/Utility/ObjectCache.js +5 -3
- package/src/standard/Utility/Shuffle.js +5 -3
- package/src/tests.js +3 -0
- package/src/x_ite/Base/Events.js +4 -2
- package/src/x_ite/Base/FieldArray.js +1 -1
- package/src/x_ite/Base/FieldDefinitionArray.js +1 -1
- package/src/x_ite/Base/X3DArrayField.js +8 -4
- package/src/x_ite/Base/X3DBaseNode.js +1 -1
- package/src/x_ite/Base/X3DCast.js +5 -3
- package/src/x_ite/Base/X3DChildObject.js +1 -1
- package/src/x_ite/Base/X3DConstants.js +1 -1
- package/src/x_ite/Base/X3DEventObject.js +1 -1
- package/src/x_ite/Base/X3DField.js +2 -13
- package/src/x_ite/Base/X3DFieldDefinition.js +1 -1
- package/src/x_ite/Base/X3DInfoArray.js +1 -1
- package/src/x_ite/Base/X3DObject.js +1 -1
- package/src/x_ite/Base/X3DObjectArrayField.js +1 -1
- package/src/x_ite/Base/X3DTypedArrayField.js +59 -33
- package/src/x_ite/Browser/Core/BrowserOptions.js +22 -30
- package/src/x_ite/Browser/Core/BrowserProperties.js +1 -1
- package/src/x_ite/Browser/Core/BrowserTimings.js +1 -1
- package/src/x_ite/Browser/Core/Context.js +1 -1
- package/src/x_ite/Browser/Core/ContextMenu.js +1 -1
- package/src/x_ite/Browser/Core/Notification.js +1 -1
- package/src/x_ite/Browser/Core/PrimitiveQuality.js +1 -1
- package/src/x_ite/Browser/Core/RenderingProperties.js +1 -1
- package/src/x_ite/Browser/Core/Shading.js +1 -1
- package/src/x_ite/Browser/Core/TextureQuality.js +1 -1
- package/src/x_ite/Browser/Core/X3DCoreContext.js +11 -8
- package/src/x_ite/Browser/DOMIntegration.js +25 -26
- package/src/x_ite/Browser/EnvironmentalEffects/X3DEnvironmentalEffectsContext.js +1 -1
- package/src/x_ite/Browser/Followers/X3DArrayChaserTemplate.js +5 -3
- package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +5 -3
- package/src/x_ite/Browser/Geometry2D/Arc2DOptions.js +1 -1
- package/src/x_ite/Browser/Geometry2D/ArcClose2DOptions.js +1 -1
- package/src/x_ite/Browser/Geometry2D/Circle2DOptions.js +1 -1
- package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +1 -1
- package/src/x_ite/Browser/Geometry2D/Rectangle2DOptions.js +1 -1
- package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +1 -1
- package/src/x_ite/Browser/Geometry3D/BoxOptions.js +1 -1
- package/src/x_ite/Browser/Geometry3D/ConeOptions.js +1 -1
- package/src/x_ite/Browser/Geometry3D/CylinderOptions.js +1 -1
- package/src/x_ite/Browser/Geometry3D/IcoSphere.js +1 -1
- package/src/x_ite/Browser/Geometry3D/IcoSphereOptions.js +1 -1
- package/src/x_ite/Browser/Geometry3D/QuadSphereOptions.js +1 -1
- package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +1 -1
- package/src/x_ite/Browser/Geospatial/Geocentric.js +1 -2
- package/src/x_ite/Browser/Geospatial/Geospatial.js +1 -1
- package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +1 -1
- package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator.js +1 -1
- package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator1.js +1 -1
- package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator2.js +4 -2
- package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator3.js +4 -2
- package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +5 -3
- package/src/x_ite/Browser/Interpolation/SquatInterpolator.js +1 -1
- package/src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js +1 -1
- package/src/x_ite/Browser/Layering/X3DLayeringContext.js +1 -1
- package/src/x_ite/Browser/Layout/ScreenText.js +1 -1
- package/src/x_ite/Browser/Layout/X3DLayoutContext.js +1 -1
- package/src/x_ite/Browser/Legacy.js +64 -0
- package/src/x_ite/Browser/Lighting/X3DLightingContext.js +1 -1
- package/src/x_ite/Browser/NURBS/NURBS.js +1 -1
- package/src/x_ite/Browser/Navigation/ExamineViewer.js +6 -39
- package/src/x_ite/Browser/Navigation/FlyViewer.js +1 -1
- package/src/x_ite/Browser/Navigation/LookAtViewer.js +1 -1
- package/src/x_ite/Browser/Navigation/NoneViewer.js +1 -1
- package/src/x_ite/Browser/Navigation/PlaneViewer.js +1 -4
- package/src/x_ite/Browser/Navigation/WalkViewer.js +1 -1
- package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +1 -1
- package/src/x_ite/Browser/Navigation/X3DNavigationContext.js +3 -2
- package/src/x_ite/Browser/Navigation/X3DViewer.js +3 -3
- package/src/x_ite/Browser/Networking/Features.js +52 -0
- package/src/x_ite/Browser/Networking/URLs.js +11 -12
- package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +9 -22
- package/src/x_ite/Browser/ParticleSystems/GeometryTypes.js +1 -1
- package/src/x_ite/Browser/ParticleSystems/X3DParticleSystemsContext.js +1 -1
- package/src/x_ite/Browser/Picking/IntersectionType.js +1 -1
- package/src/x_ite/Browser/Picking/MatchCriterion.js +1 -1
- package/src/x_ite/Browser/Picking/SortOrder.js +1 -1
- package/src/x_ite/Browser/Picking/VolumePicker.js +2 -4
- package/src/x_ite/Browser/Picking/X3DPickingContext.js +1 -1
- package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +1 -1
- package/src/x_ite/Browser/PointingDeviceSensor/PointingDeviceSensorContainer.js +1 -1
- package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +1 -1
- package/src/x_ite/Browser/Rendering/GeometryContext.js +1 -1
- package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +1 -1
- package/src/x_ite/Browser/RigidBodyPhysics/AppliedParametersType.js +1 -1
- package/src/x_ite/Browser/Scripting/X3DScriptingContext.js +1 -1
- package/src/x_ite/Browser/Scripting/evaluate.js +5 -3
- package/src/x_ite/Browser/Shaders/ShaderCompiler.js +1 -1
- package/src/x_ite/Browser/Shaders/ShaderSource.js +5 -5
- package/src/x_ite/Browser/Shaders/Shaders.js +1 -1
- package/src/x_ite/Browser/Shaders/X3DShadersContext.js +1 -1
- package/src/x_ite/Browser/Shape/AlphaMode.js +1 -1
- package/src/x_ite/Browser/Shape/X3DShapeContext.js +4 -4
- package/src/x_ite/Browser/Sound/X3DSoundContext.js +1 -1
- package/src/x_ite/Browser/Text/PolygonText.js +1 -1
- package/src/x_ite/Browser/Text/TextAlignment.js +1 -1
- package/src/x_ite/Browser/Text/X3DTextContext.js +1 -1
- package/src/x_ite/Browser/Text/X3DTextGeometry.js +1 -1
- package/src/x_ite/Browser/Texturing/FunctionType.js +1 -1
- package/src/x_ite/Browser/Texturing/ModeType.js +1 -1
- package/src/x_ite/Browser/Texturing/SourceType.js +1 -1
- package/src/x_ite/Browser/Texturing/TextureCoordinateGeneratorModeType.js +1 -1
- package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +1 -1
- package/src/x_ite/Browser/Texturing3D/DICOMParser.js +3 -3
- package/src/x_ite/Browser/Texturing3D/NRRDParser.js +2 -2
- package/src/x_ite/Browser/Time/X3DTimeContext.js +1 -1
- package/src/x_ite/Browser/VERSION.js +2 -2
- package/src/x_ite/Browser/VolumeRendering/VolumeMaterial.js +1 -1
- package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +1 -1
- package/src/x_ite/Browser/X3DBrowser.js +43 -52
- package/src/x_ite/Browser/X3DBrowserContext.js +1 -5
- package/src/x_ite/Components/Annotation/AnnotationLayer.js +1 -1
- package/src/x_ite/Components/Annotation/AnnotationTarget.js +1 -1
- package/src/x_ite/Components/Annotation/GroupAnnotation.js +1 -1
- package/src/x_ite/Components/Annotation/IconAnnotation.js +1 -1
- package/src/x_ite/Components/Annotation/TextAnnotation.js +1 -1
- package/src/x_ite/Components/Annotation/URLAnnotation.js +1 -1
- package/src/x_ite/Components/Annotation/X3DAnnotationNode.js +1 -1
- package/src/x_ite/Components/CADGeometry/CADAssembly.js +1 -1
- package/src/x_ite/Components/CADGeometry/CADFace.js +1 -1
- package/src/x_ite/Components/CADGeometry/CADLayer.js +1 -1
- package/src/x_ite/Components/CADGeometry/CADPart.js +1 -1
- package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +1 -1
- package/src/x_ite/Components/CADGeometry/QuadSet.js +1 -1
- package/src/x_ite/Components/CADGeometry/X3DProductStructureChildNode.js +1 -1
- package/src/x_ite/Components/Core/MetadataBoolean.js +1 -1
- package/src/x_ite/Components/Core/MetadataDouble.js +1 -1
- package/src/x_ite/Components/Core/MetadataFloat.js +1 -1
- package/src/x_ite/Components/Core/MetadataInteger.js +1 -1
- package/src/x_ite/Components/Core/MetadataSet.js +1 -1
- package/src/x_ite/Components/Core/MetadataString.js +1 -1
- package/src/x_ite/Components/Core/WorldInfo.js +1 -1
- package/src/x_ite/Components/Core/X3DBindableNode.js +1 -1
- package/src/x_ite/Components/Core/X3DChildNode.js +1 -1
- package/src/x_ite/Components/Core/X3DInfoNode.js +1 -1
- package/src/x_ite/Components/Core/X3DMetadataObject.js +1 -1
- package/src/x_ite/Components/Core/X3DNode.js +5 -5
- package/src/x_ite/Components/Core/X3DPrototypeInstance.js +2 -2
- package/src/x_ite/Components/Core/X3DSensorNode.js +1 -1
- package/src/x_ite/Components/Core.js +1 -1
- package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +1 -1
- package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +1 -1
- package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +1 -1
- package/src/x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode.js +1 -1
- package/src/x_ite/Components/DIS/DISEntityManager.js +1 -1
- package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +1 -1
- package/src/x_ite/Components/DIS/EspduTransform.js +1 -1
- package/src/x_ite/Components/DIS/ReceiverPdu.js +1 -1
- package/src/x_ite/Components/DIS/SignalPdu.js +1 -1
- package/src/x_ite/Components/DIS/TransmitterPdu.js +1 -1
- package/src/x_ite/Components/EnvironmentalEffects/Background.js +1 -1
- package/src/x_ite/Components/EnvironmentalEffects/Fog.js +1 -1
- package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +1 -1
- package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +1 -1
- package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +1 -1
- package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +6 -12
- package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +1 -1
- package/src/x_ite/Components/EnvironmentalEffects.js +1 -1
- package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +1 -1
- package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +1 -1
- package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +1 -1
- package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +1 -1
- package/src/x_ite/Components/EnvironmentalSensor.js +1 -1
- package/src/x_ite/Components/EventUtilities/BooleanFilter.js +1 -1
- package/src/x_ite/Components/EventUtilities/BooleanSequencer.js +1 -1
- package/src/x_ite/Components/EventUtilities/BooleanToggle.js +1 -1
- package/src/x_ite/Components/EventUtilities/BooleanTrigger.js +1 -1
- package/src/x_ite/Components/EventUtilities/IntegerSequencer.js +1 -1
- package/src/x_ite/Components/EventUtilities/IntegerTrigger.js +1 -1
- package/src/x_ite/Components/EventUtilities/TimeTrigger.js +1 -1
- package/src/x_ite/Components/EventUtilities/X3DSequencerNode.js +1 -1
- package/src/x_ite/Components/EventUtilities/X3DTriggerNode.js +1 -1
- package/src/x_ite/Components/Followers/ColorChaser.js +1 -1
- package/src/x_ite/Components/Followers/ColorDamper.js +1 -1
- package/src/x_ite/Components/Followers/CoordinateChaser.js +1 -1
- package/src/x_ite/Components/Followers/CoordinateDamper.js +1 -1
- package/src/x_ite/Components/Followers/OrientationChaser.js +1 -1
- package/src/x_ite/Components/Followers/OrientationDamper.js +1 -1
- package/src/x_ite/Components/Followers/PositionChaser.js +1 -1
- package/src/x_ite/Components/Followers/PositionChaser2D.js +1 -1
- package/src/x_ite/Components/Followers/PositionDamper.js +1 -1
- package/src/x_ite/Components/Followers/PositionDamper2D.js +1 -1
- package/src/x_ite/Components/Followers/ScalarChaser.js +1 -1
- package/src/x_ite/Components/Followers/ScalarDamper.js +1 -1
- package/src/x_ite/Components/Followers/TexCoordChaser2D.js +1 -1
- package/src/x_ite/Components/Followers/TexCoordDamper2D.js +1 -1
- package/src/x_ite/Components/Followers/X3DChaserNode.js +1 -1
- package/src/x_ite/Components/Followers/X3DDamperNode.js +1 -1
- package/src/x_ite/Components/Followers/X3DFollowerNode.js +1 -1
- package/src/x_ite/Components/Followers.js +1 -1
- package/src/x_ite/Components/Geometry2D/Arc2D.js +1 -1
- package/src/x_ite/Components/Geometry2D/ArcClose2D.js +1 -1
- package/src/x_ite/Components/Geometry2D/Circle2D.js +1 -1
- package/src/x_ite/Components/Geometry2D/Disk2D.js +1 -1
- package/src/x_ite/Components/Geometry2D/Polyline2D.js +1 -1
- package/src/x_ite/Components/Geometry2D/Polypoint2D.js +1 -1
- package/src/x_ite/Components/Geometry2D/Rectangle2D.js +1 -1
- package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +1 -1
- package/src/x_ite/Components/Geometry3D/Box.js +1 -1
- package/src/x_ite/Components/Geometry3D/Cone.js +3 -3
- package/src/x_ite/Components/Geometry3D/Cylinder.js +4 -4
- package/src/x_ite/Components/Geometry3D/ElevationGrid.js +1 -1
- package/src/x_ite/Components/Geometry3D/Extrusion.js +1 -1
- package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +1 -1
- package/src/x_ite/Components/Geometry3D/Sphere.js +1 -1
- package/src/x_ite/Components/Geometry3D.js +1 -1
- package/src/x_ite/Components/Geospatial/GeoCoordinate.js +1 -1
- package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +1 -1
- package/src/x_ite/Components/Geospatial/GeoLOD.js +1 -1
- package/src/x_ite/Components/Geospatial/GeoLocation.js +1 -1
- package/src/x_ite/Components/Geospatial/GeoMetadata.js +1 -1
- package/src/x_ite/Components/Geospatial/GeoOrigin.js +1 -1
- package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +17 -13
- package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +1 -1
- package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +1 -1
- package/src/x_ite/Components/Geospatial/GeoTransform.js +1 -1
- package/src/x_ite/Components/Geospatial/GeoViewpoint.js +39 -106
- package/src/x_ite/Components/Geospatial/X3DGeospatialObject.js +1 -1
- package/src/x_ite/Components/Grouping/Group.js +1 -1
- package/src/x_ite/Components/Grouping/StaticGroup.js +1 -1
- package/src/x_ite/Components/Grouping/Switch.js +1 -1
- package/src/x_ite/Components/Grouping/Transform.js +1 -1
- package/src/x_ite/Components/Grouping/X3DBoundedObject.js +1 -1
- package/src/x_ite/Components/Grouping/X3DGroupingNode.js +1 -1
- package/src/x_ite/Components/Grouping/X3DTransformMatrix3DNode.js +1 -1
- package/src/x_ite/Components/Grouping/X3DTransformNode.js +1 -1
- package/src/x_ite/Components/Grouping.js +1 -1
- package/src/x_ite/Components/HAnim/HAnimDisplacer.js +2 -1
- package/src/x_ite/Components/HAnim/HAnimHumanoid.js +32 -23
- package/src/x_ite/Components/HAnim/HAnimJoint.js +2 -1
- package/src/x_ite/Components/HAnim/HAnimMotion.js +3 -1
- package/src/x_ite/Components/HAnim/HAnimSegment.js +2 -1
- package/src/x_ite/Components/HAnim/HAnimSite.js +2 -1
- package/src/x_ite/Components/Interpolation/ColorInterpolator.js +2 -2
- package/src/x_ite/Components/Interpolation/CoordinateInterpolator.js +1 -1
- package/src/x_ite/Components/Interpolation/CoordinateInterpolator2D.js +1 -1
- package/src/x_ite/Components/Interpolation/EaseInEaseOut.js +1 -1
- package/src/x_ite/Components/Interpolation/NormalInterpolator.js +1 -1
- package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +1 -1
- package/src/x_ite/Components/Interpolation/PositionInterpolator.js +1 -1
- package/src/x_ite/Components/Interpolation/PositionInterpolator2D.js +1 -1
- package/src/x_ite/Components/Interpolation/ScalarInterpolator.js +1 -1
- package/src/x_ite/Components/Interpolation/SplinePositionInterpolator.js +1 -1
- package/src/x_ite/Components/Interpolation/SplinePositionInterpolator2D.js +1 -1
- package/src/x_ite/Components/Interpolation/SplineScalarInterpolator.js +1 -1
- package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +1 -1
- package/src/x_ite/Components/Interpolation/X3DInterpolatorNode.js +1 -1
- package/src/x_ite/Components/Interpolation.js +1 -1
- package/src/x_ite/Components/KeyDeviceSensor/KeySensor.js +1 -1
- package/src/x_ite/Components/KeyDeviceSensor/StringSensor.js +1 -1
- package/src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js +1 -1
- package/src/x_ite/Components/Layering/Layer.js +4 -2
- package/src/x_ite/Components/Layering/LayerSet.js +1 -1
- package/src/x_ite/Components/Layering/Viewport.js +4 -4
- package/src/x_ite/Components/Layering/X3DLayerNode.js +66 -49
- package/src/x_ite/Components/Layering/X3DViewportNode.js +1 -1
- package/src/x_ite/Components/Layering.js +1 -1
- package/src/x_ite/Components/Layout/Layout.js +1 -1
- package/src/x_ite/Components/Layout/LayoutGroup.js +1 -1
- package/src/x_ite/Components/Layout/LayoutLayer.js +4 -2
- package/src/x_ite/Components/Layout/ScreenFontStyle.js +1 -1
- package/src/x_ite/Components/Layout/ScreenGroup.js +1 -1
- package/src/x_ite/Components/Layout/X3DLayoutNode.js +1 -1
- package/src/x_ite/Components/Lighting/DirectionalLight.js +9 -5
- package/src/x_ite/Components/Lighting/EnvironmentLight.js +143 -0
- package/src/x_ite/Components/Lighting/PointLight.js +9 -5
- package/src/x_ite/Components/Lighting/SpotLight.js +9 -5
- package/src/x_ite/Components/Lighting/X3DLightNode.js +1 -1
- package/src/x_ite/Components/Lighting.js +3 -1
- package/src/x_ite/Components/NURBS/Contour2D.js +1 -1
- package/src/x_ite/Components/NURBS/ContourPolyline2D.js +1 -1
- package/src/x_ite/Components/NURBS/CoordinateDouble.js +1 -1
- package/src/x_ite/Components/NURBS/NurbsCurve.js +1 -1
- package/src/x_ite/Components/NURBS/NurbsCurve2D.js +1 -1
- package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +1 -1
- package/src/x_ite/Components/NURBS/NurbsPatchSurface.js +1 -1
- package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +1 -1
- package/src/x_ite/Components/NURBS/NurbsSet.js +1 -1
- package/src/x_ite/Components/NURBS/NurbsSurfaceInterpolator.js +1 -1
- package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +1 -1
- package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +1 -1
- package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +1 -1
- package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +1 -1
- package/src/x_ite/Components/NURBS/X3DNurbsControlCurveNode.js +1 -1
- package/src/x_ite/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +1 -1
- package/src/x_ite/Components/NURBS/X3DParametricGeometryNode.js +1 -1
- package/src/x_ite/Components/Navigation/Billboard.js +1 -1
- package/src/x_ite/Components/Navigation/Collision.js +1 -1
- package/src/x_ite/Components/Navigation/LOD.js +1 -1
- package/src/x_ite/Components/Navigation/NavigationInfo.js +2 -1
- package/src/x_ite/Components/Navigation/OrthoViewpoint.js +100 -68
- package/src/x_ite/Components/Navigation/Viewpoint.js +16 -16
- package/src/x_ite/Components/Navigation/ViewpointGroup.js +1 -1
- package/src/x_ite/Components/Navigation/X3DViewpointNode.js +219 -111
- package/src/x_ite/Components/Navigation.js +1 -1
- package/src/x_ite/Components/Networking/Anchor.js +1 -1
- package/src/x_ite/Components/Networking/Inline.js +99 -14
- package/src/x_ite/Components/Networking/LoadSensor.js +9 -9
- package/src/x_ite/Components/Networking/X3DNetworkSensorNode.js +1 -1
- package/src/x_ite/Components/Networking/X3DUrlObject.js +3 -3
- package/src/x_ite/Components/Networking.js +1 -1
- package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +1 -1
- package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +1 -1
- package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +1 -1
- package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +1 -1
- package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +1 -1
- package/src/x_ite/Components/ParticleSystems/PointEmitter.js +1 -1
- package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +1 -1
- package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +1 -1
- package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +1 -1
- package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +1 -1
- package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +1 -1
- package/src/x_ite/Components/ParticleSystems/X3DParticlePhysicsModelNode.js +1 -1
- package/src/x_ite/Components/Picking/LinePickSensor.js +1 -1
- package/src/x_ite/Components/Picking/PickableGroup.js +1 -1
- package/src/x_ite/Components/Picking/PointPickSensor.js +2 -4
- package/src/x_ite/Components/Picking/PrimitivePickSensor.js +1 -1
- package/src/x_ite/Components/Picking/VolumePickSensor.js +1 -1
- package/src/x_ite/Components/Picking/X3DPickSensorNode.js +1 -1
- package/src/x_ite/Components/Picking/X3DPickableObject.js +1 -1
- package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +1 -1
- package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +1 -1
- package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +1 -1
- package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +1 -1
- package/src/x_ite/Components/PointingDeviceSensor/X3DDragSensorNode.js +1 -1
- package/src/x_ite/Components/PointingDeviceSensor/X3DPointingDeviceSensorNode.js +1 -1
- package/src/x_ite/Components/PointingDeviceSensor/X3DTouchSensorNode.js +1 -1
- package/src/x_ite/Components/PointingDeviceSensor.js +1 -1
- package/src/x_ite/Components/ProjectiveTextureMapping/{TextureProjectorPerspective.js → TextureProjector.js} +17 -13
- package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorParallel.js +17 -13
- package/src/x_ite/Components/ProjectiveTextureMapping/X3DTextureProjectorNode.js +1 -1
- package/src/x_ite/Components/Rendering/ClipPlane.js +1 -1
- package/src/x_ite/Components/Rendering/Color.js +1 -1
- package/src/x_ite/Components/Rendering/ColorRGBA.js +1 -1
- package/src/x_ite/Components/Rendering/Coordinate.js +1 -1
- package/src/x_ite/Components/Rendering/IndexedLineSet.js +6 -1
- package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +1 -1
- package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +1 -1
- package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +1 -1
- package/src/x_ite/Components/Rendering/LineSet.js +6 -1
- package/src/x_ite/Components/Rendering/Normal.js +31 -1
- package/src/x_ite/Components/Rendering/PointSet.js +6 -1
- package/src/x_ite/Components/Rendering/TriangleFanSet.js +1 -1
- package/src/x_ite/Components/Rendering/TriangleSet.js +1 -1
- package/src/x_ite/Components/Rendering/TriangleStripSet.js +1 -1
- package/src/x_ite/Components/Rendering/X3DColorNode.js +1 -1
- package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +1 -1
- package/src/x_ite/Components/Rendering/X3DCoordinateNode.js +1 -1
- package/src/x_ite/Components/Rendering/X3DGeometricPropertyNode.js +1 -1
- package/src/x_ite/Components/Rendering/X3DGeometryNode.js +40 -35
- package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +24 -6
- package/src/x_ite/Components/Rendering/X3DNormalNode.js +1 -1
- package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +7 -1
- package/src/x_ite/Components/Rendering.js +1 -1
- package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +1 -1
- package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +1 -1
- package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +1 -1
- package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +1 -1
- package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +1 -1
- package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +1 -1
- package/src/x_ite/Components/RigidBodyPhysics/Contact.js +1 -1
- package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +1 -1
- package/src/x_ite/Components/RigidBodyPhysics/MotorJoint.js +1 -1
- package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +1 -1
- package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +1 -1
- package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +3 -2
- package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +1 -1
- package/src/x_ite/Components/RigidBodyPhysics/UniversalJoint.js +1 -1
- package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode.js +1 -1
- package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollisionSpaceNode.js +1 -1
- package/src/x_ite/Components/RigidBodyPhysics/X3DRigidJointNode.js +1 -1
- package/src/x_ite/Components/Scripting/Script.js +2 -1
- package/src/x_ite/Components/Scripting/X3DScriptNode.js +1 -1
- package/src/x_ite/Components/Shaders/ComposedShader.js +1 -1
- package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +1 -1
- package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +1 -1
- package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +1 -1
- package/src/x_ite/Components/Shaders/PackagedShader.js +2 -1
- package/src/x_ite/Components/Shaders/ProgramShader.js +1 -1
- package/src/x_ite/Components/Shaders/ShaderPart.js +2 -1
- package/src/x_ite/Components/Shaders/ShaderProgram.js +2 -1
- package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +13 -10
- package/src/x_ite/Components/Shaders/X3DShaderNode.js +1 -1
- package/src/x_ite/Components/Shaders/X3DVertexAttributeNode.js +1 -1
- package/src/x_ite/Components/Shaders.js +1 -1
- package/src/x_ite/Components/Shape/AcousticProperties.js +1 -1
- package/src/x_ite/Components/Shape/Appearance.js +2 -2
- package/src/x_ite/Components/Shape/FillProperties.js +4 -1
- package/src/x_ite/Components/Shape/LineProperties.js +4 -1
- package/src/x_ite/Components/Shape/Material.js +24 -16
- package/src/x_ite/Components/Shape/PhysicalMaterial.js +1 -1
- package/src/x_ite/Components/Shape/PointProperties.js +14 -20
- package/src/x_ite/Components/Shape/Shape.js +1 -1
- package/src/x_ite/Components/Shape/TwoSidedMaterial.js +1 -1
- package/src/x_ite/Components/Shape/UnlitMaterial.js +1 -1
- package/src/x_ite/Components/Shape/X3DAppearanceChildNode.js +1 -1
- package/src/x_ite/Components/Shape/X3DAppearanceNode.js +1 -1
- package/src/x_ite/Components/Shape/X3DMaterialNode.js +1 -1
- package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +2 -2
- package/src/x_ite/Components/Shape/X3DShapeNode.js +1 -1
- package/src/x_ite/Components/Shape.js +1 -1
- package/src/x_ite/Components/Sound/Analyser.js +105 -0
- package/src/x_ite/Components/Sound/AudioClip.js +1 -1
- package/src/x_ite/Components/Sound/AudioDestination.js +94 -0
- package/src/x_ite/Components/Sound/BiquadFilter.js +104 -0
- package/src/x_ite/Components/Sound/BufferAudioSource.js +127 -0
- package/src/x_ite/Components/Sound/ChannelMerger.js +91 -0
- package/src/x_ite/Components/Sound/ChannelSelector.js +92 -0
- package/src/x_ite/Components/Sound/ChannelSplitter.js +92 -0
- package/src/x_ite/Components/Sound/Convolver.js +102 -0
- package/src/x_ite/Components/Sound/Delay.js +102 -0
- package/src/x_ite/Components/Sound/DynamicsCompressor.js +106 -0
- package/src/x_ite/Components/Sound/Gain.js +100 -0
- package/src/x_ite/Components/Sound/ListenerPointSource.js +102 -0
- package/src/x_ite/Components/Sound/MicrophoneSource.js +96 -0
- package/src/x_ite/Components/Sound/OscillatorSource.js +98 -0
- package/src/x_ite/Components/Sound/PeriodicWave.js +86 -0
- package/src/x_ite/Components/Sound/Sound.js +16 -13
- package/src/x_ite/Components/Sound/SpatialSound.js +103 -0
- package/src/x_ite/Components/Sound/StreamAudioDestination.js +94 -0
- package/src/x_ite/Components/Sound/StreamAudioSource.js +96 -0
- package/src/x_ite/Components/Sound/WaveShaper.js +102 -0
- package/src/x_ite/Components/Sound/X3DSoundChannelNode.js +63 -0
- package/src/x_ite/Components/Sound/X3DSoundDestinationNode.js +63 -0
- package/src/x_ite/Components/Sound/X3DSoundNode.js +1 -1
- package/src/x_ite/Components/Sound/X3DSoundProcessingNode.js +63 -0
- package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +1 -1
- package/src/x_ite/Components/Sound.js +54 -10
- package/src/x_ite/Components/Text/FontStyle.js +1 -1
- package/src/x_ite/Components/Text/Text.js +1 -1
- package/src/x_ite/Components/Text/X3DFontStyleNode.js +1 -1
- package/src/x_ite/Components/Texturing/ImageTexture.js +1 -1
- package/src/x_ite/Components/Texturing/MovieTexture.js +1 -1
- package/src/x_ite/Components/Texturing/MultiTexture.js +1 -1
- package/src/x_ite/Components/Texturing/MultiTextureCoordinate.js +1 -1
- package/src/x_ite/Components/Texturing/MultiTextureTransform.js +1 -1
- package/src/x_ite/Components/Texturing/PixelTexture.js +1 -1
- package/src/x_ite/Components/Texturing/TextureCoordinate.js +1 -1
- package/src/x_ite/Components/Texturing/TextureCoordinateGenerator.js +1 -1
- package/src/x_ite/Components/Texturing/TextureProperties.js +8 -1
- package/src/x_ite/Components/Texturing/TextureTransform.js +1 -1
- package/src/x_ite/Components/Texturing/X3DSingleTextureCoordinateNode.js +1 -1
- package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +1 -1
- package/src/x_ite/Components/Texturing/X3DSingleTextureTransformNode.js +1 -1
- package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +1 -1
- package/src/x_ite/Components/Texturing/X3DTextureCoordinateNode.js +1 -1
- package/src/x_ite/Components/Texturing/X3DTextureNode.js +1 -1
- package/src/x_ite/Components/Texturing/X3DTextureTransformNode.js +1 -1
- package/src/x_ite/Components/Texturing.js +1 -1
- package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +1 -1
- package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +1 -1
- package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +1 -1
- package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +1 -1
- package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +1 -1
- package/src/x_ite/Components/Texturing3D/TextureTransform3D.js +1 -1
- package/src/x_ite/Components/Texturing3D/TextureTransformMatrix3D.js +1 -1
- package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +1 -1
- package/src/x_ite/Components/Time/TimeSensor.js +2 -1
- package/src/x_ite/Components/Time/X3DTimeDependentNode.js +1 -1
- package/src/x_ite/Components/Time.js +1 -1
- package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +1 -1
- package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +1 -1
- package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +1 -1
- package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +1 -1
- package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +1 -1
- package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +1 -1
- package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +1 -1
- package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +1 -1
- package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +1 -1
- package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +1 -1
- package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +1 -1
- package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +1 -1
- package/src/x_ite/Components/VolumeRendering/VolumeData.js +1 -1
- package/src/x_ite/Components/VolumeRendering/X3DComposableVolumeRenderStyleNode.js +1 -1
- package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +1 -1
- package/src/x_ite/Components/VolumeRendering/X3DVolumeRenderStyleNode.js +1 -1
- package/src/x_ite/Components/X_ITE/BlendMode.js +1 -1
- package/src/x_ite/Components.js +6 -28
- package/src/x_ite/Configuration/ComponentInfo.js +10 -7
- package/src/x_ite/Configuration/ComponentInfoArray.js +2 -6
- package/src/x_ite/Configuration/ProfileInfo.js +1 -1
- package/src/x_ite/Configuration/ProfileInfoArray.js +1 -1
- package/src/x_ite/Configuration/SupportedComponents.js +136 -154
- package/src/x_ite/Configuration/SupportedNodes.js +7 -10
- package/src/x_ite/Configuration/SupportedProfiles.js +1 -1
- package/src/x_ite/Configuration/UnitInfo.js +1 -1
- package/src/x_ite/Configuration/UnitInfoArray.js +1 -1
- package/src/x_ite/DEBUG.js +1 -1
- package/src/x_ite/Execution/BindableList.js +1 -1
- package/src/x_ite/Execution/BindableStack.js +12 -12
- package/src/x_ite/Execution/ExportedNodesArray.js +1 -1
- package/src/x_ite/Execution/ImportedNodesArray.js +1 -1
- package/src/x_ite/Execution/NamedNodesArray.js +1 -1
- package/src/x_ite/Execution/Scene.js +13 -13
- package/src/x_ite/Execution/X3DExecutionContext.js +882 -882
- package/src/x_ite/Execution/X3DExportedNode.js +1 -1
- package/src/x_ite/Execution/X3DImportedNode.js +1 -1
- package/src/x_ite/Execution/X3DScene.js +14 -22
- package/src/x_ite/Execution/X3DWorld.js +1 -1
- package/src/x_ite/Fallback.js +1 -6
- package/src/x_ite/Fields/ArrayFields.js +1 -1
- package/src/x_ite/Fields/SFBool.js +1 -1
- package/src/x_ite/Fields/SFColor.js +2 -5
- package/src/x_ite/Fields/SFColorRGBA.js +2 -6
- package/src/x_ite/Fields/SFDouble.js +1 -1
- package/src/x_ite/Fields/SFFloat.js +1 -1
- package/src/x_ite/Fields/SFImage.js +1 -1
- package/src/x_ite/Fields/SFInt32.js +1 -1
- package/src/x_ite/Fields/SFMatrix3.js +16 -11
- package/src/x_ite/Fields/SFMatrix4.js +18 -11
- package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +15 -4
- package/src/x_ite/Fields/SFNode.js +1 -1
- package/src/x_ite/Fields/SFNodeCache.js +3 -5
- package/src/x_ite/Fields/SFRotation.js +27 -6
- package/src/x_ite/Fields/SFString.js +1 -1
- package/src/x_ite/Fields/SFTime.js +1 -1
- package/src/x_ite/Fields/SFVec2.js +5 -11
- package/src/x_ite/Fields/SFVec3.js +5 -11
- package/src/x_ite/Fields/SFVec4.js +5 -11
- package/src/x_ite/Fields/SFVecPrototypeTemplate.js +27 -17
- package/src/x_ite/Fields.js +1 -1
- package/src/x_ite/InputOutput/FileLoader.js +3 -3
- package/src/x_ite/InputOutput/Generator.js +1 -1
- package/src/x_ite/Namespace.js +2 -758
- package/src/x_ite/Parser/GoldenGate.js +1 -1
- package/src/x_ite/Parser/HTMLSupport.js +1 -1
- package/src/x_ite/Parser/JSONParser.js +4 -4
- package/src/x_ite/Parser/VRMLParser.js +15 -1
- package/src/x_ite/Parser/X3DParser.js +1 -1
- package/src/x_ite/Parser/XMLParser.js +1 -1
- package/src/x_ite/Prototype/ExternProtoDeclarationArray.js +1 -1
- package/src/x_ite/Prototype/ProtoDeclarationArray.js +1 -1
- package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +1 -1
- package/src/x_ite/Prototype/X3DProtoDeclaration.js +1 -1
- package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +1 -1
- package/src/x_ite/Rendering/DependentRenderer.js +1 -1
- package/src/x_ite/Rendering/TextureBuffer.js +1 -1
- package/src/x_ite/Rendering/TraverseType.js +1 -1
- package/src/x_ite/Rendering/VertexArray.js +2 -2
- package/src/x_ite/Rendering/X3DRenderObject.js +10 -7
- package/src/x_ite/Routing/RouteArray.js +1 -1
- package/src/x_ite/Routing/X3DRoute.js +1 -1
- package/src/x_ite/Routing/X3DRoutingContext.js +1 -1
- package/src/x_ite/X3D.js +25 -37
- package/src/x_ite/X3DCanvas.js +10 -12
- package/src/x_ite.css +20 -0
- package/src/x_ite.html +80 -77
- package/src/x_ite.js +1 -1
- package/webpack.config.js +79 -8
- package/x_ite.min.html +78 -76
- package/build/bin/namespace.mjs +0 -86
- package/docs/404.md +0 -11
- package/docs/Browser-Support.md +0 -53
- package/docs/Supported-Nodes.md +0 -378
- package/docs/_data/navigation.yml +0 -137
- package/docs/assets/css/main.scss +0 -126
- package/docs/reference/Field-Services-and-Objects.md +0 -1110
- package/docs/tutorials/index.md +0 -84
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
title: Adding Sound
|
|
3
|
+
date: 2022-11-28
|
|
4
|
+
nav: tutorials-textures-lights-and-environment
|
|
5
|
+
categories: [Tutorials]
|
|
6
|
+
tags: [sound]
|
|
6
7
|
---
|
|
7
|
-
# Adding Sound
|
|
8
|
-
|
|
9
8
|
## Motivation
|
|
10
9
|
|
|
11
10
|
- Sounds can be triggered by viewer actions
|
|
@@ -25,11 +24,11 @@ Sounds have two components:
|
|
|
25
24
|
|
|
26
25
|
## Syntax: AudioClip
|
|
27
26
|
|
|
28
|
-
An [AudioClip](https://www.web3d.org/documents/specifications/19775-1/
|
|
27
|
+
An [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} node creates a digital sound source:
|
|
29
28
|
|
|
30
29
|
- *url* - a sound file URL
|
|
31
30
|
- *pitch* - playback speed
|
|
32
|
-
- playback controls, like a [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/
|
|
31
|
+
- playback controls, like a [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor){:target="_blank"} node
|
|
33
32
|
|
|
34
33
|
### XML Encoding
|
|
35
34
|
|
|
@@ -60,11 +59,11 @@ Sound {
|
|
|
60
59
|
|
|
61
60
|
## Syntax: MovieTexture
|
|
62
61
|
|
|
63
|
-
A [MovieTexture](https://www.web3d.org/documents/specifications/19775-1/
|
|
62
|
+
A [MovieTexture](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/texturing.html#MovieTexture){:target="_blank"} node creates a movie sound source:
|
|
64
63
|
|
|
65
64
|
- *url* - a texture movie file URL
|
|
66
65
|
- *speed* - playback speed
|
|
67
|
-
- playback controls, like a [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/
|
|
66
|
+
- playback controls, like a [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor){:target="_blank"} node
|
|
68
67
|
|
|
69
68
|
### XML Encoding
|
|
70
69
|
|
|
@@ -95,21 +94,21 @@ Sound {
|
|
|
95
94
|
|
|
96
95
|
## Selecting sound source types
|
|
97
96
|
|
|
98
|
-
Supported by the [AudioClip](https://www.web3d.org/documents/specifications/19775-1/
|
|
97
|
+
Supported by the [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} node:
|
|
99
98
|
|
|
100
99
|
- MP3 or WAV - digital sound files
|
|
101
100
|
Good for sound effects
|
|
102
101
|
|
|
103
|
-
Supported by the [MovieTexture](https://www.web3d.org/documents/specifications/19775-1/
|
|
102
|
+
Supported by the [MovieTexture](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/texturing.html#MovieTexture){:target="_blank"} node:
|
|
104
103
|
|
|
105
104
|
- MP4 - movie file with sound
|
|
106
105
|
Good for virtual TVs
|
|
107
106
|
|
|
108
107
|
## Syntax: Sound
|
|
109
108
|
|
|
110
|
-
A [Sound](https://www.web3d.org/documents/specifications/19775-1/
|
|
109
|
+
A [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node describes a sound emitter:
|
|
111
110
|
|
|
112
|
-
- *source* - [AudioClip](https://www.web3d.org/documents/specifications/19775-1/
|
|
111
|
+
- *source* - [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} or [MovieTexture](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/texturing.html#MovieTexture){:target="_blank"} node
|
|
113
112
|
- *location* and *direction* - emitter placement
|
|
114
113
|
|
|
115
114
|
### XML Encoding
|
|
@@ -132,7 +131,7 @@ Sound {
|
|
|
132
131
|
}
|
|
133
132
|
```
|
|
134
133
|
|
|
135
|
-
A [Sound](https://www.web3d.org/documents/specifications/19775-1/
|
|
134
|
+
A [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node describes a sound emitter:
|
|
136
135
|
|
|
137
136
|
- *intensity* - volume
|
|
138
137
|
- *spatialize* - use spatialize processing
|
|
@@ -160,7 +159,7 @@ Sound {
|
|
|
160
159
|
}
|
|
161
160
|
```
|
|
162
161
|
|
|
163
|
-
A [Sound](https://www.web3d.org/documents/specifications/19775-1/
|
|
162
|
+
A [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node describes a sound emitter:
|
|
164
163
|
|
|
165
164
|
- *minFront, minBack* - inner ellipsoid
|
|
166
165
|
- *maxFront, maxBack* - outer ellipsoid
|
|
@@ -175,12 +174,12 @@ A [Sound](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/com
|
|
|
175
174
|
|
|
176
175
|
## Creating triggered sounds
|
|
177
176
|
|
|
178
|
-
[AudioClip](https://www.web3d.org/documents/specifications/19775-1/
|
|
177
|
+
[AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} node:
|
|
179
178
|
|
|
180
179
|
- *loop* **FALSE**
|
|
181
180
|
- Set *startTime* from a sensor node
|
|
182
181
|
|
|
183
|
-
[Sound](https://www.web3d.org/documents/specifications/19775-1/
|
|
182
|
+
[Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node:
|
|
184
183
|
|
|
185
184
|
- *spatialize* **TRUE**
|
|
186
185
|
- *minFront* etc. with small values
|
|
@@ -240,21 +239,23 @@ Group {
|
|
|
240
239
|
ROUTE C4.touchTime TO PitchC4.set_startTime
|
|
241
240
|
```
|
|
242
241
|
|
|
243
|
-
|
|
242
|
+
### Example
|
|
244
243
|
|
|
245
|
-
|
|
244
|
+
<x3d-canvas src="https://create3000.github.io/media/tutorials/scenes/sound/sound.x3dv">
|
|
245
|
+
<img src="https://create3000.github.io/media/tutorials/scenes/sound/screenshot.png" alt="Sound"/>
|
|
246
|
+
</x3d-canvas>
|
|
246
247
|
|
|
247
248
|
[Download ZIP Archive](https://create3000.github.io/media/tutorials/scenes/sound/sound.zip)
|
|
248
249
|
|
|
249
250
|
## Creating continuous localized sounds
|
|
250
251
|
|
|
251
|
-
[AudioClip](https://www.web3d.org/documents/specifications/19775-1/
|
|
252
|
+
[AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} node:
|
|
252
253
|
|
|
253
254
|
- *loop* **TRUE**
|
|
254
255
|
- *startTime* 0.0 (default)
|
|
255
256
|
- *stopTime* 0.0 (default)
|
|
256
257
|
|
|
257
|
-
[Sound](https://www.web3d.org/documents/specifications/19775-1/
|
|
258
|
+
[Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node:
|
|
258
259
|
|
|
259
260
|
- *spatialize* **TRUE** (default)
|
|
260
261
|
- *minFront* etc. with medium values
|
|
@@ -307,13 +308,13 @@ Transform {
|
|
|
307
308
|
|
|
308
309
|
## Creating continuous background sounds
|
|
309
310
|
|
|
310
|
-
[AudioClip](https://www.web3d.org/documents/specifications/19775-1/
|
|
311
|
+
[AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} node:
|
|
311
312
|
|
|
312
313
|
- *loop* **TRUE**
|
|
313
314
|
- *startTime* 0.0 (default)
|
|
314
315
|
- *stopTime* 0.0 (default)
|
|
315
316
|
|
|
316
|
-
[Sound](https://www.web3d.org/documents/specifications/19775-1/
|
|
317
|
+
[Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node:
|
|
317
318
|
|
|
318
319
|
- *spatialize* **FALSE** (default)
|
|
319
320
|
- *minFront* etc. with large values
|
|
@@ -321,12 +322,12 @@ Transform {
|
|
|
321
322
|
|
|
322
323
|
## Summary
|
|
323
324
|
|
|
324
|
-
An [AudioClip](https://www.web3d.org/documents/specifications/19775-1/
|
|
325
|
+
An [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} node or a [MovieTexture](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/texturing.html#MovieTexture){:target="_blank"} node describe a sound source:
|
|
325
326
|
|
|
326
327
|
- A URL gives the sound file
|
|
327
328
|
- Looping, start time, and stop time control playback
|
|
328
329
|
|
|
329
|
-
A [Sound](https://www.web3d.org/documents/specifications/19775-1/
|
|
330
|
+
A [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node describes a sound emitter:
|
|
330
331
|
|
|
331
332
|
- A source node provides the sound
|
|
332
333
|
- Range fields describe the sound volume
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
title: Animating Transforms
|
|
3
|
+
date: 2022-11-28
|
|
4
|
+
nav: tutorials-animation-sensors-and-geometry
|
|
5
|
+
categories: [Tutorials]
|
|
6
|
+
tags: [animating, transforms]
|
|
6
7
|
---
|
|
7
|
-
# Animating Transforms
|
|
8
|
-
|
|
9
8
|
## Motivation
|
|
10
9
|
|
|
11
10
|
An animation changes something over time:
|
|
@@ -21,14 +20,14 @@ Animation requires control over time:
|
|
|
21
20
|
|
|
22
21
|
## Controlling time
|
|
23
22
|
|
|
24
|
-
- A [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/
|
|
23
|
+
- A [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor){:target="_blank"} node is similar to a stop watch
|
|
25
24
|
- You control the start and stop time
|
|
26
25
|
- The sensor generates time events while it is running
|
|
27
26
|
- To animate, route time events into other nodes
|
|
28
27
|
|
|
29
28
|
## Using absolute time
|
|
30
29
|
|
|
31
|
-
- A [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/
|
|
30
|
+
- A [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor){:target="_blank"} node generates absolute and fractional time events
|
|
32
31
|
- Absolute time events give the wall-clock time
|
|
33
32
|
- Absolute time is measured in seconds since 12:00am January 1, 1970!
|
|
34
33
|
- Useful for triggering events at specific dates and times
|
|
@@ -43,7 +42,7 @@ Animation requires control over time:
|
|
|
43
42
|
|
|
44
43
|
## Syntax: TimeSensor
|
|
45
44
|
|
|
46
|
-
- A [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/
|
|
45
|
+
- A [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor){:target="_blank"} node generates events based upon time
|
|
47
46
|
- *startTime* and *stopTime* - when to run
|
|
48
47
|
- *cycleInterval* - how long a cycle is
|
|
49
48
|
- *loop* - whether or not to repeat cycles
|
|
@@ -74,19 +73,19 @@ TimeSensor {
|
|
|
74
73
|
To create a continuously running timer:
|
|
75
74
|
|
|
76
75
|
- *loop* **TRUE**
|
|
77
|
-
- *stopTime*
|
|
76
|
+
- *stopTime* \<= *startTime*
|
|
78
77
|
|
|
79
|
-
When stop time
|
|
78
|
+
When stop time \<= start time, stop time is ignored
|
|
80
79
|
|
|
81
80
|
To run until the stop time:
|
|
82
81
|
|
|
83
82
|
- *loop* **TRUE**
|
|
84
|
-
- *stopTime*
|
|
83
|
+
- *stopTime* \> *startTime*
|
|
85
84
|
|
|
86
85
|
To run one cycle then stop:
|
|
87
86
|
|
|
88
87
|
- *loop* **FALSE**
|
|
89
|
-
- *stopTime*
|
|
88
|
+
- *stopTime* \<= *startTime*
|
|
90
89
|
|
|
91
90
|
The *set\_startTime* input event:
|
|
92
91
|
|
|
@@ -163,9 +162,9 @@ To animate the position of a shape you provide:
|
|
|
163
162
|
- A list of key positions for a movement path
|
|
164
163
|
- A time at which to be at each position
|
|
165
164
|
|
|
166
|
-
An
|
|
165
|
+
An interpolatorsolator node converts an input time to an output position
|
|
167
166
|
|
|
168
|
-
- When a time is in between two key positions, the
|
|
167
|
+
- When a time is in between two key positions, the interpolatorsolator computes an intermediate position
|
|
169
168
|
|
|
170
169
|
## Interpolating positions
|
|
171
170
|
|
|
@@ -187,7 +186,7 @@ Interpolation fills in values between your key values:
|
|
|
187
186
|
|
|
188
187
|
## Syntax: PositionInterpolator
|
|
189
188
|
|
|
190
|
-
A [PositionInterpolator](https://www.web3d.org/documents/specifications/19775-1/
|
|
189
|
+
A [PositionInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#PositionInterpolator){:target="_blank"} node describes a position path
|
|
191
190
|
|
|
192
191
|
- *key* - key fractional times
|
|
193
192
|
- *keyValue* - key positions
|
|
@@ -209,9 +208,9 @@ PositionInterpolator {
|
|
|
209
208
|
}
|
|
210
209
|
```
|
|
211
210
|
|
|
212
|
-
Typically route into a [Transform](https://www.web3d.org/documents/specifications/19775-1/
|
|
211
|
+
Typically route into a [Transform](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Transform){:target="_blank"} node's *set\_translation* input
|
|
213
212
|
|
|
214
|
-
## Using position
|
|
213
|
+
## Using position interpolatorsolator inputs and outputs
|
|
215
214
|
|
|
216
215
|
The *set\_fraction* input:
|
|
217
216
|
|
|
@@ -221,7 +220,7 @@ The *value\_changed* output:
|
|
|
221
220
|
|
|
222
221
|
- Outputs the position along the path each time the fraction is set
|
|
223
222
|
|
|
224
|
-
## A sample using position
|
|
223
|
+
## A sample using position interpolatorsolators
|
|
225
224
|
|
|
226
225
|
### XML Encoding
|
|
227
226
|
|
|
@@ -269,7 +268,7 @@ ROUTE Timer1.fraction_changed TO Position1.set_fraction
|
|
|
269
268
|
ROUTE Position1.value_changed TO Particle1.set_translation
|
|
270
269
|
```
|
|
271
270
|
|
|
272
|
-
## Using other types of
|
|
271
|
+
## Using other types of interpolatorsolators
|
|
273
272
|
|
|
274
273
|
| | |
|
|
275
274
|
|----------------------|-----------------------------|
|
|
@@ -279,14 +278,14 @@ ROUTE Position1.value_changed TO Particle1.set_translation
|
|
|
279
278
|
| Animate color | [ColorInterpolator][] |
|
|
280
279
|
| Animate transparency | [ScalarInterpolator][] |
|
|
281
280
|
|
|
282
|
-
[PositionInterpolator]: https://www.web3d.org/documents/specifications/19775-1/
|
|
283
|
-
[OrientationInterpolator]: https://www.web3d.org/documents/specifications/19775-1/
|
|
284
|
-
[ColorInterpolator]: https://www.web3d.org/documents/specifications/19775-1/
|
|
285
|
-
[ScalarInterpolator]: https://www.web3d.org/documents/specifications/19775-1/
|
|
281
|
+
[PositionInterpolator]: https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#PositionInterpolator
|
|
282
|
+
[OrientationInterpolator]: https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#OrientationInterpolator
|
|
283
|
+
[ColorInterpolator]: https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#ColorInterpolator
|
|
284
|
+
[ScalarInterpolator]: https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#ScalarInterpolator
|
|
286
285
|
|
|
287
286
|
## Syntax: OrientationInterpolator
|
|
288
287
|
|
|
289
|
-
A [OrientationInterpolator](https://www.web3d.org/documents/specifications/19775-1/
|
|
288
|
+
A [OrientationInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#OrientationInterpolator){:target="_blank"} node describes an orientation path
|
|
290
289
|
|
|
291
290
|
- *key* - key fractional times
|
|
292
291
|
- *keyValue* - key rotations (axis and angle)
|
|
@@ -308,11 +307,11 @@ OrientationInterpolator {
|
|
|
308
307
|
}
|
|
309
308
|
```
|
|
310
309
|
|
|
311
|
-
Typically route into a [Transform](https://www.web3d.org/documents/specifications/19775-1/
|
|
310
|
+
Typically route into a [Transform](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Transform){:target="_blank"} node's *set\_rotation* input
|
|
312
311
|
|
|
313
312
|
## Syntax: ColorInterpolator
|
|
314
313
|
|
|
315
|
-
[ColorInterpolator](https://www.web3d.org/documents/specifications/19775-1/
|
|
314
|
+
[ColorInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#ColorInterpolator){:target="_blank"} node describes a color path
|
|
316
315
|
|
|
317
316
|
- *key* - key fractional times
|
|
318
317
|
- *keyValue* - key colors (red, green, blue)
|
|
@@ -334,11 +333,11 @@ ColorInterpolator {
|
|
|
334
333
|
}
|
|
335
334
|
```
|
|
336
335
|
|
|
337
|
-
Typically route into a [Material](https://www.web3d.org/documents/specifications/19775-1/
|
|
336
|
+
Typically route into a [Material](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/shape.html#Material){:target="_blank"} node's *set\_diffuseColor* or *set\_emissiveColor* inputs
|
|
338
337
|
|
|
339
338
|
## Syntax: ScalarInterpolator
|
|
340
339
|
|
|
341
|
-
[ScalarInterpolator](https://www.web3d.org/documents/specifications/19775-1/
|
|
340
|
+
[ScalarInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#ScalarInterpolator){:target="_blank"} node describes a scalar path
|
|
342
341
|
|
|
343
342
|
- *key* - key fractional times
|
|
344
343
|
- *keyValue* - key scalars (used for anything)
|
|
@@ -360,11 +359,11 @@ ScalarInterpolator {
|
|
|
360
359
|
}
|
|
361
360
|
```
|
|
362
361
|
|
|
363
|
-
Often route into a [Material](https://www.web3d.org/documents/specifications/19775-1/
|
|
362
|
+
Often route into a [Material](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/shape.html#Material){:target="_blank"} node's *set\_transparency* input
|
|
364
363
|
|
|
365
364
|
## Summary
|
|
366
365
|
|
|
367
|
-
The [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/
|
|
366
|
+
The [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor){:target="_blank"} node's fields control:
|
|
368
367
|
|
|
369
368
|
- Timer start and stop times
|
|
370
369
|
- The cycle interval
|
|
@@ -378,14 +377,14 @@ The sensor outputs:
|
|
|
378
377
|
|
|
379
378
|
Interpolators use key times and values and compute intermediate values
|
|
380
379
|
|
|
381
|
-
All
|
|
380
|
+
All interpolatorsolators have:
|
|
382
381
|
|
|
383
382
|
- a *set\_fraction* input to set the fractional time
|
|
384
383
|
- a *value\_changed* output to send new values
|
|
385
384
|
|
|
386
|
-
Some
|
|
385
|
+
Some interpolatorsolators are:
|
|
387
386
|
|
|
388
|
-
- The [PositionInterpolator](https://www.web3d.org/documents/specifications/19775-1/
|
|
389
|
-
- The [OrientationInterpolator](https://www.web3d.org/documents/specifications/19775-1/
|
|
390
|
-
- The [ColorInterpolator](https://www.web3d.org/documents/specifications/19775-1/
|
|
391
|
-
- The [ScalarInterpolator](https://www.web3d.org/documents/specifications/19775-1/
|
|
387
|
+
- The [PositionInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#PositionInterpolator){:target="_blank"} node converts times to positions (or scales)
|
|
388
|
+
- The [OrientationInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#OrientationInterpolator){:target="_blank"} node converts times to rotations
|
|
389
|
+
- The [ColorInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#ColorInterpolator){:target="_blank"} node converts times to colors
|
|
390
|
+
- The [ScalarInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#ScalarInterpolator){:target="_blank"} node converts times to scalars (such as transparencies)
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
title: Basic Nodes
|
|
3
|
+
date: 2022-11-28
|
|
4
|
+
nav: tutorials-basic
|
|
5
|
+
categories: [Tutorials]
|
|
6
|
+
tags: [basic, nodes]
|
|
6
7
|
---
|
|
7
|
-
# Basic Nodes
|
|
8
|
-
|
|
9
8
|
## Overview
|
|
10
9
|
|
|
11
10
|
X3D is capable of representing static and animated objects and it can have hyperlinks to other media such as sound, movies, and image. X\_ITE is a browsers for X3D and available for many different platforms as well as Titania is an authoring tools for the creation X3D files. For programmers there is an JavaScript API interface to access X3D nodes and commonly used 3D application programmer interface features.
|
|
@@ -29,17 +28,7 @@ Here is a typical X3D Classic Encoded file with a single node:
|
|
|
29
28
|
|
|
30
29
|
```xml
|
|
31
30
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
32
|
-
|
|
33
|
-
<X3D profile='Full' version='3.3' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='http://www.web3d.org/specifications/x3d-3.3.xsd'>
|
|
34
|
-
<head>
|
|
35
|
-
<meta name='comment' content='World of Titania'/>
|
|
36
|
-
<meta name='created' content='Fri, 29 Jun 2018 13:31:47 GMT'/>
|
|
37
|
-
<meta name='creator' content='Holger Seelig'/>
|
|
38
|
-
<meta name='generator' content='Titania V4.3.0, http://titania.create3000.de'/>
|
|
39
|
-
<meta name='identifier' content='file:///home/holger/scene.x3dv'/>
|
|
40
|
-
<meta name='modified' content='Fri, 29 Jun 2018 13:31:47 GMT'/>
|
|
41
|
-
<meta name='titania-output-style' content='Nicest'/>
|
|
42
|
-
</head>
|
|
31
|
+
<X3D profile='Full' version='4.0' xmlns:xsd='https://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-4.0.xsd'>
|
|
43
32
|
<Scene>
|
|
44
33
|
<PlaneSensor DEF='Sensor'
|
|
45
34
|
offset='0 2 0'/>
|
|
@@ -57,7 +46,7 @@ Here is a typical X3D Classic Encoded file with a single node:
|
|
|
57
46
|
### Classic Encoding
|
|
58
47
|
|
|
59
48
|
```js
|
|
60
|
-
#X3D
|
|
49
|
+
#X3D V4.0 utf8
|
|
61
50
|
|
|
62
51
|
# A sample file with a simple scene
|
|
63
52
|
|
|
@@ -83,14 +72,14 @@ Be careful! X3D is a case sensitive language.
|
|
|
83
72
|
|
|
84
73
|
## Key Concept
|
|
85
74
|
|
|
86
|
-
Now we can start to add information to the file. The first node to deal with is the [WorldInfo](https://www.web3d.org/documents/specifications/19775-1/
|
|
75
|
+
Now we can start to add information to the file. The first node to deal with is the [WorldInfo](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/core.html#WorldInfo){:target="_blank"} node. This node contains general information about the world, such as a *title* for the world. [WorldInfo](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/core.html#WorldInfo){:target="_blank"} can also contain an *info* field, which contain other information about the file such as copyright information. You can put what you like in it. A sample [WorldInfo](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/core.html#WorldInfo){:target="_blank"} node is shown below:
|
|
87
76
|
|
|
88
77
|
### XML Encoding
|
|
89
78
|
|
|
90
79
|
```xml
|
|
91
80
|
<WorldInfo
|
|
92
81
|
title='Tutorial'
|
|
93
|
-
info='"Basic Nodes", "create3000.
|
|
82
|
+
info='"Basic Nodes", "https://create3000.github.io/x_ite/"'/>
|
|
94
83
|
```
|
|
95
84
|
|
|
96
85
|
### Classic Encoding
|
|
@@ -100,7 +89,7 @@ WorldInfo {
|
|
|
100
89
|
title "Tutorial"
|
|
101
90
|
info [
|
|
102
91
|
"Basic Nodes"
|
|
103
|
-
"create3000.
|
|
92
|
+
"https://create3000.github.io/x_ite/"
|
|
104
93
|
]
|
|
105
94
|
}
|
|
106
95
|
```
|
|
@@ -109,7 +98,7 @@ You can have multiple strings in the *info* field, by putting them all inside sq
|
|
|
109
98
|
|
|
110
99
|
## Shape
|
|
111
100
|
|
|
112
|
-
A [Shape](https://www.web3d.org/documents/specifications/19775-1/
|
|
101
|
+
A [Shape](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/shape.html#Shape){:target="_blank"} node is the node to specify material and geometry properties. We add a Shape node to the world now, as shown below.
|
|
113
102
|
|
|
114
103
|
### XML Encoding
|
|
115
104
|
|
|
@@ -137,20 +126,20 @@ Shape {
|
|
|
137
126
|
|
|
138
127
|
There are a lot geometry nodes defined in X3D. The basic geometry nodes are:
|
|
139
128
|
|
|
140
|
-
- [Box](https://www.web3d.org/documents/specifications/19775-1/
|
|
141
|
-
- [Cone](https://www.web3d.org/documents/specifications/19775-1/
|
|
142
|
-
- [Cylinder](https://www.web3d.org/documents/specifications/19775-1/
|
|
143
|
-
- [ElevationGrid](https://www.web3d.org/documents/specifications/19775-1/
|
|
144
|
-
- [Extrusion](https://www.web3d.org/documents/specifications/19775-1/
|
|
145
|
-
- [IndexedFaceSet](https://www.web3d.org/documents/specifications/19775-1/
|
|
146
|
-
- [Sphere](https://www.web3d.org/documents/specifications/19775-1/
|
|
147
|
-
- [Text](https://www.web3d.org/documents/specifications/19775-1/
|
|
129
|
+
- [Box](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Box){:target="_blank"}
|
|
130
|
+
- [Cone](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Cone){:target="_blank"}
|
|
131
|
+
- [Cylinder](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Cylinder){:target="_blank"}
|
|
132
|
+
- [ElevationGrid](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#ElevationGrid){:target="_blank"}
|
|
133
|
+
- [Extrusion](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Extrusion){:target="_blank"}
|
|
134
|
+
- [IndexedFaceSet](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#IndexedFaceSet){:target="_blank"}
|
|
135
|
+
- [Sphere](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Sphere){:target="_blank"}
|
|
136
|
+
- [Text](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/text.html#Text){:target="_blank"}
|
|
148
137
|
|
|
149
|
-
The most important to define various geometries is probably the [IndexedFaceSet](https://www.web3d.org/documents/specifications/19775-1/
|
|
138
|
+
The most important to define various geometries is probably the [IndexedFaceSet](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#IndexedFaceSet){:target="_blank"} node.
|
|
150
139
|
|
|
151
140
|
## Transform
|
|
152
141
|
|
|
153
|
-
In order to make our world any use at all, we need to be able to transform objects. X3D has three types of transformations we can apply to objects. These are *translation, rotation, and scale.* These are used in a [Transform](https://www.web3d.org/documents/specifications/19775-1/
|
|
142
|
+
In order to make our world any use at all, we need to be able to transform objects. X3D has three types of transformations we can apply to objects. These are *translation, rotation, and scale.* These are used in a [Transform](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Transform){:target="_blank"} node. A Transform node doesn't have to have all three in it. You can just have a *rotation,* for instance. The transformations within a Transform apply to the children of the node. This is called nesting, where a node can have any number of child nodes. The syntax for this is shown in the example below, along with the syntax for a Transform node.
|
|
154
143
|
|
|
155
144
|
### XML Encoding
|
|
156
145
|
|
|
@@ -180,7 +169,7 @@ A Transform node can have another Transform nested inside it as a child, which a
|
|
|
180
169
|
|
|
181
170
|
## Anchor
|
|
182
171
|
|
|
183
|
-
In X3D, you navigate between pages the same way as in HTML. You have an object that, when the user clicks on it, links to another page. Exactly what you're all used to. In X3D, this is done with the [Anchor](https://www.web3d.org/documents/specifications/19775-1/
|
|
172
|
+
In X3D, you navigate between pages the same way as in HTML. You have an object that, when the user clicks on it, links to another page. Exactly what you're all used to. In X3D, this is done with the [Anchor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/networking.html#Anchor){:target="_blank"} node.
|
|
184
173
|
|
|
185
174
|
### XML Encoding
|
|
186
175
|
|
|
@@ -222,7 +211,7 @@ parameter [ "target=_blank" ]
|
|
|
222
211
|
|
|
223
212
|
## Background
|
|
224
213
|
|
|
225
|
-
There are two ways we can change the background of our scene. One is to specify colors for the [Background](https://www.web3d.org/documents/specifications/19775-1/
|
|
214
|
+
There are two ways we can change the background of our scene. One is to specify colors for the [Background](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/environmentalEffects.html#Background){:target="_blank"}, and the other is to provide images to be mapped onto the background. Both of these are implemented with the Background node. First of all, I'll describe how to add color to the background of your scene.
|
|
226
215
|
|
|
227
216
|
### XML Encoding
|
|
228
217
|
|
|
@@ -243,7 +232,7 @@ This will display a gray background. You can also make the background transparen
|
|
|
243
232
|
|
|
244
233
|
## Viewpoint
|
|
245
234
|
|
|
246
|
-
To give the world camera another position or orientation there is a [Viewpoint](https://www.web3d.org/documents/specifications/19775-1/
|
|
235
|
+
To give the world camera another position or orientation there is a [Viewpoint](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#Viewpoint){:target="_blank"} node. The viewpoint node can be placed anywhere within the scene graph.
|
|
247
236
|
|
|
248
237
|
### XML Encoding
|
|
249
238
|
|
|
@@ -262,9 +251,9 @@ DEF LookAtHouse Viewpoint {
|
|
|
262
251
|
}
|
|
263
252
|
```
|
|
264
253
|
|
|
265
|
-
Beside the Viewpoint node there is also an [OrthoViewpoint](https://www.web3d.org/documents/specifications/19775-1/
|
|
254
|
+
Beside the Viewpoint node there is also an [OrthoViewpoint](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#OrthoViewpoint){:target="_blank"} node to define an orthographic camera.
|
|
266
255
|
|
|
267
|
-
If you define more than once viewpoint in a X3D file, the first viewpoint defined will be bound if the world is loaded. To bind one of the other viewpoints send a *set\_bind* event with the value TRUE to the viewpoint. You must use a [Script](https://www.web3d.org/documents/specifications/19775-1/
|
|
256
|
+
If you define more than once viewpoint in a X3D file, the first viewpoint defined will be bound if the world is loaded. To bind one of the other viewpoints send a *set\_bind* event with the value TRUE to the viewpoint. You must use a [Script](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/scripting.html#Script){:target="_blank"} node for that or use a Anchor node with the name of the viewpoint in the *url* field preceded by '#'.
|
|
268
257
|
|
|
269
258
|
### XML Encoding
|
|
270
259
|
|
|
@@ -285,7 +274,7 @@ Anchor {
|
|
|
285
274
|
|
|
286
275
|
The first thing to mention is the way that the X3D lighting model works. All lights have the following fields: *color, ambientIntensity,* and *intensity.* Each light has an intensity, which a value between 0 and 1 corresponding to its brightness. It also has an ambient intensity, also between 0 and 1, which is how much light it contributes to the general ambient light in the scene. Because of this, the more lights in the scene, the brighter the ambient illumination, which makes sense. Ambient light is light that shines on every surface in the scene, simulating light scattered from other objects. Each light also has a *color* field associated with it, which is the color of the light it emits. The direct light emitted by a light source is calculated by *intensity × color.* The ambient light contributed to the scene is *ambientIntensity × color.* Each light source also has an area of effect, so as to keep X3D worlds enclosed and scalable. The method of doing this varies between the different types.
|
|
287
276
|
|
|
288
|
-
When using Gouraud shading browsers calculate lighting by working it out for each corner of a face, and interpolating the shading between these vertices. By default, X3D worlds will have the user's headlight ON. Remember to turn it off if you feel it necessary. Use a [NavigationInfo](https://www.web3d.org/documents/specifications/19775-1/
|
|
277
|
+
When using Gouraud shading browsers calculate lighting by working it out for each corner of a face, and interpolating the shading between these vertices. By default, X3D worlds will have the user's headlight ON. Remember to turn it off if you feel it necessary. Use a [NavigationInfo](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#NavigationInfo){:target="_blank"} node to do that.
|
|
289
278
|
|
|
290
279
|
### XML Encoding
|
|
291
280
|
|
|
@@ -304,20 +293,20 @@ NavigationInfo {
|
|
|
304
293
|
|
|
305
294
|
There are three different light nodes that can be used within a scene.
|
|
306
295
|
|
|
307
|
-
- [DirectionalLight](https://www.web3d.org/documents/specifications/19775-1/
|
|
308
|
-
- [PointLight](https://www.web3d.org/documents/specifications/19775-1/
|
|
309
|
-
- [SpotLight](https://www.web3d.org/documents/specifications/19775-1/
|
|
296
|
+
- [DirectionalLight](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/lighting.html#DirectionalLight){:target="_blank"}
|
|
297
|
+
- [PointLight](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/lighting.html#PointLight){:target="_blank"}
|
|
298
|
+
- [SpotLight](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/lighting.html#SpotLight){:target="_blank"}
|
|
310
299
|
|
|
311
|
-
You can place any light node within a grouping node (e.g. [Group](https://www.web3d.org/documents/specifications/19775-1/
|
|
300
|
+
You can place any light node within a grouping node (e.g. [Group](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Group){:target="_blank"}, [Transform](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Transform){:target="_blank"}, [Switch](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Switch){:target="_blank"}) and set the global field to **FALSE** to define a local light.
|
|
312
301
|
|
|
313
302
|
## Grouping Nodes
|
|
314
303
|
|
|
315
304
|
The following nodes are the most important grouping nodes (there are much more in X3D) which means that they can contain other nodes in their children field.
|
|
316
305
|
|
|
317
|
-
- [Anchor](https://www.web3d.org/documents/specifications/19775-1/
|
|
318
|
-
- [Billboard](https://www.web3d.org/documents/specifications/19775-1/
|
|
319
|
-
- [Collision](https://www.web3d.org/documents/specifications/19775-1/
|
|
320
|
-
- [Group](https://www.web3d.org/documents/specifications/19775-1/
|
|
321
|
-
- [LOD](https://www.web3d.org/documents/specifications/19775-1/
|
|
322
|
-
- [Switch](https://www.web3d.org/documents/specifications/19775-1/
|
|
323
|
-
- [Transform](https://www.web3d.org/documents/specifications/19775-1/
|
|
306
|
+
- [Anchor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/networking.html#Anchor){:target="_blank"}
|
|
307
|
+
- [Billboard](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#Billboard){:target="_blank"}
|
|
308
|
+
- [Collision](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#Collision){:target="_blank"}
|
|
309
|
+
- [Group](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Group){:target="_blank"}
|
|
310
|
+
- [LOD](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#LOD){:target="_blank"}
|
|
311
|
+
- [Switch](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Switch){:target="_blank"}
|
|
312
|
+
- [Transform](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Transform){:target="_blank"}
|