x_ite 8.4.3 → 8.5.3
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 +5 -1
- package/Makefile +0 -3
- package/build/bin/components.js +173 -0
- package/build/bin/tags.pl +28 -0
- package/build/bin/tests.pl +80 -2
- package/build/bin/version.pl +12 -7
- package/dist/assets/components/Annotation.js +13 -13
- package/dist/assets/components/Annotation.min.js +1 -1
- package/dist/assets/components/CADGeometry.js +13 -13
- package/dist/assets/components/CADGeometry.min.js +1 -1
- package/dist/assets/components/CubeMapTexturing.js +28 -29
- package/dist/assets/components/CubeMapTexturing.min.js +1 -1
- package/dist/assets/components/DIS.js +13 -13
- package/dist/assets/components/DIS.min.js +1 -1
- package/dist/assets/components/EventUtilities.js +9 -9
- package/dist/assets/components/EventUtilities.min.js +1 -1
- package/dist/assets/components/Geometry2D.js +19 -19
- package/dist/assets/components/Geometry2D.min.js +1 -1
- package/dist/assets/components/Geospatial.js +33 -33
- package/dist/assets/components/Geospatial.min.js +1 -1
- package/dist/assets/components/HAnim.js +63 -42
- package/dist/assets/components/HAnim.min.js +1 -1
- package/dist/assets/components/KeyDeviceSensor.js +8 -8
- package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
- package/dist/assets/components/Layout.js +37 -29
- package/dist/assets/components/Layout.min.js +1 -1
- package/dist/assets/components/NURBS.js +29 -31
- package/dist/assets/components/NURBS.min.js +1 -1
- package/dist/assets/components/ParticleSystems.js +23 -23
- package/dist/assets/components/ParticleSystems.min.js +1 -1
- package/dist/assets/components/Picking.js +19 -19
- package/dist/assets/components/Picking.min.js +1 -1
- package/dist/assets/components/RigidBodyPhysics.js +24 -19
- package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
- package/dist/assets/components/Scripting.js +30 -30
- package/dist/assets/components/Scripting.min.js +1 -1
- package/dist/assets/components/Text.js +172 -594
- package/dist/assets/components/Text.min.js +1 -1
- package/dist/assets/components/TextureProjector.js +31 -47
- package/dist/assets/components/TextureProjector.min.js +1 -1
- package/dist/assets/components/Texturing3D.js +367 -346
- package/dist/assets/components/Texturing3D.min.js +1 -1
- package/dist/assets/components/VolumeRendering.js +19 -19
- package/dist/assets/components/VolumeRendering.min.js +1 -1
- package/dist/assets/components/X_ITE.js +9 -9
- package/dist/assets/components/X_ITE.min.js +1 -1
- package/dist/x_ite.css +1 -1
- package/dist/x_ite.js +12174 -3553
- package/dist/x_ite.min.js +1 -1
- package/dist/x_ite.zip +0 -0
- package/docs/_config.yml +5 -136
- package/docs/_data/nav/components-CADGeometry.yml +14 -0
- package/docs/_data/nav/components-Core.yml +16 -0
- package/docs/_data/nav/components-CubeMapTexturing.yml +8 -0
- package/docs/_data/nav/components-DIS.yml +14 -0
- package/docs/_data/nav/components-EnvironmentalEffects.yml +12 -0
- package/docs/_data/nav/components-EnvironmentalSensor.yml +8 -0
- package/docs/_data/nav/components-EventUtilities.yml +16 -0
- package/docs/_data/nav/components-Followers.yml +30 -0
- package/docs/_data/nav/components-Geometry2D.yml +18 -0
- package/docs/_data/nav/components-Geometry3D.yml +16 -0
- package/docs/_data/nav/components-Geospatial.yml +24 -0
- package/docs/_data/nav/components-Grouping.yml +10 -0
- package/docs/_data/nav/components-HAnim.yml +14 -0
- package/docs/_data/nav/components-Interpolation.yml +28 -0
- package/docs/_data/nav/components-KeyDeviceSensor.yml +6 -0
- package/docs/_data/nav/components-Layering.yml +8 -0
- package/docs/_data/nav/components-Layout.yml +12 -0
- package/docs/_data/nav/components-Lighting.yml +10 -0
- package/docs/_data/nav/components-NURBS.yml +30 -0
- package/docs/_data/nav/components-Navigation.yml +16 -0
- package/docs/_data/nav/components-Networking.yml +8 -0
- package/docs/_data/nav/components-ParticleSystems.yml +22 -0
- package/docs/_data/nav/components-Picking.yml +12 -0
- package/docs/_data/nav/components-PointingDeviceSensor.yml +10 -0
- package/docs/_data/nav/components-Rendering.yml +30 -0
- package/docs/_data/nav/components-RigidBodyPhysics.yml +30 -0
- package/docs/_data/nav/components-Scripting.yml +4 -0
- package/docs/_data/nav/components-Shaders.yml +18 -0
- package/docs/_data/nav/components-Shape.yml +22 -0
- package/docs/_data/nav/components-Sound.yml +44 -0
- package/docs/_data/nav/components-Text.yml +6 -0
- package/docs/_data/nav/components-TextureProjector.yml +6 -0
- package/docs/_data/nav/components-Texturing.yml +22 -0
- package/docs/_data/nav/components-Texturing3D.yml +18 -0
- package/docs/_data/nav/components-Time.yml +4 -0
- package/docs/_data/nav/components-VolumeRendering.yml +28 -0
- package/docs/_data/nav/components-X_ITE.yml +4 -0
- package/docs/_data/nav/main.yml +26 -0
- package/docs/_data/nav/reference.yml +18 -0
- package/docs/_data/nav/tutorials-animation-sensors-and-geometry.yml +18 -0
- package/docs/_data/nav/tutorials-basic.yml +6 -0
- package/docs/_data/nav/tutorials-optimize-your-scene.yml +6 -0
- package/docs/_data/nav/tutorials-scripts-and-prototypes.yml +12 -0
- package/docs/_data/nav/tutorials-shapes-geometry-and-appearance.yml +16 -0
- package/docs/_data/nav/tutorials-textures-lights-and-environment.yml +20 -0
- package/docs/_includes/nav.html +2 -2
- package/docs/_includes/scripts.html +2 -1
- package/docs/_posts/accessing-the-external-browser.md +1 -1
- package/docs/_posts/browser-support.md +1 -1
- package/docs/_posts/components/CADGeometry/CADAssembly.md +83 -0
- package/docs/_posts/components/CADGeometry/CADFace.md +70 -0
- package/docs/_posts/components/CADGeometry/CADLayer.md +84 -0
- package/docs/_posts/components/CADGeometry/CADPart.md +117 -0
- package/docs/_posts/components/CADGeometry/IndexedQuadSet.md +125 -0
- package/docs/_posts/components/CADGeometry/QuadSet.md +113 -0
- package/docs/_posts/components/Core/MetadataBoolean.md +90 -0
- package/docs/_posts/components/Core/MetadataDouble.md +67 -0
- package/docs/_posts/components/Core/MetadataFloat.md +67 -0
- package/docs/_posts/components/Core/MetadataInteger.md +66 -0
- package/docs/_posts/components/Core/MetadataSet.md +63 -0
- package/docs/_posts/components/Core/MetadataString.md +66 -0
- package/docs/_posts/components/Core/WorldInfo.md +54 -0
- package/docs/_posts/components/CubeMapTexturing/ComposedCubeMapTexture.md +76 -0
- package/docs/_posts/components/CubeMapTexturing/GeneratedCubeMapTexture.md +65 -0
- package/docs/_posts/components/CubeMapTexturing/ImageCubeMapTexture.md +66 -0
- package/docs/_posts/components/DIS/DISEntityManager.md +73 -0
- package/docs/_posts/components/DIS/DISEntityTypeMapping.md +88 -0
- package/docs/_posts/components/DIS/EspduTransform.md +416 -0
- package/docs/_posts/components/DIS/ReceiverPdu.md +168 -0
- package/docs/_posts/components/DIS/SignalPdu.md +168 -0
- package/docs/_posts/components/DIS/TransmitterPdu.md +232 -0
- package/docs/_posts/components/EnvironmentalEffects/Background.md +189 -0
- package/docs/_posts/components/EnvironmentalEffects/Fog.md +97 -0
- package/docs/_posts/components/EnvironmentalEffects/FogCoordinate.md +40 -0
- package/docs/_posts/components/EnvironmentalEffects/LocalFog.md +84 -0
- package/docs/_posts/components/EnvironmentalEffects/TextureBackground.md +142 -0
- package/docs/_posts/components/EnvironmentalSensor/ProximitySensor.md +90 -0
- package/docs/_posts/components/EnvironmentalSensor/TransformSensor.md +91 -0
- package/docs/_posts/components/EnvironmentalSensor/VisibilitySensor.md +73 -0
- package/docs/_posts/components/EventUtilities/BooleanFilter.md +62 -0
- package/docs/_posts/components/EventUtilities/BooleanSequencer.md +86 -0
- package/docs/_posts/components/EventUtilities/BooleanToggle.md +46 -0
- package/docs/_posts/components/EventUtilities/BooleanTrigger.md +47 -0
- package/docs/_posts/components/EventUtilities/IntegerSequencer.md +90 -0
- package/docs/_posts/components/EventUtilities/IntegerTrigger.md +51 -0
- package/docs/_posts/components/EventUtilities/TimeTrigger.md +47 -0
- package/docs/_posts/components/Followers/ColorChaser.md +77 -0
- package/docs/_posts/components/Followers/ColorDamper.md +85 -0
- package/docs/_posts/components/Followers/CoordinateChaser.md +76 -0
- package/docs/_posts/components/Followers/CoordinateDamper.md +80 -0
- package/docs/_posts/components/Followers/OrientationChaser.md +72 -0
- package/docs/_posts/components/Followers/OrientationDamper.md +80 -0
- package/docs/_posts/components/Followers/PositionChaser.md +72 -0
- package/docs/_posts/components/Followers/PositionChaser2D.md +72 -0
- package/docs/_posts/components/Followers/PositionDamper.md +80 -0
- package/docs/_posts/components/Followers/PositionDamper2D.md +80 -0
- package/docs/_posts/components/Followers/ScalarChaser.md +76 -0
- package/docs/_posts/components/Followers/ScalarDamper.md +80 -0
- package/docs/_posts/components/Followers/TexCoordChaser2D.md +72 -0
- package/docs/_posts/components/Followers/TexCoordDamper2D.md +80 -0
- package/docs/_posts/components/Geometry2D/Arc2D.md +71 -0
- package/docs/_posts/components/Geometry2D/ArcClose2D.md +91 -0
- package/docs/_posts/components/Geometry2D/Circle2D.md +55 -0
- package/docs/_posts/components/Geometry2D/Disk2D.md +75 -0
- package/docs/_posts/components/Geometry2D/Polyline2D.md +54 -0
- package/docs/_posts/components/Geometry2D/Polypoint2D.md +54 -0
- package/docs/_posts/components/Geometry2D/Rectangle2D.md +66 -0
- package/docs/_posts/components/Geometry2D/TriangleSet2D.md +66 -0
- package/docs/_posts/components/Geometry3D/Box.md +66 -0
- package/docs/_posts/components/Geometry3D/Cone.md +90 -0
- package/docs/_posts/components/Geometry3D/Cylinder.md +98 -0
- package/docs/_posts/components/Geometry3D/ElevationGrid.md +162 -0
- package/docs/_posts/components/Geometry3D/Extrusion.md +170 -0
- package/docs/_posts/components/Geometry3D/IndexedFaceSet.md +208 -0
- package/docs/_posts/components/Geometry3D/Sphere.md +66 -0
- package/docs/_posts/components/Geospatial/GeoCoordinate.md +65 -0
- package/docs/_posts/components/Geospatial/GeoElevationGrid.md +180 -0
- package/docs/_posts/components/Geospatial/GeoLOD.md +128 -0
- package/docs/_posts/components/Geospatial/GeoLocation.md +93 -0
- package/docs/_posts/components/Geospatial/GeoMetadata.md +75 -0
- package/docs/_posts/components/Geospatial/GeoOrigin.md +69 -0
- package/docs/_posts/components/Geospatial/GeoPositionInterpolator.md +95 -0
- package/docs/_posts/components/Geospatial/GeoProximitySensor.md +109 -0
- package/docs/_posts/components/Geospatial/GeoTouchSensor.md +108 -0
- package/docs/_posts/components/Geospatial/GeoTransform.md +121 -0
- package/docs/_posts/components/Geospatial/GeoViewpoint.md +126 -0
- package/docs/_posts/components/Grouping/Group.md +75 -0
- package/docs/_posts/components/Grouping/StaticGroup.md +65 -0
- package/docs/_posts/components/Grouping/Switch.md +89 -0
- package/docs/_posts/components/Grouping/Transform.md +126 -0
- package/docs/_posts/components/HAnim/HAnimDisplacer.md +89 -0
- package/docs/_posts/components/HAnim/HAnimHumanoid.md +136 -0
- package/docs/_posts/components/HAnim/HAnimJoint.md +165 -0
- package/docs/_posts/components/HAnim/HAnimMotion.md +68 -0
- package/docs/_posts/components/HAnim/HAnimSegment.md +107 -0
- package/docs/_posts/components/HAnim/HAnimSite.md +108 -0
- package/docs/_posts/components/Interpolation/ColorInterpolator.md +73 -0
- package/docs/_posts/components/Interpolation/CoordinateInterpolator.md +76 -0
- package/docs/_posts/components/Interpolation/CoordinateInterpolator2D.md +73 -0
- package/docs/_posts/components/Interpolation/EaseInEaseOut.md +67 -0
- package/docs/_posts/components/Interpolation/NormalInterpolator.md +68 -0
- package/docs/_posts/components/Interpolation/OrientationInterpolator.md +72 -0
- package/docs/_posts/components/Interpolation/PositionInterpolator.md +72 -0
- package/docs/_posts/components/Interpolation/PositionInterpolator2D.md +77 -0
- package/docs/_posts/components/Interpolation/ScalarInterpolator.md +76 -0
- package/docs/_posts/components/Interpolation/SplinePositionInterpolator.md +93 -0
- package/docs/_posts/components/Interpolation/SplinePositionInterpolator2D.md +93 -0
- package/docs/_posts/components/Interpolation/SplineScalarInterpolator.md +106 -0
- package/docs/_posts/components/Interpolation/SquadOrientationInterpolator.md +78 -0
- package/docs/_posts/components/KeyDeviceSensor/KeySensor.md +78 -0
- package/docs/_posts/components/KeyDeviceSensor/StringSensor.md +70 -0
- package/docs/_posts/components/Layering/Layer.md +67 -0
- package/docs/_posts/components/Layering/LayerSet.md +78 -0
- package/docs/_posts/components/Layering/Viewport.md +80 -0
- package/docs/_posts/components/Layout/Layout.md +107 -0
- package/docs/_posts/components/Layout/LayoutGroup.md +85 -0
- package/docs/_posts/components/Layout/LayoutLayer.md +74 -0
- package/docs/_posts/components/Layout/ScreenFontStyle.md +137 -0
- package/docs/_posts/components/Layout/ScreenGroup.md +71 -0
- package/docs/_posts/components/Lighting/DirectionalLight.md +100 -0
- package/docs/_posts/components/Lighting/EnvironmentLight.md +91 -0
- package/docs/_posts/components/Lighting/PointLight.md +103 -0
- package/docs/_posts/components/Lighting/SpotLight.md +132 -0
- package/docs/_posts/components/NURBS/Contour2D.md +57 -0
- package/docs/_posts/components/NURBS/ContourPolyline2D.md +46 -0
- package/docs/_posts/components/NURBS/CoordinateDouble.md +47 -0
- package/docs/_posts/components/NURBS/NurbsCurve.md +71 -0
- package/docs/_posts/components/NURBS/NurbsCurve2D.md +66 -0
- package/docs/_posts/components/NURBS/NurbsOrientationInterpolator.md +70 -0
- package/docs/_posts/components/NURBS/NurbsPatchSurface.md +106 -0
- package/docs/_posts/components/NURBS/NurbsPositionInterpolator.md +70 -0
- package/docs/_posts/components/NURBS/NurbsSet.md +66 -0
- package/docs/_posts/components/NURBS/NurbsSurfaceInterpolator.md +90 -0
- package/docs/_posts/components/NURBS/NurbsSweptSurface.md +69 -0
- package/docs/_posts/components/NURBS/NurbsSwungSurface.md +65 -0
- package/docs/_posts/components/NURBS/NurbsTextureCoordinate.md +77 -0
- package/docs/_posts/components/NURBS/NurbsTrimmedSurface.md +114 -0
- package/docs/_posts/components/Navigation/Billboard.md +88 -0
- package/docs/_posts/components/Navigation/Collision.md +102 -0
- package/docs/_posts/components/Navigation/LOD.md +99 -0
- package/docs/_posts/components/Navigation/NavigationInfo.md +122 -0
- package/docs/_posts/components/Navigation/OrthoViewpoint.md +117 -0
- package/docs/_posts/components/Navigation/Viewpoint.md +117 -0
- package/docs/_posts/components/Navigation/ViewpointGroup.md +80 -0
- package/docs/_posts/components/Networking/Anchor.md +111 -0
- package/docs/_posts/components/Networking/Inline.md +115 -0
- package/docs/_posts/components/Networking/LoadSensor.md +91 -0
- package/docs/_posts/components/ParticleSystems/BoundedPhysicsModel.md +54 -0
- package/docs/_posts/components/ParticleSystems/ConeEmitter.md +76 -0
- package/docs/_posts/components/ParticleSystems/ExplosionEmitter.md +72 -0
- package/docs/_posts/components/ParticleSystems/ForcePhysicsModel.md +58 -0
- package/docs/_posts/components/ParticleSystems/ParticleSystem.md +177 -0
- package/docs/_posts/components/ParticleSystems/PointEmitter.md +76 -0
- package/docs/_posts/components/ParticleSystems/PolylineEmitter.md +94 -0
- package/docs/_posts/components/ParticleSystems/SurfaceEmitter.md +90 -0
- package/docs/_posts/components/ParticleSystems/VolumeEmitter.md +90 -0
- package/docs/_posts/components/ParticleSystems/WindPhysicsModel.md +68 -0
- package/docs/_posts/components/Picking/LinePickSensor.md +125 -0
- package/docs/_posts/components/Picking/PickableGroup.md +93 -0
- package/docs/_posts/components/Picking/PointPickSensor.md +112 -0
- package/docs/_posts/components/Picking/PrimitivePickSensor.md +114 -0
- package/docs/_posts/components/Picking/VolumePickSensor.md +107 -0
- package/docs/_posts/components/PointingDeviceSensor/CylinderSensor.md +122 -0
- package/docs/_posts/components/PointingDeviceSensor/PlaneSensor.md +114 -0
- package/docs/_posts/components/PointingDeviceSensor/SphereSensor.md +89 -0
- package/docs/_posts/components/PointingDeviceSensor/TouchSensor.md +87 -0
- package/docs/_posts/components/Rendering/ClipPlane.md +67 -0
- package/docs/_posts/components/Rendering/Color.md +56 -0
- package/docs/_posts/components/Rendering/ColorRGBA.md +61 -0
- package/docs/_posts/components/Rendering/Coordinate.md +45 -0
- package/docs/_posts/components/Rendering/IndexedLineSet.md +128 -0
- package/docs/_posts/components/Rendering/IndexedTriangleFanSet.md +128 -0
- package/docs/_posts/components/Rendering/IndexedTriangleSet.md +128 -0
- package/docs/_posts/components/Rendering/IndexedTriangleStripSet.md +116 -0
- package/docs/_posts/components/Rendering/LineSet.md +85 -0
- package/docs/_posts/components/Rendering/Normal.md +41 -0
- package/docs/_posts/components/Rendering/PointSet.md +76 -0
- package/docs/_posts/components/Rendering/TriangleFanSet.md +112 -0
- package/docs/_posts/components/Rendering/TriangleSet.md +108 -0
- package/docs/_posts/components/Rendering/TriangleStripSet.md +116 -0
- package/docs/_posts/components/RigidBodyPhysics/BallJoint.md +78 -0
- package/docs/_posts/components/RigidBodyPhysics/CollidableOffset.md +75 -0
- package/docs/_posts/components/RigidBodyPhysics/CollidableShape.md +83 -0
- package/docs/_posts/components/RigidBodyPhysics/CollisionCollection.md +90 -0
- package/docs/_posts/components/RigidBodyPhysics/CollisionSensor.md +65 -0
- package/docs/_posts/components/RigidBodyPhysics/CollisionSpace.md +70 -0
- package/docs/_posts/components/RigidBodyPhysics/Contact.md +117 -0
- package/docs/_posts/components/RigidBodyPhysics/DoubleAxisHingeJoint.md +162 -0
- package/docs/_posts/components/RigidBodyPhysics/MotorJoint.md +183 -0
- package/docs/_posts/components/RigidBodyPhysics/RigidBody.md +175 -0
- package/docs/_posts/components/RigidBodyPhysics/RigidBodyCollection.md +120 -0
- package/docs/_posts/components/RigidBodyPhysics/SingleAxisHingeJoint.md +108 -0
- package/docs/_posts/components/RigidBodyPhysics/SliderJoint.md +106 -0
- package/docs/_posts/components/RigidBodyPhysics/UniversalJoint.md +119 -0
- package/docs/_posts/components/Scripting/Script.md +81 -0
- package/docs/_posts/components/Shaders/ComposedShader.md +81 -0
- package/docs/_posts/components/Shaders/FloatVertexAttribute.md +65 -0
- package/docs/_posts/components/Shaders/Matrix3VertexAttribute.md +53 -0
- package/docs/_posts/components/Shaders/Matrix4VertexAttribute.md +53 -0
- package/docs/_posts/components/Shaders/PackagedShader.md +77 -0
- package/docs/_posts/components/Shaders/ProgramShader.md +71 -0
- package/docs/_posts/components/Shaders/ShaderPart.md +76 -0
- package/docs/_posts/components/Shaders/ShaderProgram.md +68 -0
- package/docs/_posts/components/Shape/AcousticProperties.md +52 -0
- package/docs/_posts/components/Shape/Appearance.md +123 -0
- package/docs/_posts/components/Shape/FillProperties.md +67 -0
- package/docs/_posts/components/Shape/LineProperties.md +63 -0
- package/docs/_posts/components/Shape/Material.md +217 -0
- package/docs/_posts/components/Shape/PhysicalMaterial.md +173 -0
- package/docs/_posts/components/Shape/PointProperties.md +84 -0
- package/docs/_posts/components/Shape/Shape.md +63 -0
- package/docs/_posts/components/Shape/TwoSidedMaterial.md +149 -0
- package/docs/_posts/components/Shape/UnlitMaterial.md +115 -0
- package/docs/_posts/components/Sound/Analyser.md +72 -0
- package/docs/_posts/components/Sound/AudioClip.md +139 -0
- package/docs/_posts/components/Sound/AudioDestination.md +52 -0
- package/docs/_posts/components/Sound/BiquadFilter.md +70 -0
- package/docs/_posts/components/Sound/BufferAudioSource.md +86 -0
- package/docs/_posts/components/Sound/ChannelMerger.md +46 -0
- package/docs/_posts/components/Sound/ChannelSelector.md +48 -0
- package/docs/_posts/components/Sound/ChannelSplitter.md +48 -0
- package/docs/_posts/components/Sound/Convolver.md +66 -0
- package/docs/_posts/components/Sound/Delay.md +66 -0
- package/docs/_posts/components/Sound/DynamicsCompressor.md +74 -0
- package/docs/_posts/components/Sound/Gain.md +62 -0
- package/docs/_posts/components/Sound/ListenerPointSource.md +62 -0
- package/docs/_posts/components/Sound/MicrophoneSource.md +54 -0
- package/docs/_posts/components/Sound/OscillatorSource.md +58 -0
- package/docs/_posts/components/Sound/PeriodicWave.md +42 -0
- package/docs/_posts/components/Sound/Sound.md +92 -0
- package/docs/_posts/components/Sound/SpatialSound.md +68 -0
- package/docs/_posts/components/Sound/StreamAudioDestination.md +52 -0
- package/docs/_posts/components/Sound/StreamAudioSource.md +54 -0
- package/docs/_posts/components/Sound/WaveShaper.md +66 -0
- package/docs/_posts/components/Text/FontStyle.md +145 -0
- package/docs/_posts/components/Text/Text.md +102 -0
- package/docs/_posts/components/TextureProjector/TextureProjector.md +52 -0
- package/docs/_posts/components/TextureProjector/TextureProjectorParallel.md +52 -0
- package/docs/_posts/components/Texturing/ImageTexture.md +134 -0
- package/docs/_posts/components/Texturing/MovieTexture.md +221 -0
- package/docs/_posts/components/Texturing/MultiTexture.md +100 -0
- package/docs/_posts/components/Texturing/MultiTextureCoordinate.md +47 -0
- package/docs/_posts/components/Texturing/MultiTextureTransform.md +47 -0
- package/docs/_posts/components/Texturing/PixelTexture.md +80 -0
- package/docs/_posts/components/Texturing/TextureCoordinate.md +52 -0
- package/docs/_posts/components/Texturing/TextureCoordinateGenerator.md +64 -0
- package/docs/_posts/components/Texturing/TextureProperties.md +137 -0
- package/docs/_posts/components/Texturing/TextureTransform.md +73 -0
- package/docs/_posts/components/Texturing3D/ComposedTexture3D.md +76 -0
- package/docs/_posts/components/Texturing3D/ImageTexture3D.md +132 -0
- package/docs/_posts/components/Texturing3D/ImageTextureAtlas.md +131 -0
- package/docs/_posts/components/Texturing3D/PixelTexture3D.md +75 -0
- package/docs/_posts/components/Texturing3D/TextureCoordinate3D.md +53 -0
- package/docs/_posts/components/Texturing3D/TextureCoordinate4D.md +52 -0
- package/docs/_posts/components/Texturing3D/TextureTransform3D.md +69 -0
- package/docs/_posts/components/Texturing3D/TextureTransformMatrix3D.md +57 -0
- package/docs/_posts/components/Time/TimeSensor.md +136 -0
- package/docs/_posts/components/VolumeRendering/BlendedVolumeStyle.md +92 -0
- package/docs/_posts/components/VolumeRendering/BoundaryEnhancementVolumeStyle.md +53 -0
- package/docs/_posts/components/VolumeRendering/CartoonVolumeStyle.md +83 -0
- package/docs/_posts/components/VolumeRendering/ComposedVolumeStyle.md +51 -0
- package/docs/_posts/components/VolumeRendering/EdgeEnhancementVolumeStyle.md +67 -0
- package/docs/_posts/components/VolumeRendering/IsoSurfaceVolumeData.md +99 -0
- package/docs/_posts/components/VolumeRendering/OpacityMapVolumeStyle.md +51 -0
- package/docs/_posts/components/VolumeRendering/ProjectionVolumeStyle.md +48 -0
- package/docs/_posts/components/VolumeRendering/SegmentedVolumeData.md +80 -0
- package/docs/_posts/components/VolumeRendering/ShadedVolumeStyle.md +75 -0
- package/docs/_posts/components/VolumeRendering/SilhouetteEnhancementVolumeStyle.md +63 -0
- package/docs/_posts/components/VolumeRendering/ToneMappedVolumeStyle.md +71 -0
- package/docs/_posts/components/VolumeRendering/VolumeData.md +71 -0
- package/docs/_posts/components/X_ITE/BlendMode.md +94 -0
- package/docs/_posts/custom-shaders.md +9 -4
- package/docs/_posts/dom-integration.md +1 -6
- package/docs/_posts/features.md +2 -2
- package/docs/_posts/getting-started.md +100 -57
- package/docs/_posts/glossary.md +1 -1
- package/docs/_posts/how-to-configure-your-web-server.md +1 -1
- package/docs/_posts/reference/browser-services.md +78 -18
- package/docs/_posts/reference/constants-services.md +1 -1
- package/docs/_posts/reference/ecmascript-object-and-function-definitions.md +1 -1
- package/docs/_posts/reference/field-services-and-objects.md +8 -8
- package/docs/_posts/reference/prototype-services.md +7 -7
- package/docs/_posts/reference/route-services.md +1 -1
- package/docs/_posts/reference/scene-services.md +5 -5
- package/docs/_posts/reference/script-node-authoring-interface.md +1 -1
- package/docs/_posts/report-a-bug.md +1 -1
- package/docs/_posts/setup-a-localhost-server.md +5 -1
- package/docs/_posts/supported-nodes.md +239 -238
- package/docs/_posts/tutorials/adding-backgrounds.md +3 -3
- package/docs/_posts/tutorials/adding-fog.md +2 -2
- package/docs/_posts/tutorials/adding-sound.md +19 -19
- package/docs/_posts/tutorials/animating-transforms.md +17 -17
- package/docs/_posts/tutorials/basic-nodes.md +30 -30
- package/docs/_posts/tutorials/building-a-x3d-world.md +3 -3
- package/docs/_posts/tutorials/building-elevation-grids.md +7 -7
- package/docs/_posts/tutorials/building-extruded-shapes.md +7 -7
- package/docs/_posts/tutorials/building-primitive-shapes.md +13 -13
- package/docs/_posts/tutorials/building-shapes-out-of-points-lines-and-faces.md +21 -21
- package/docs/_posts/tutorials/controlling-appearance-with-materials.md +7 -7
- package/docs/_posts/tutorials/controlling-color-on-coordinate-based-geometry.md +11 -11
- package/docs/_posts/tutorials/controlling-detail.md +4 -4
- package/docs/_posts/tutorials/controlling-how-textures-are-mapped.md +7 -7
- package/docs/_posts/tutorials/controlling-navigation.md +3 -3
- package/docs/_posts/tutorials/controlling-shading-on-coordinate-based-geometry.md +13 -13
- package/docs/_posts/tutorials/controlling-the-viewpoint.md +3 -3
- package/docs/_posts/tutorials/creating-new-node-types.md +4 -4
- package/docs/_posts/tutorials/grouping-nodes.md +13 -13
- package/docs/_posts/tutorials/hello-world.md +1 -1
- package/docs/_posts/tutorials/improving-performance.md +1 -1
- package/docs/_posts/tutorials/increasing-rendering-speed.md +1 -1
- package/docs/_posts/tutorials/introducing-animation.md +10 -10
- package/docs/_posts/tutorials/introducing-script-use.md +3 -3
- package/docs/_posts/tutorials/introducing-x3d.md +1 -1
- package/docs/_posts/tutorials/lighting-your-world.md +4 -4
- package/docs/_posts/tutorials/mapping-textures.md +7 -7
- package/docs/_posts/tutorials/naming-nodes.md +1 -1
- package/docs/_posts/tutorials/overview.md +1 -1
- package/docs/_posts/tutorials/providing-information-about-your-world.md +2 -2
- package/docs/_posts/tutorials/sensing-the-viewer.md +15 -15
- package/docs/_posts/tutorials/sensing-viewer-actions.md +10 -10
- package/docs/_posts/tutorials/transforming-shapes.md +4 -4
- package/docs/_posts/tutorials/writing-program-scripts-with-ecmascript.md +5 -5
- package/docs/_posts/what's-new.md +40 -2
- package/docs/_tabs/components.md +383 -0
- package/docs/_tabs/imprint.md +1 -1
- package/docs/_tabs/laboratory.md +38 -6
- package/docs/_tabs/playground.html +22 -66
- package/docs/_tabs/reference.md +2 -1
- package/docs/_tabs/tags.md +1 -1
- package/docs/_tabs/tutorials.md +1 -1
- package/docs/assets/X3D/Michroma-Regular.ttf +0 -0
- package/docs/assets/X3D/peakpx.jpg +0 -0
- package/docs/assets/X3D/teaser.x3d +55 -0
- package/docs/assets/css/style.scss +120 -11
- package/docs/assets/img/laboratory/blend-mode.png +0 -0
- package/docs/assets/img/laboratory/dicom-nrrd.png +0 -0
- package/docs/assets/img/laboratory/earthquake.png +0 -0
- package/docs/assets/img/laboratory/gltf.png +0 -0
- package/docs/assets/img/laboratory/l-system.png +0 -0
- package/docs/assets/js/autoupdate.js +25 -0
- package/docs/laboratory/gltf-sample-viewer.html +318 -0
- package/docs/laboratory/x3d-visual-blend-mode-editor.html +1 -0
- package/package.json +9 -2
- package/src/assets/components/Texturing3D.js +5 -3
- package/src/assets/shaders/Types.glsl.js +5 -5
- package/src/assets/shaders/webgl1/PBR.fs.js +1 -1
- package/src/assets/shaders/webgl1/include/Colors.glsl.js +5 -7
- package/src/assets/shaders/webgl1/include/Fragment.glsl.js +4 -0
- package/src/assets/shaders/webgl1/include/Hatch.glsl.js +1 -1
- package/src/assets/shaders/webgl1/include/Texture.glsl.js +3 -3
- package/src/assets/shaders/webgl2/include/Colors.glsl.js +5 -7
- package/src/assets/shaders/webgl2/include/Hatch.glsl.js +1 -1
- package/src/assets/shaders/webgl2/include/Particle.glsl.js +2 -2
- package/src/assets/shaders/webgl2/include/Texture.glsl.js +2 -2
- package/src/bookmarks.js +12 -8
- package/src/examples.js +3 -0
- package/src/lib/jquery.js +20 -0
- package/src/lib/libgif/libgif.js +1004 -0
- package/src/lib/libtess.js +1 -0
- package/src/lib/nurbs/extras/sample.js +5 -7
- package/src/standard/Math/Algorithms/Bezier.js +175 -33
- package/src/standard/Math/Geometry/Box2.js +15 -55
- package/src/standard/Math/Geometry/Box3.js +19 -66
- package/src/standard/Math/Geometry/Triangle3.js +14 -79
- package/src/standard/Math/Numbers/Color3.js +4 -0
- package/src/standard/Math/Numbers/Color4.js +4 -0
- package/src/standard/Math/Numbers/Matrix3.js +11 -3
- package/src/standard/Math/Numbers/Matrix4.js +9 -6
- package/src/standard/Math/Numbers/Rotation4.js +72 -65
- package/src/tests.js +3 -0
- package/src/x_ite/Base/X3DArrayField.js +0 -2
- package/src/x_ite/Base/X3DInfoArray.js +2 -2
- package/src/x_ite/Base/X3DObjectArrayField.js +19 -0
- package/src/x_ite/Base/X3DTypedArrayField.js +149 -0
- package/src/x_ite/Browser/Core/BrowserOptions.js +108 -64
- package/src/x_ite/Browser/Core/Context.js +1 -1
- package/src/x_ite/Browser/Core/ContextMenu.js +2 -2
- package/src/x_ite/Browser/Core/Notification.js +1 -1
- package/src/x_ite/Browser/Core/RenderingProperties.js +4 -0
- package/src/x_ite/Browser/Core/X3DCoreContext.js +99 -54
- package/src/x_ite/Browser/Navigation/ExamineViewer.js +4 -14
- package/src/x_ite/Browser/Navigation/LookAtViewer.js +3 -13
- package/src/x_ite/Browser/Navigation/PlaneViewer.js +3 -12
- package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +25 -22
- package/src/x_ite/Browser/Navigation/X3DViewer.js +12 -3
- package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +2 -2
- package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +19 -15
- package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +30 -10
- package/src/x_ite/Browser/Shaders/X3DShadersContext.js +1 -1
- package/src/x_ite/Browser/Shape/X3DShapeContext.js +30 -3
- package/src/x_ite/Browser/Text/PolygonText.js +137 -134
- package/src/x_ite/Browser/Texturing/GifMedia.js +113 -0
- package/src/x_ite/Browser/Texturing3D/DICOMParser.js +1 -6
- package/src/x_ite/Browser/Texturing3D/NRRDParser.js +81 -310
- package/src/x_ite/Browser/VERSION.js +1 -1
- package/src/x_ite/Browser/X3DBrowser.js +162 -122
- package/src/x_ite/Browser/X3DBrowserContext.js +7 -5
- package/src/x_ite/Components/Core/WorldInfo.js +3 -3
- package/src/x_ite/Components/Core/X3DNode.js +7 -7
- package/src/x_ite/Components/Core/X3DPrototypeInstance.js +1 -1
- package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +2 -3
- package/src/x_ite/Components/Geometry3D/Extrusion.js +27 -23
- package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +10 -19
- package/src/x_ite/Components/Grouping/X3DBoundedObject.js +1 -3
- package/src/x_ite/Components/HAnim/HAnimHumanoid.js +39 -15
- package/src/x_ite/Components/HAnim/HAnimJoint.js +6 -9
- package/src/x_ite/Components/Layering/X3DLayerNode.js +21 -2
- package/src/x_ite/Components/Layout/Layout.js +4 -2
- package/src/x_ite/Components/Layout/ScreenFontStyle.js +6 -0
- package/src/x_ite/Components/Lighting/DirectionalLight.js +4 -11
- package/src/x_ite/Components/Lighting/EnvironmentLight.js +1 -1
- package/src/x_ite/Components/Lighting/PointLight.js +4 -11
- package/src/x_ite/Components/Lighting/SpotLight.js +4 -11
- package/src/x_ite/Components/Lighting/X3DLightNode.js +7 -9
- package/src/x_ite/Components/Navigation/OrthoViewpoint.js +2 -2
- package/src/x_ite/Components/Navigation/X3DViewpointNode.js +14 -6
- package/src/x_ite/Components/Networking/Inline.js +48 -59
- package/src/x_ite/Components/Networking/X3DUrlObject.js +1 -1
- package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +2 -2
- package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +7 -13
- package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +4 -2
- package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +4 -2
- package/src/x_ite/Components/Scripting/Script.js +2 -2
- package/src/x_ite/Components/Shaders/ShaderPart.js +1 -1
- package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +1 -3
- package/src/x_ite/Components/Shape/Appearance.js +27 -1
- package/src/x_ite/Components/Shape/FillProperties.js +1 -0
- package/src/x_ite/Components/Shape/LineProperties.js +15 -9
- package/src/x_ite/Components/Shape/Material.js +33 -22
- package/src/x_ite/Components/Shape/PhysicalMaterial.js +22 -15
- package/src/x_ite/Components/Shape/PointProperties.js +23 -7
- package/src/x_ite/Components/Shape/UnlitMaterial.js +3 -2
- package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +25 -19
- package/src/x_ite/Components/Sound/AudioClip.js +5 -5
- package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +26 -34
- package/src/x_ite/Components/Text/X3DFontStyleNode.js +1 -1
- package/src/x_ite/Components/TextureProjector/TextureProjector.js +4 -12
- package/src/x_ite/Components/TextureProjector/TextureProjectorParallel.js +6 -14
- package/src/x_ite/Components/TextureProjector/X3DTextureProjectorNode.js +7 -7
- package/src/x_ite/Components/Texturing/ImageTexture.js +15 -10
- package/src/x_ite/Components/Texturing/MovieTexture.js +51 -11
- package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +2 -2
- package/src/x_ite/Components/Texturing3D/ImageTextureAtlas.js +230 -0
- package/src/x_ite/Components/Time/X3DTimeDependentNode.js +12 -10
- package/src/x_ite/Execution/BindableList.js +35 -37
- package/src/x_ite/Execution/BindableStack.js +25 -7
- package/src/x_ite/Execution/X3DScene.js +2 -2
- package/src/x_ite/Execution/X3DWorld.js +1 -1
- package/src/x_ite/Fields/SFRotation.js +2 -1
- package/src/x_ite/Fields/SFString.js +1 -1
- package/src/x_ite/InputOutput/FileLoader.js +105 -236
- package/src/x_ite/InputOutput/Generator.js +12 -8
- package/src/x_ite/Parser/Expressions.js +85 -0
- package/src/x_ite/Parser/GLB2Parser.js +147 -0
- package/src/x_ite/Parser/GLTF2Parser.js +2221 -0
- package/src/x_ite/Parser/GoldenGate.js +64 -13
- package/src/x_ite/Parser/JSONParser.js +7 -36
- package/src/x_ite/Parser/OBJParser.js +1076 -0
- package/src/x_ite/Parser/STLAParser.js +376 -0
- package/src/x_ite/Parser/STLBParser.js +156 -0
- package/src/x_ite/Parser/SVGParser.js +2476 -0
- package/src/x_ite/Parser/VRMLParser.js +127 -183
- package/src/x_ite/Parser/X3DOptimizer.js +191 -0
- package/src/x_ite/Parser/X3DParser.js +34 -0
- package/src/x_ite/Parser/XMLParser.js +11 -109
- package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +2 -2
- package/src/x_ite/Prototype/X3DProtoDeclaration.js +3 -3
- package/src/x_ite/Rendering/DependentRenderer.js +1 -1
- package/src/x_ite/Rendering/MultiSampleFrameBuffer.js +150 -0
- package/src/x_ite/Rendering/TextureBuffer.js +3 -5
- package/src/x_ite/Rendering/X3DRenderObject.js +2 -7
- package/src/x_ite/X3D.js +1 -0
- package/src/x_ite/X3DCanvas.js +10 -0
- package/src/x_ite.html +39 -17
- package/webpack.config.js +1 -0
- package/x_ite.min.html +38 -17
- package/src/standard/Networking/BinaryTransport.js +0 -116
|
@@ -3,7 +3,7 @@ title: Adding Backgrounds
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-textures-lights-and-environment
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Background]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -36,7 +36,7 @@ How does the background look like:
|
|
|
36
36
|
|
|
37
37
|
## Syntax: Background
|
|
38
38
|
|
|
39
|
-
A [Background](
|
|
39
|
+
A [Background](../components/environmentaleffects/background) node describes background colors;
|
|
40
40
|
|
|
41
41
|
- *skyColor* and *skyAngle* - sky gradation
|
|
42
42
|
- *groundColor* and *groundAngle* - ground gradation
|
|
@@ -145,7 +145,7 @@ DEF Summer Background {
|
|
|
145
145
|
|
|
146
146
|
## Syntax: Background
|
|
147
147
|
|
|
148
|
-
A [Background](
|
|
148
|
+
A [Background](../components/environmentaleffects/background) node describes background images:
|
|
149
149
|
|
|
150
150
|
- *frontUrl,* etc - texture image URLs for box
|
|
151
151
|
|
|
@@ -3,7 +3,7 @@ title: Adding Fog
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-textures-lights-and-environment
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Fog]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -36,7 +36,7 @@ The visibility range selects the distance where the fog reaches maximum thicknes
|
|
|
36
36
|
|
|
37
37
|
## Syntax: Fog
|
|
38
38
|
|
|
39
|
-
A [Fog](
|
|
39
|
+
A [Fog](../components/environmentaleffects/fog) node creates colored fog
|
|
40
40
|
|
|
41
41
|
- *color* - fog color
|
|
42
42
|
- *fogType* - **LINEAR** or **EXPONENTIAL**
|
|
@@ -3,7 +3,7 @@ title: Adding Sound
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-textures-lights-and-environment
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Sound]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -24,11 +24,11 @@ Sounds have two components:
|
|
|
24
24
|
|
|
25
25
|
## Syntax: AudioClip
|
|
26
26
|
|
|
27
|
-
An [AudioClip](
|
|
27
|
+
An [AudioClip](../components/sound/audioclip) node creates a digital sound source:
|
|
28
28
|
|
|
29
29
|
- *url* - a sound file URL
|
|
30
30
|
- *pitch* - playback speed
|
|
31
|
-
- playback controls, like a [TimeSensor](
|
|
31
|
+
- playback controls, like a [TimeSensor](../components/time/timesensor) node
|
|
32
32
|
|
|
33
33
|
### XML Encoding
|
|
34
34
|
|
|
@@ -59,11 +59,11 @@ Sound {
|
|
|
59
59
|
|
|
60
60
|
## Syntax: MovieTexture
|
|
61
61
|
|
|
62
|
-
A [MovieTexture](
|
|
62
|
+
A [MovieTexture](../components/texturing/movietexture) node creates a movie sound source:
|
|
63
63
|
|
|
64
64
|
- *url* - a texture movie file URL
|
|
65
65
|
- *speed* - playback speed
|
|
66
|
-
- playback controls, like a [TimeSensor](
|
|
66
|
+
- playback controls, like a [TimeSensor](../components/time/timesensor) node
|
|
67
67
|
|
|
68
68
|
### XML Encoding
|
|
69
69
|
|
|
@@ -94,21 +94,21 @@ Sound {
|
|
|
94
94
|
|
|
95
95
|
## Selecting sound source types
|
|
96
96
|
|
|
97
|
-
Supported by the [AudioClip](
|
|
97
|
+
Supported by the [AudioClip](../components/sound/audioclip) node:
|
|
98
98
|
|
|
99
99
|
- MP3 or WAV - digital sound files
|
|
100
100
|
Good for sound effects
|
|
101
101
|
|
|
102
|
-
Supported by the [MovieTexture](
|
|
102
|
+
Supported by the [MovieTexture](../components/texturing/movietexture) node:
|
|
103
103
|
|
|
104
104
|
- MP4 - movie file with sound
|
|
105
105
|
Good for virtual TVs
|
|
106
106
|
|
|
107
107
|
## Syntax: Sound
|
|
108
108
|
|
|
109
|
-
A [Sound](
|
|
109
|
+
A [Sound](../components/sound/sound) node describes a sound emitter:
|
|
110
110
|
|
|
111
|
-
- *source* - [AudioClip](
|
|
111
|
+
- *source* - [AudioClip](../components/sound/audioclip) or [MovieTexture](../components/texturing/movietexture) node
|
|
112
112
|
- *location* and *direction* - emitter placement
|
|
113
113
|
|
|
114
114
|
### XML Encoding
|
|
@@ -131,7 +131,7 @@ Sound {
|
|
|
131
131
|
}
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
-
A [Sound](
|
|
134
|
+
A [Sound](../components/sound/sound) node describes a sound emitter:
|
|
135
135
|
|
|
136
136
|
- *intensity* - volume
|
|
137
137
|
- *spatialize* - use spatialize processing
|
|
@@ -159,7 +159,7 @@ Sound {
|
|
|
159
159
|
}
|
|
160
160
|
```
|
|
161
161
|
|
|
162
|
-
A [Sound](
|
|
162
|
+
A [Sound](../components/sound/sound) node describes a sound emitter:
|
|
163
163
|
|
|
164
164
|
- *minFront, minBack* - inner ellipsoid
|
|
165
165
|
- *maxFront, maxBack* - outer ellipsoid
|
|
@@ -174,12 +174,12 @@ A [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/com
|
|
|
174
174
|
|
|
175
175
|
## Creating triggered sounds
|
|
176
176
|
|
|
177
|
-
[AudioClip](
|
|
177
|
+
[AudioClip](../components/sound/audioclip) node:
|
|
178
178
|
|
|
179
179
|
- *loop* **FALSE**
|
|
180
180
|
- Set *startTime* from a sensor node
|
|
181
181
|
|
|
182
|
-
[Sound](
|
|
182
|
+
[Sound](../components/sound/sound) node:
|
|
183
183
|
|
|
184
184
|
- *spatialize* **TRUE**
|
|
185
185
|
- *minFront* etc. with small values
|
|
@@ -249,13 +249,13 @@ ROUTE C4.touchTime TO PitchC4.set_startTime
|
|
|
249
249
|
|
|
250
250
|
## Creating continuous localized sounds
|
|
251
251
|
|
|
252
|
-
[AudioClip](
|
|
252
|
+
[AudioClip](../components/sound/audioclip) node:
|
|
253
253
|
|
|
254
254
|
- *loop* **TRUE**
|
|
255
255
|
- *startTime* 0.0 (default)
|
|
256
256
|
- *stopTime* 0.0 (default)
|
|
257
257
|
|
|
258
|
-
[Sound](
|
|
258
|
+
[Sound](../components/sound/sound) node:
|
|
259
259
|
|
|
260
260
|
- *spatialize* **TRUE** (default)
|
|
261
261
|
- *minFront* etc. with medium values
|
|
@@ -308,13 +308,13 @@ Transform {
|
|
|
308
308
|
|
|
309
309
|
## Creating continuous background sounds
|
|
310
310
|
|
|
311
|
-
[AudioClip](
|
|
311
|
+
[AudioClip](../components/sound/audioclip) node:
|
|
312
312
|
|
|
313
313
|
- *loop* **TRUE**
|
|
314
314
|
- *startTime* 0.0 (default)
|
|
315
315
|
- *stopTime* 0.0 (default)
|
|
316
316
|
|
|
317
|
-
[Sound](
|
|
317
|
+
[Sound](../components/sound/sound) node:
|
|
318
318
|
|
|
319
319
|
- *spatialize* **FALSE** (default)
|
|
320
320
|
- *minFront* etc. with large values
|
|
@@ -322,12 +322,12 @@ Transform {
|
|
|
322
322
|
|
|
323
323
|
## Summary
|
|
324
324
|
|
|
325
|
-
An [AudioClip](
|
|
325
|
+
An [AudioClip](../components/sound/audioclip) node or a [MovieTexture](../components/texturing/movietexture) node describe a sound source:
|
|
326
326
|
|
|
327
327
|
- A URL gives the sound file
|
|
328
328
|
- Looping, start time, and stop time control playback
|
|
329
329
|
|
|
330
|
-
A [Sound](
|
|
330
|
+
A [Sound](../components/sound/sound) node describes a sound emitter:
|
|
331
331
|
|
|
332
332
|
- A source node provides the sound
|
|
333
333
|
- Range fields describe the sound volume
|
|
@@ -3,7 +3,7 @@ title: Animating Transforms
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-animation-sensors-and-geometry
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Animating, Transforms]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -20,14 +20,14 @@ Animation requires control over time:
|
|
|
20
20
|
|
|
21
21
|
## Controlling time
|
|
22
22
|
|
|
23
|
-
- A [TimeSensor](
|
|
23
|
+
- A [TimeSensor](../components/time/timesensor) node is similar to a stop watch
|
|
24
24
|
- You control the start and stop time
|
|
25
25
|
- The sensor generates time events while it is running
|
|
26
26
|
- To animate, route time events into other nodes
|
|
27
27
|
|
|
28
28
|
## Using absolute time
|
|
29
29
|
|
|
30
|
-
- A [TimeSensor](
|
|
30
|
+
- A [TimeSensor](../components/time/timesensor) node generates absolute and fractional time events
|
|
31
31
|
- Absolute time events give the wall-clock time
|
|
32
32
|
- Absolute time is measured in seconds since 12:00am January 1, 1970!
|
|
33
33
|
- Useful for triggering events at specific dates and times
|
|
@@ -42,7 +42,7 @@ Animation requires control over time:
|
|
|
42
42
|
|
|
43
43
|
## Syntax: TimeSensor
|
|
44
44
|
|
|
45
|
-
- A [TimeSensor](
|
|
45
|
+
- A [TimeSensor](../components/time/timesensor) node generates events based upon time
|
|
46
46
|
- *startTime* and *stopTime* - when to run
|
|
47
47
|
- *cycleInterval* - how long a cycle is
|
|
48
48
|
- *loop* - whether or not to repeat cycles
|
|
@@ -186,7 +186,7 @@ Interpolation fills in values between your key values:
|
|
|
186
186
|
|
|
187
187
|
## Syntax: PositionInterpolator
|
|
188
188
|
|
|
189
|
-
A [PositionInterpolator](
|
|
189
|
+
A [PositionInterpolator](../components/interpolation/positioninterpolator) node describes a position path
|
|
190
190
|
|
|
191
191
|
- *key* - key fractional times
|
|
192
192
|
- *keyValue* - key positions
|
|
@@ -208,7 +208,7 @@ PositionInterpolator {
|
|
|
208
208
|
}
|
|
209
209
|
```
|
|
210
210
|
|
|
211
|
-
Typically route into a [Transform](
|
|
211
|
+
Typically route into a [Transform](../components/grouping/transform) node's *set\_translation* input
|
|
212
212
|
|
|
213
213
|
## Using position interpolatorsolator inputs and outputs
|
|
214
214
|
|
|
@@ -285,7 +285,7 @@ ROUTE Position1.value_changed TO Particle1.set_translation
|
|
|
285
285
|
|
|
286
286
|
## Syntax: OrientationInterpolator
|
|
287
287
|
|
|
288
|
-
A [OrientationInterpolator](
|
|
288
|
+
A [OrientationInterpolator](../components/interpolation/orientationinterpolator) node describes an orientation path
|
|
289
289
|
|
|
290
290
|
- *key* - key fractional times
|
|
291
291
|
- *keyValue* - key rotations (axis and angle)
|
|
@@ -307,11 +307,11 @@ OrientationInterpolator {
|
|
|
307
307
|
}
|
|
308
308
|
```
|
|
309
309
|
|
|
310
|
-
Typically route into a [Transform](
|
|
310
|
+
Typically route into a [Transform](../components/grouping/transform) node's *set\_rotation* input
|
|
311
311
|
|
|
312
312
|
## Syntax: ColorInterpolator
|
|
313
313
|
|
|
314
|
-
[ColorInterpolator](
|
|
314
|
+
[ColorInterpolator](../components/interpolation/colorinterpolator) node describes a color path
|
|
315
315
|
|
|
316
316
|
- *key* - key fractional times
|
|
317
317
|
- *keyValue* - key colors (red, green, blue)
|
|
@@ -333,11 +333,11 @@ ColorInterpolator {
|
|
|
333
333
|
}
|
|
334
334
|
```
|
|
335
335
|
|
|
336
|
-
Typically route into a [Material](
|
|
336
|
+
Typically route into a [Material](../components/shape/material) node's *set\_diffuseColor* or *set\_emissiveColor* inputs
|
|
337
337
|
|
|
338
338
|
## Syntax: ScalarInterpolator
|
|
339
339
|
|
|
340
|
-
[ScalarInterpolator](
|
|
340
|
+
[ScalarInterpolator](../components/interpolation/scalarinterpolator) node describes a scalar path
|
|
341
341
|
|
|
342
342
|
- *key* - key fractional times
|
|
343
343
|
- *keyValue* - key scalars (used for anything)
|
|
@@ -359,11 +359,11 @@ ScalarInterpolator {
|
|
|
359
359
|
}
|
|
360
360
|
```
|
|
361
361
|
|
|
362
|
-
Often route into a [Material](
|
|
362
|
+
Often route into a [Material](../components/shape/material) node's *set\_transparency* input
|
|
363
363
|
|
|
364
364
|
## Summary
|
|
365
365
|
|
|
366
|
-
The [TimeSensor](
|
|
366
|
+
The [TimeSensor](../components/time/timesensor) node's fields control:
|
|
367
367
|
|
|
368
368
|
- Timer start and stop times
|
|
369
369
|
- The cycle interval
|
|
@@ -384,7 +384,7 @@ All interpolatorsolators have:
|
|
|
384
384
|
|
|
385
385
|
Some interpolatorsolators are:
|
|
386
386
|
|
|
387
|
-
- The [PositionInterpolator](
|
|
388
|
-
- The [OrientationInterpolator](
|
|
389
|
-
- The [ColorInterpolator](
|
|
390
|
-
- The [ScalarInterpolator](
|
|
387
|
+
- The [PositionInterpolator](../components/interpolation/positioninterpolator) node converts times to positions (or scales)
|
|
388
|
+
- The [OrientationInterpolator](../components/interpolation/orientationinterpolator) node converts times to rotations
|
|
389
|
+
- The [ColorInterpolator](../components/interpolation/colorinterpolator) node converts times to colors
|
|
390
|
+
- The [ScalarInterpolator](../components/interpolation/scalarinterpolator) node converts times to scalars (such as transparencies)
|
|
@@ -3,7 +3,7 @@ title: Basic Nodes
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-basic
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Basic, Nodes]
|
|
7
7
|
---
|
|
8
8
|
## Overview
|
|
9
9
|
|
|
@@ -72,7 +72,7 @@ Be careful! X3D is a case sensitive language.
|
|
|
72
72
|
|
|
73
73
|
## Key Concept
|
|
74
74
|
|
|
75
|
-
Now we can start to add information to the file. The first node to deal with is the [WorldInfo](
|
|
75
|
+
Now we can start to add information to the file. The first node to deal with is the [WorldInfo](../components/core/worldinfo) node. This node contains general information about the world, such as a *title* for the world. [WorldInfo](../components/core/worldinfo) 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](../components/core/worldinfo) node is shown below:
|
|
76
76
|
|
|
77
77
|
### XML Encoding
|
|
78
78
|
|
|
@@ -98,7 +98,7 @@ You can have multiple strings in the *info* field, by putting them all inside sq
|
|
|
98
98
|
|
|
99
99
|
## Shape
|
|
100
100
|
|
|
101
|
-
A [Shape](
|
|
101
|
+
A [Shape](../components/shape/shape) node is the node to specify material and geometry properties. We add a Shape node to the world now, as shown below.
|
|
102
102
|
|
|
103
103
|
### XML Encoding
|
|
104
104
|
|
|
@@ -126,20 +126,20 @@ Shape {
|
|
|
126
126
|
|
|
127
127
|
There are a lot geometry nodes defined in X3D. The basic geometry nodes are:
|
|
128
128
|
|
|
129
|
-
- [Box](
|
|
130
|
-
- [Cone](
|
|
131
|
-
- [Cylinder](
|
|
132
|
-
- [ElevationGrid](
|
|
133
|
-
- [Extrusion](
|
|
134
|
-
- [IndexedFaceSet](
|
|
135
|
-
- [Sphere](
|
|
136
|
-
- [Text](
|
|
129
|
+
- [Box](../components/geometry3d/box)
|
|
130
|
+
- [Cone](../components/geometry3d/cone)
|
|
131
|
+
- [Cylinder](../components/geometry3d/cylinder)
|
|
132
|
+
- [ElevationGrid](../components/geometry3d/elevationgrid)
|
|
133
|
+
- [Extrusion](../components/geometry3d/extrusion)
|
|
134
|
+
- [IndexedFaceSet](../components/geometry3d/indexedfaceset)
|
|
135
|
+
- [Sphere](../components/geometry3d/sphere)
|
|
136
|
+
- [Text](../components/text/text)
|
|
137
137
|
|
|
138
|
-
The most important to define various geometries is probably the [IndexedFaceSet](
|
|
138
|
+
The most important to define various geometries is probably the [IndexedFaceSet](../components/geometry3d/indexedfaceset) node.
|
|
139
139
|
|
|
140
140
|
## Transform
|
|
141
141
|
|
|
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](
|
|
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](../components/grouping/transform) 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.
|
|
143
143
|
|
|
144
144
|
### XML Encoding
|
|
145
145
|
|
|
@@ -169,7 +169,7 @@ A Transform node can have another Transform nested inside it as a child, which a
|
|
|
169
169
|
|
|
170
170
|
## Anchor
|
|
171
171
|
|
|
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](
|
|
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](../components/networking/anchor) node.
|
|
173
173
|
|
|
174
174
|
### XML Encoding
|
|
175
175
|
|
|
@@ -211,7 +211,7 @@ parameter [ "target=_blank" ]
|
|
|
211
211
|
|
|
212
212
|
## Background
|
|
213
213
|
|
|
214
|
-
There are two ways we can change the background of our scene. One is to specify colors for the [Background](
|
|
214
|
+
There are two ways we can change the background of our scene. One is to specify colors for the [Background](../components/environmentaleffects/background), 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.
|
|
215
215
|
|
|
216
216
|
### XML Encoding
|
|
217
217
|
|
|
@@ -232,7 +232,7 @@ This will display a gray background. You can also make the background transparen
|
|
|
232
232
|
|
|
233
233
|
## Viewpoint
|
|
234
234
|
|
|
235
|
-
To give the world camera another position or orientation there is a [Viewpoint](
|
|
235
|
+
To give the world camera another position or orientation there is a [Viewpoint](../components/navigation/viewpoint) node. The viewpoint node can be placed anywhere within the scene graph.
|
|
236
236
|
|
|
237
237
|
### XML Encoding
|
|
238
238
|
|
|
@@ -251,9 +251,9 @@ DEF LookAtHouse Viewpoint {
|
|
|
251
251
|
}
|
|
252
252
|
```
|
|
253
253
|
|
|
254
|
-
Beside the Viewpoint node there is also an [OrthoViewpoint](
|
|
254
|
+
Beside the Viewpoint node there is also an [OrthoViewpoint](../components/navigation/orthoviewpoint) node to define an orthographic camera.
|
|
255
255
|
|
|
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](
|
|
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](../components/scripting/script) node for that or use a Anchor node with the name of the viewpoint in the *url* field preceded by '#'.
|
|
257
257
|
|
|
258
258
|
### XML Encoding
|
|
259
259
|
|
|
@@ -274,7 +274,7 @@ Anchor {
|
|
|
274
274
|
|
|
275
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.
|
|
276
276
|
|
|
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](
|
|
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](../components/navigation/navigationinfo) node to do that.
|
|
278
278
|
|
|
279
279
|
### XML Encoding
|
|
280
280
|
|
|
@@ -293,20 +293,20 @@ NavigationInfo {
|
|
|
293
293
|
|
|
294
294
|
There are three different light nodes that can be used within a scene.
|
|
295
295
|
|
|
296
|
-
- [DirectionalLight](
|
|
297
|
-
- [PointLight](
|
|
298
|
-
- [SpotLight](
|
|
296
|
+
- [DirectionalLight](../components/lighting/directionallight)
|
|
297
|
+
- [PointLight](../components/lighting/pointlight)
|
|
298
|
+
- [SpotLight](../components/lighting/spotlight)
|
|
299
299
|
|
|
300
|
-
You can place any light node within a grouping node (e.g. [Group](
|
|
300
|
+
You can place any light node within a grouping node (e.g. [Group](../components/grouping/group), [Transform](../components/grouping/transform), [Switch](../components/grouping/switch)) and set the global field to **FALSE** to define a local light.
|
|
301
301
|
|
|
302
302
|
## Grouping Nodes
|
|
303
303
|
|
|
304
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.
|
|
305
305
|
|
|
306
|
-
- [Anchor](
|
|
307
|
-
- [Billboard](
|
|
308
|
-
- [Collision](
|
|
309
|
-
- [Group](
|
|
310
|
-
- [LOD](
|
|
311
|
-
- [Switch](
|
|
312
|
-
- [Transform](
|
|
306
|
+
- [Anchor](../components/networking/anchor)
|
|
307
|
+
- [Billboard](../components/navigation/billboard)
|
|
308
|
+
- [Collision](../components/navigation/collision)
|
|
309
|
+
- [Group](../components/grouping/group)
|
|
310
|
+
- [LOD](../components/navigation/lod)
|
|
311
|
+
- [Switch](../components/grouping/switch)
|
|
312
|
+
- [Transform](../components/grouping/transform)
|
|
@@ -3,7 +3,7 @@ title: Building a X3D World
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-shapes-geometry-and-appearance
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Building, World]
|
|
7
7
|
---
|
|
8
8
|
## X3D file structure
|
|
9
9
|
|
|
@@ -103,7 +103,7 @@ Cylinder {
|
|
|
103
103
|
|
|
104
104
|
- Nodes describe shapes, lights, sounds, etc.
|
|
105
105
|
- Every node has:
|
|
106
|
-
- A node type ([Shape](
|
|
106
|
+
- A node type ([Shape](../components/shape/shape), [Cylinder](../components/geometry3d/cylinder), etc.)
|
|
107
107
|
- A pair of curly-braces
|
|
108
108
|
- Zero or more fields inside the curly-braces
|
|
109
109
|
|
|
@@ -116,7 +116,7 @@ Node type names are case sensitive:
|
|
|
116
116
|
|
|
117
117
|
Some examples:
|
|
118
118
|
|
|
119
|
-
[Appearance](
|
|
119
|
+
[Appearance](../components/shape/appearance), [Cylinder](../components/geometry3d/cylinder), [Material](../components/shape/material), [Shape](../components/shape/shape)
|
|
120
120
|
|
|
121
121
|
## Using fields and values
|
|
122
122
|
|
|
@@ -3,19 +3,19 @@ title: Building Elevation Grids
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-animation-sensors-and-geometry
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Building, Elevation grids]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
10
10
|
- Building terrains is very common
|
|
11
11
|
- Hills, valleys, mountains
|
|
12
12
|
- Other tricky uses...
|
|
13
|
-
- You can build a terrain using an [IndexedFaceSet](
|
|
14
|
-
- You can build terrains more efficiently using an [ElevationGrid](
|
|
13
|
+
- You can build a terrain using an [IndexedFaceSet](../components/geometry3d/indexedfaceset) node
|
|
14
|
+
- You can build terrains more efficiently using an [ElevationGrid](../components/geometry3d/elevationgrid) node
|
|
15
15
|
|
|
16
16
|
## Syntax: ElevationGrid
|
|
17
17
|
|
|
18
|
-
An [ElevationGrid](
|
|
18
|
+
An [ElevationGrid](../components/geometry3d/elevationgrid) geometry node creates terrains:
|
|
19
19
|
|
|
20
20
|
- *xDimension* and *zDimension* - grid size
|
|
21
21
|
- *xSpacing* and *zSpacing* - row and column distances
|
|
@@ -49,7 +49,7 @@ Shape {
|
|
|
49
49
|
}
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
An [ElevationGrid](
|
|
52
|
+
An [ElevationGrid](../components/geometry3d/elevationgrid) geometry node creates terrains:
|
|
53
53
|
|
|
54
54
|
- *height* - elevations at grid points
|
|
55
55
|
|
|
@@ -80,7 +80,7 @@ Shape {
|
|
|
80
80
|
}
|
|
81
81
|
```
|
|
82
82
|
|
|
83
|
-
An [ElevationGrid](
|
|
83
|
+
An [ElevationGrid](../components/geometry3d/elevationgrid) geometry node creates terrains
|
|
84
84
|
|
|
85
85
|
- *solid* - shape is solid
|
|
86
86
|
- *ccw* - faces are counter-clockwise
|
|
@@ -171,7 +171,7 @@ Shape {
|
|
|
171
171
|
|
|
172
172
|
## Summary
|
|
173
173
|
|
|
174
|
-
- An [ElevationGrid](
|
|
174
|
+
- An [ElevationGrid](../components/geometry3d/elevationgrid) node efficiently creates a terrain
|
|
175
175
|
- Grid size is specified in the *xDimension* and *zDimension* fields
|
|
176
176
|
- Grid spacing is specified in the *xSpacing* and *zSpacing* field
|
|
177
177
|
- Elevations at each grid point are specified in the *height* field
|
|
@@ -3,7 +3,7 @@ title: Build Extruded Shapes
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-animation-sensors-and-geometry
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Build, Extruded, Shapes]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -14,8 +14,8 @@ Extruded shapes are very common
|
|
|
14
14
|
|
|
15
15
|
How can you do it:
|
|
16
16
|
|
|
17
|
-
- You can build extruded shapes using an [IndexedFaceSet](
|
|
18
|
-
- You can build extruded shapes more easily and efficiently using an [Extrusion](
|
|
17
|
+
- You can build extruded shapes using an [IndexedFaceSet](../components/geometry3d/indexedfaceset) node.
|
|
18
|
+
- You can build extruded shapes more easily and efficiently using an [Extrusion](../components/geometry3d/extrusion) node.
|
|
19
19
|
|
|
20
20
|
## Creating extruded shapes
|
|
21
21
|
|
|
@@ -31,7 +31,7 @@ Extruded shapes are like long bubbles created with a bubble wand:
|
|
|
31
31
|
|
|
32
32
|
## Syntax: Extrusion
|
|
33
33
|
|
|
34
|
-
An [Extrusion](
|
|
34
|
+
An [Extrusion](../components/geometry3d/extrusion) geometry node creates extruded geometry:
|
|
35
35
|
|
|
36
36
|
- *crossSection* - 2-D cross-section
|
|
37
37
|
- *spine* - 3-D sweep path
|
|
@@ -66,7 +66,7 @@ Shape {
|
|
|
66
66
|
}
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
An [Extrusion](
|
|
69
|
+
An [Extrusion](../components/geometry3d/extrusion) geometry node creates extruded geometry:
|
|
70
70
|
|
|
71
71
|
- *solid* - shape is solid
|
|
72
72
|
- *ccw* - faces are counter-clockwise
|
|
@@ -112,7 +112,7 @@ You can rotate the cross-section along the spine
|
|
|
112
112
|
|
|
113
113
|
## Syntax: Extrusion
|
|
114
114
|
|
|
115
|
-
An [Extrusion](
|
|
115
|
+
An [Extrusion](../components/geometry3d/extrusion) geometry node creates geometry using:
|
|
116
116
|
|
|
117
117
|
- *scale* - cross-section scaling per spine point
|
|
118
118
|
- *orientation* - cross-section rotation per spine point
|
|
@@ -144,7 +144,7 @@ Shape {
|
|
|
144
144
|
|
|
145
145
|
## Summary
|
|
146
146
|
|
|
147
|
-
- An [Extrusion](
|
|
147
|
+
- An [Extrusion](../components/geometry3d/extrusion) node efficiently creates extruded shapes
|
|
148
148
|
- The *crossSection* field specifies the cross-section
|
|
149
149
|
- The *spine* field specifies the sweep path
|
|
150
150
|
- The *scale* and *orientation* fields specify scaling and rotation at each spine point
|