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,22 +3,22 @@ title: Building Primitive Shapes
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-shapes-geometry-and-appearance
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Building, Primitive, Shapes]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
10
10
|
Shapes are the building blocks of a X3D world. Primitive Shapes are standard building blocks:
|
|
11
11
|
|
|
12
|
-
- [Box](
|
|
13
|
-
- [Cone](
|
|
14
|
-
- [Cylinder](
|
|
15
|
-
- [Sphere](
|
|
16
|
-
- [Text](
|
|
17
|
-
- and more from the [CADGeometry](
|
|
12
|
+
- [Box](../components/geometry3d/box)
|
|
13
|
+
- [Cone](../components/geometry3d/cone)
|
|
14
|
+
- [Cylinder](../components/geometry3d/cylinder)
|
|
15
|
+
- [Sphere](../components/geometry3d/sphere)
|
|
16
|
+
- [Text](../components/text/text)
|
|
17
|
+
- and more from the [CADGeometry](../components//cadgeometry)**,** [Geometry2D](../components//geometry2d)**,** and [Rendering](../components//rendering) component
|
|
18
18
|
|
|
19
19
|
## Syntax: Shape
|
|
20
20
|
|
|
21
|
-
- A [Shape](
|
|
21
|
+
- A [Shape](../components/shape/shape) node builds a shape
|
|
22
22
|
- *appearance* - color and texture
|
|
23
23
|
- *geometry* - form, or structure
|
|
24
24
|
|
|
@@ -42,7 +42,7 @@ Shape {
|
|
|
42
42
|
|
|
43
43
|
## Specifying appearance
|
|
44
44
|
|
|
45
|
-
- [Shape](
|
|
45
|
+
- [Shape](../components/shape/shape) appearance is described by appearance nodes
|
|
46
46
|
- For now, we'll use nodes to create a shaded white appearance:
|
|
47
47
|
|
|
48
48
|
### XML Encoding
|
|
@@ -69,7 +69,7 @@ Shape {
|
|
|
69
69
|
|
|
70
70
|
## Specifying geometry
|
|
71
71
|
|
|
72
|
-
[Shape](
|
|
72
|
+
[Shape](../components/shape/shape) geometry is built with geometry nodes:
|
|
73
73
|
|
|
74
74
|
### XML Encoding
|
|
75
75
|
|
|
@@ -206,6 +206,6 @@ Shape {
|
|
|
206
206
|
|
|
207
207
|
## Summary
|
|
208
208
|
|
|
209
|
-
- Shapes are built using a [Shape](
|
|
210
|
-
- [Shape](
|
|
211
|
-
- Text fonts are controlled using a [FontStyle](
|
|
209
|
+
- Shapes are built using a [Shape](../components/shape/shape) node
|
|
210
|
+
- [Shape](../components/shape/shape) geometry is built using geometry nodes, such as [Box](../components/geometry3d/box), [Cone](../components/geometry3d/cone), [Cylinder](../components/geometry3d/cylinder), [Sphere](../components/geometry3d/sphere), and [Text](../components/text/text)
|
|
211
|
+
- Text fonts are controlled using a [FontStyle](../components/text/fontstyle) node
|
|
@@ -3,7 +3,7 @@ title: Building Shapes out of Points, Lines, and Faces
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-animation-sensors-and-geometry
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Building, Shapes, Points, Lines, Faces]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -28,7 +28,7 @@ A coordinate specifies a 3-D dot location. Measured relative to a coordinate sys
|
|
|
28
28
|
|
|
29
29
|
## Syntax: Coordinate
|
|
30
30
|
|
|
31
|
-
A [Coordinate](
|
|
31
|
+
A [Coordinate](../components/rendering/coordinate) node contains a list of coordinates for use in building a shape.
|
|
32
32
|
|
|
33
33
|
### XML Encoding
|
|
34
34
|
|
|
@@ -55,15 +55,15 @@ Coordinate {
|
|
|
55
55
|
|
|
56
56
|
Build coordinate-based shapes using geometry nodes:
|
|
57
57
|
|
|
58
|
-
- [PointSet](
|
|
59
|
-
- [IndexedLineSet](
|
|
60
|
-
- [IndexedFaceSet](
|
|
58
|
+
- [PointSet](../components/rendering/pointset)
|
|
59
|
+
- [IndexedLineSet](../components/rendering/indexedlineset)
|
|
60
|
+
- [IndexedFaceSet](../components/geometry3d/indexedfaceset)
|
|
61
61
|
|
|
62
|
-
For all three nodes, use a [Coordinate](
|
|
62
|
+
For all three nodes, use a [Coordinate](../components/rendering/coordinate) node as the value of the coord field.
|
|
63
63
|
|
|
64
64
|
## Syntax: PointSet
|
|
65
65
|
|
|
66
|
-
A [PointSet](
|
|
66
|
+
A [PointSet](../components/rendering/pointset) geometry node creates geometry out of points:
|
|
67
67
|
|
|
68
68
|
- One point (a dot) is placed at each coordinate
|
|
69
69
|
|
|
@@ -94,7 +94,7 @@ Shape {
|
|
|
94
94
|
|
|
95
95
|
## Syntax: IndexedLineSet
|
|
96
96
|
|
|
97
|
-
An [IndexedLineSet](
|
|
97
|
+
An [IndexedLineSet](../components/rendering/indexedlineset) geometry node creates geometry out of lines:
|
|
98
98
|
|
|
99
99
|
- A straight line is drawn between pairs of selected coordinates
|
|
100
100
|
|
|
@@ -127,7 +127,7 @@ Shape {
|
|
|
127
127
|
|
|
128
128
|
## Using line set coordinate indexes
|
|
129
129
|
|
|
130
|
-
Each coordinate in a [Coordinate](
|
|
130
|
+
Each coordinate in a [Coordinate](../components/rendering/coordinate) node is implicitly numbered
|
|
131
131
|
|
|
132
132
|
- Index 0 is the first coordinate
|
|
133
133
|
- Index **1** is the second coordinate, etc.
|
|
@@ -135,7 +135,7 @@ Each coordinate in a [Coordinate](https://www.web3d.org/documents/specifications
|
|
|
135
135
|
To build a line shape:
|
|
136
136
|
|
|
137
137
|
- Make a list of coordinates, using their indexes
|
|
138
|
-
- List coordinate indexes in the *coordIndex* field of the [IndexedLineSet](
|
|
138
|
+
- List coordinate indexes in the *coordIndex* field of the [IndexedLineSet](../components/rendering/indexedlineset) node
|
|
139
139
|
|
|
140
140
|
A line is drawn between pairs of coordinate indexes:
|
|
141
141
|
|
|
@@ -151,7 +151,7 @@ A line is drawn between pairs of coordinate indexes:
|
|
|
151
151
|
|
|
152
152
|
## Syntax: IndexedFaceSet
|
|
153
153
|
|
|
154
|
-
An [IndexedFaceSet](
|
|
154
|
+
An [IndexedFaceSet](../components/geometry3d/indexedfaceset) geometry node creates geometry out of faces:
|
|
155
155
|
|
|
156
156
|
- A flat face (polygon) is drawn using an outline specified by coordinate indexes
|
|
157
157
|
|
|
@@ -187,7 +187,7 @@ Shape {
|
|
|
187
187
|
To build a face shape
|
|
188
188
|
|
|
189
189
|
- Make a list of coordinates, using their indexes
|
|
190
|
-
- List coordinate indexes in the *coordIndex* field of the [IndexedFaceSet](
|
|
190
|
+
- List coordinate indexes in the *coordIndex* field of the [IndexedFaceSet](../components/geometry3d/indexedfaceset) node
|
|
191
191
|
|
|
192
192
|
A triangle is drawn connecting sequences of coordinate indexes:
|
|
193
193
|
|
|
@@ -204,7 +204,7 @@ A triangle is drawn connecting sequences of coordinate indexes:
|
|
|
204
204
|
|
|
205
205
|
## Syntax: IndexedFaceSet
|
|
206
206
|
|
|
207
|
-
An [IndexedFaceSet](
|
|
207
|
+
An [IndexedFaceSet](../components/geometry3d/indexedfaceset) geometry node creates geometry out of faces:
|
|
208
208
|
|
|
209
209
|
- *solid* - shape is solid
|
|
210
210
|
- *ccw* - faces are counter-clockwise
|
|
@@ -257,7 +257,7 @@ Faces are assumed to be convex
|
|
|
257
257
|
|
|
258
258
|
## Syntax: CoordinateInterpolator
|
|
259
259
|
|
|
260
|
-
A [CoordinateInterpolator](
|
|
260
|
+
A [CoordinateInterpolator](../components/interpolation/coordinateinterpolator) node describes a coordinate path:
|
|
261
261
|
|
|
262
262
|
- *keys* - key fractions
|
|
263
263
|
- *keyValues* - key coordinate lists (X, Y, Z lists)
|
|
@@ -279,11 +279,11 @@ CoordinateInterpolator {
|
|
|
279
279
|
}
|
|
280
280
|
```
|
|
281
281
|
|
|
282
|
-
Typically route into a [Coordinate](
|
|
282
|
+
Typically route into a [Coordinate](../components/rendering/coordinate) node's set\_point input.
|
|
283
283
|
|
|
284
284
|
## Interpolating coordinate lists
|
|
285
285
|
|
|
286
|
-
A [CoordinateInterpolator](
|
|
286
|
+
A [CoordinateInterpolator](../components/interpolation/coordinateinterpolator) node interpolates lists of coordinates:
|
|
287
287
|
|
|
288
288
|
- Each output is a list of coordinates
|
|
289
289
|
|
|
@@ -294,22 +294,22 @@ If n output coordinates are needed for t fractional times:
|
|
|
294
294
|
## Summary
|
|
295
295
|
|
|
296
296
|
- Shapes are built by connecting together coordinates
|
|
297
|
-
- Coordinates are listed in a [Coordinate](
|
|
297
|
+
- Coordinates are listed in a [Coordinate](../components/rendering/coordinate) node
|
|
298
298
|
- Coordinates are implicitly numbers starting at 0
|
|
299
299
|
- Coordinate index lists give the order in which to use coordinates
|
|
300
300
|
|
|
301
|
-
The [PointSet](
|
|
301
|
+
The [PointSet](../components/rendering/pointset) node draws a dot at every coordinate:
|
|
302
302
|
|
|
303
303
|
- The *coord* field value is a Coordinate node
|
|
304
304
|
|
|
305
|
-
The [IndexedLineSet](
|
|
305
|
+
The [IndexedLineSet](../components/rendering/indexedlineset) node draws lines between coordinates:
|
|
306
306
|
|
|
307
307
|
- The *coord* field value is a Coordinate node
|
|
308
308
|
- The *coordIndex* field value is a list of coordinate indexes
|
|
309
309
|
|
|
310
|
-
The [IndexedFaceSet](
|
|
310
|
+
The [IndexedFaceSet](../components/geometry3d/indexedfaceset) node draws faces outlined by coordinates:
|
|
311
311
|
|
|
312
312
|
- The *coord* field value is a Coordinate node
|
|
313
313
|
- The *coordIndex* field value is a list of coordinate indexes
|
|
314
314
|
|
|
315
|
-
The [CoordinateInterpolator](
|
|
315
|
+
The [CoordinateInterpolator](../components/interpolation/coordinateinterpolator) node converts times to coordinates.
|
|
@@ -3,7 +3,7 @@ title: Controlling Appearance with Materials
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-shapes-geometry-and-appearance
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Controlling, Appearance, Materials]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -19,7 +19,7 @@ You can control a shape's
|
|
|
19
19
|
|
|
20
20
|
## Syntax: Shape
|
|
21
21
|
|
|
22
|
-
Recall that [Shape](
|
|
22
|
+
Recall that [Shape](../components/shape/shape) nodes describe:
|
|
23
23
|
|
|
24
24
|
- *appearance* - color and texture
|
|
25
25
|
- *geometry* - form, or structure
|
|
@@ -44,7 +44,7 @@ Shape {
|
|
|
44
44
|
|
|
45
45
|
## Syntax: Appearance
|
|
46
46
|
|
|
47
|
-
An [Appearance](
|
|
47
|
+
An [Appearance](../components/shape/appearance) node describes overall shape appearance
|
|
48
48
|
|
|
49
49
|
- *material* properties - color, transparency, etc.
|
|
50
50
|
|
|
@@ -72,7 +72,7 @@ Shape {
|
|
|
72
72
|
|
|
73
73
|
## Syntax: Material
|
|
74
74
|
|
|
75
|
-
A [Material](
|
|
75
|
+
A [Material](../components/shape/material) node controls shape material attributes
|
|
76
76
|
|
|
77
77
|
- *diffuseColor* - main shading color
|
|
78
78
|
- *emissiveColor* - glowing color
|
|
@@ -130,7 +130,7 @@ Colors specify:
|
|
|
130
130
|
|
|
131
131
|
## Syntax: Material
|
|
132
132
|
|
|
133
|
-
A [Material](
|
|
133
|
+
A [Material](../components/shape/material) node also controls shape shininess
|
|
134
134
|
|
|
135
135
|
- *specularColor* - highlightcolor
|
|
136
136
|
- *shininess* - highlightsize
|
|
@@ -182,9 +182,9 @@ Shape {
|
|
|
182
182
|
|
|
183
183
|
## Summary
|
|
184
184
|
|
|
185
|
-
The [Appearance](
|
|
185
|
+
The [Appearance](../components/shape/appearance) node controls overall shape appearance
|
|
186
186
|
|
|
187
|
-
The [Material](
|
|
187
|
+
The [Material](../components/shape/material) node controls overall material properties including:
|
|
188
188
|
|
|
189
189
|
- Shading color
|
|
190
190
|
- Glow color
|
|
@@ -3,16 +3,16 @@ title: Controlling Color on Coordinate-Based Geometry
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-animation-sensors-and-geometry
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Controlling, Color, Coordinate, Geometry]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
10
|
-
- The [Material](
|
|
11
|
-
- You can provide colors for individual parts of a shape using a [Color](
|
|
10
|
+
- The [Material](../components/shape/material) node gives an entire shape the same color
|
|
11
|
+
- You can provide colors for individual parts of a shape using a [Color](../components/rendering/color) node
|
|
12
12
|
|
|
13
13
|
## Syntax: Color
|
|
14
14
|
|
|
15
|
-
A [Color](
|
|
15
|
+
A [Color](../components/rendering/color) node contains a list of RGB values (similar to a Coordinate node):
|
|
16
16
|
|
|
17
17
|
### XML Encoding
|
|
18
18
|
|
|
@@ -29,7 +29,7 @@ Color {
|
|
|
29
29
|
}
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
Used as the color field value of [IndexedFaceSet](
|
|
32
|
+
Used as the color field value of [IndexedFaceSet](../components/geometry3d/indexedfaceset), [IndexedLineSet](../components/rendering/indexedlineset), [PointSet](../components/rendering/pointset) or [ElevationGrid](../components/geometry3d/elevationgrid) nodes.
|
|
33
33
|
|
|
34
34
|
## Binding colors
|
|
35
35
|
|
|
@@ -40,7 +40,7 @@ Used as the color field value of [IndexedFaceSet](https://www.web3d.org/document
|
|
|
40
40
|
|
|
41
41
|
## Syntax: PointSet
|
|
42
42
|
|
|
43
|
-
A [PointSet](
|
|
43
|
+
A [PointSet](../components/rendering/pointset) geometry node creates geometry out of points:
|
|
44
44
|
|
|
45
45
|
- *color* - provides a list of colors
|
|
46
46
|
- Always binds one color to each point, in order
|
|
@@ -71,7 +71,7 @@ Shape {
|
|
|
71
71
|
|
|
72
72
|
## Syntax: IndexedLineSet
|
|
73
73
|
|
|
74
|
-
An [IndexedLineSet](
|
|
74
|
+
An [IndexedLineSet](../components/rendering/indexedlineset) geometry node creates geometry out of lines:
|
|
75
75
|
|
|
76
76
|
- *color* - list of colors
|
|
77
77
|
- *colorIndex* - selects colors from list
|
|
@@ -116,7 +116,7 @@ The *colorPerVertex* field controls how color indexes are used:
|
|
|
116
116
|
|
|
117
117
|
## Syntax: IndexedFaceSet
|
|
118
118
|
|
|
119
|
-
An [IndexedFaceSet](
|
|
119
|
+
An [IndexedFaceSet](../components/geometry3d/indexedfaceset) geometry node creates geometry out of faces:
|
|
120
120
|
|
|
121
121
|
- *color* - list of colors
|
|
122
122
|
- *colorIndex* - selects colors from list
|
|
@@ -161,7 +161,7 @@ The *colorPerVertex* field controls how color indexes are used (similar to line
|
|
|
161
161
|
|
|
162
162
|
## Syntax: ElevationGrid
|
|
163
163
|
|
|
164
|
-
An [ElevationGrid](
|
|
164
|
+
An [ElevationGrid](../components/geometry3d/elevationgrid) geometry node creates terrains:
|
|
165
165
|
|
|
166
166
|
- *color* - list of colors
|
|
167
167
|
- *colorPerVertex* - control color binding
|
|
@@ -204,10 +204,10 @@ The *colorPerVertex* field controls how color indexes are used (similar to line
|
|
|
204
204
|
|
|
205
205
|
## Summary
|
|
206
206
|
|
|
207
|
-
The [Color](
|
|
207
|
+
The [Color](../components/rendering/color) node lists colors to use for parts of a shape:
|
|
208
208
|
|
|
209
209
|
- Used as the value of the color field
|
|
210
210
|
- Color indexes select colors to use
|
|
211
|
-
- Colors override [Material](
|
|
211
|
+
- Colors override [Material](../components/shape/material) node
|
|
212
212
|
|
|
213
213
|
The *colorPerVertex* field selects color per line/face/grid square or color per coordinate.
|
|
@@ -3,7 +3,7 @@ title: Controlling Detail
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-scripts-and-prototypes
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Controlling, Detail]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -29,14 +29,14 @@ Usually, two or three different versions is enough, but you can have as many as
|
|
|
29
29
|
|
|
30
30
|
## Controlling level of detail
|
|
31
31
|
|
|
32
|
-
Group the shape versions as levels in an [LOD](
|
|
32
|
+
Group the shape versions as levels in an [LOD](../components/navigation/lod) grouping node:
|
|
33
33
|
|
|
34
34
|
- LOD is short for Level of Detail
|
|
35
35
|
- List them from highest to lowest detail
|
|
36
36
|
|
|
37
37
|
## Syntax: LOD
|
|
38
38
|
|
|
39
|
-
An [LOD](
|
|
39
|
+
An [LOD](../components/navigation/lod) grouping node creates a group of shapes describing different levels (versions) of the same shape:
|
|
40
40
|
|
|
41
41
|
- *center* - the center of the shape
|
|
42
42
|
- *range* - a list of level switch ranges
|
|
@@ -131,7 +131,7 @@ Increase performance by making multiple levels of shapes:
|
|
|
131
131
|
- High detail for close up viewing
|
|
132
132
|
- Lower detail for more distant viewing
|
|
133
133
|
|
|
134
|
-
Group the levels in an [LOD](
|
|
134
|
+
Group the levels in an [LOD](../components/navigation/lod) node:
|
|
135
135
|
|
|
136
136
|
- Ordered from high detail to low detail
|
|
137
137
|
- Ranges to select switching distances
|
|
@@ -3,7 +3,7 @@ title: Controlling How Textures are Mapped
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-textures-lights-and-environment
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Controlling, Textures, Mapped]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -74,7 +74,7 @@ Bind the texture to a face (stretch the cookie and stick it):
|
|
|
74
74
|
|
|
75
75
|
## Syntax: TextureCoordinate
|
|
76
76
|
|
|
77
|
-
A [TextureCoordinate](
|
|
77
|
+
A [TextureCoordinate](../components/texturing/texturecoordinate) node contains a list of texture coordinates:
|
|
78
78
|
|
|
79
79
|
### XML Encoding
|
|
80
80
|
|
|
@@ -91,11 +91,11 @@ TextureCoordinate {
|
|
|
91
91
|
}
|
|
92
92
|
```
|
|
93
93
|
|
|
94
|
-
Used as the *texCoord* field value of [IndexedFaceSet](
|
|
94
|
+
Used as the *texCoord* field value of [IndexedFaceSet](../components/geometry3d/indexedfaceset) or [ElevationGrid](../components/geometry3d/elevationgrid) nodes.
|
|
95
95
|
|
|
96
96
|
## Syntax: IndexedFaceSet
|
|
97
97
|
|
|
98
|
-
An [IndexedFaceSet](
|
|
98
|
+
An [IndexedFaceSet](../components/geometry3d/indexedfaceset) geometry node creates geometry out of faces:
|
|
99
99
|
|
|
100
100
|
- texCoord and texCoordIndex - specify texture pieces
|
|
101
101
|
|
|
@@ -129,7 +129,7 @@ Shape {
|
|
|
129
129
|
|
|
130
130
|
## Syntax: ElevationGrid
|
|
131
131
|
|
|
132
|
-
An [ElevationGrid](
|
|
132
|
+
An [ElevationGrid](../components/geometry3d/elevationgrid) geometry node creates terrains:
|
|
133
133
|
|
|
134
134
|
- *texCoord* - specify texture pieces
|
|
135
135
|
- Automatically generated texture coordinate indexes
|
|
@@ -160,7 +160,7 @@ Shape {
|
|
|
160
160
|
|
|
161
161
|
## Syntax: Appearance
|
|
162
162
|
|
|
163
|
-
An [Appearance](
|
|
163
|
+
An [Appearance](../components/shape/appearance) node describes overall shape appearance:
|
|
164
164
|
|
|
165
165
|
- *textureTransform* - transform
|
|
166
166
|
|
|
@@ -192,7 +192,7 @@ Shape {
|
|
|
192
192
|
|
|
193
193
|
## Syntax: TextureTransform
|
|
194
194
|
|
|
195
|
-
A [TextureTransform](
|
|
195
|
+
A [TextureTransform](../components/texturing/texturetransform) node transforms texture coordinates:
|
|
196
196
|
|
|
197
197
|
- *translation* - position
|
|
198
198
|
- *rotation* - orientation
|
|
@@ -3,7 +3,7 @@ title: Controlling Navigation
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-textures-lights-and-environment
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Controlling, Navigation]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -35,11 +35,11 @@ Some browsers support additional navigation types.
|
|
|
35
35
|
- By default, a headlight is placed on the avatar's head and aimed in the head direction
|
|
36
36
|
- You can turn this headlight on and off
|
|
37
37
|
- Most browsers provide a menu option to control the headlight
|
|
38
|
-
- You can also control the headlight with the [NavigationInfo](
|
|
38
|
+
- You can also control the headlight with the [NavigationInfo](../components/navigation/navigationinfo) node
|
|
39
39
|
|
|
40
40
|
## Syntax: NavigationInfo
|
|
41
41
|
|
|
42
|
-
A [NavigationInfo](
|
|
42
|
+
A [NavigationInfo](../components/navigation/navigationinfo) node selects the navigation type and avatar characteristics:
|
|
43
43
|
|
|
44
44
|
- *type* - navigation style
|
|
45
45
|
- *avatarSize* and speed - avatar characteristics
|
|
@@ -3,7 +3,7 @@ title: Controlling Shading on Coordinate-Based Geometry
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-animation-sensors-and-geometry
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Controlling, Shading, Coordinate, Geometry]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -18,9 +18,9 @@ By default, faces are drawn with faceted shading.
|
|
|
18
18
|
|
|
19
19
|
You can enable smooth shading using the creaseAngle field for:
|
|
20
20
|
|
|
21
|
-
- [IndexedFaceSet](
|
|
22
|
-
- [ElevationGrid](
|
|
23
|
-
- [Extrusion](
|
|
21
|
+
- [IndexedFaceSet](../components/geometry3d/indexedfaceset)
|
|
22
|
+
- [ElevationGrid](../components/geometry3d/elevationgrid)
|
|
23
|
+
- [Extrusion](../components/geometry3d/extrusion)
|
|
24
24
|
|
|
25
25
|
## Selecting crease angles
|
|
26
26
|
|
|
@@ -37,7 +37,7 @@ A normal vector indicates the direction a face is facing
|
|
|
37
37
|
|
|
38
38
|
By default, normals are automatically generated by the X3D browser:
|
|
39
39
|
|
|
40
|
-
- You can specify your own normals with a [Normal](
|
|
40
|
+
- You can specify your own normals with a [Normal](../components/rendering/normal) node
|
|
41
41
|
- Usually automatically generated normals are good enough
|
|
42
42
|
|
|
43
43
|
## Syntax: Normal
|
|
@@ -59,11 +59,11 @@ Normal {
|
|
|
59
59
|
}
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
Normals can be given for [IndexedFaceSet](
|
|
62
|
+
Normals can be given for [IndexedFaceSet](../components/geometry3d/indexedfaceset) and [ElevationGrid](../components/geometry3d/elevationgrid) nodes.
|
|
63
63
|
|
|
64
64
|
## Syntax: IndexedFaceSet
|
|
65
65
|
|
|
66
|
-
An [IndexedFaceSet](
|
|
66
|
+
An [IndexedFaceSet](../components/geometry3d/indexedfaceset) geometry node creates geometry out of faces:
|
|
67
67
|
|
|
68
68
|
- *normal* - list of normals
|
|
69
69
|
- *normalIndex* - selects normals from list
|
|
@@ -108,7 +108,7 @@ The *normalPerVertex* field controls how normal indexes are used
|
|
|
108
108
|
|
|
109
109
|
## Syntax: ElevationGrid
|
|
110
110
|
|
|
111
|
-
An [ElevationGrid](
|
|
111
|
+
An [ElevationGrid](../components/geometry3d/elevationgrid) geometry node creates terrains:
|
|
112
112
|
|
|
113
113
|
- *normal* - list of normals
|
|
114
114
|
- *normalPerVertex* - control normal binding
|
|
@@ -149,11 +149,11 @@ The *normalPerVertex* field controls how normal indexes are used (similar to fac
|
|
|
149
149
|
|
|
150
150
|
## Syntax: NormalInterpolator
|
|
151
151
|
|
|
152
|
-
A [NormalInterpolator](
|
|
152
|
+
A [NormalInterpolator](../components/interpolation/normalinterpolator) node describes a normal set:
|
|
153
153
|
|
|
154
154
|
- *keys* - key fractions
|
|
155
155
|
- *keyValues* - key normal lists (X,Y,Z lists)
|
|
156
|
-
- Interpolates lists of normals, similar to the [CoordinateInterpolator](
|
|
156
|
+
- Interpolates lists of normals, similar to the [CoordinateInterpolator](../components/interpolation/coordinateinterpolator)
|
|
157
157
|
|
|
158
158
|
### XML Encoding
|
|
159
159
|
|
|
@@ -172,14 +172,14 @@ NormalInterpolator {
|
|
|
172
172
|
}
|
|
173
173
|
```
|
|
174
174
|
|
|
175
|
-
Typically route into a [Normal](
|
|
175
|
+
Typically route into a [Normal](../components/rendering/normal) node's set\_vector input.
|
|
176
176
|
|
|
177
177
|
## Summary
|
|
178
178
|
|
|
179
179
|
- The *creaseAngle* field controls faceted or smooth shading
|
|
180
|
-
- The [Normal](
|
|
180
|
+
- The [Normal](../components/rendering/normal) node lists normal vectors to use for parts of a shape
|
|
181
181
|
- Used as the value of the normal field
|
|
182
182
|
- Normal indexes select normals to use
|
|
183
183
|
- Normals override *creaseAngle* value
|
|
184
184
|
- The *normalPerVertex* field selects normal per face/grid square or normal per coordinate
|
|
185
|
-
- The [NormalInterpolator](
|
|
185
|
+
- The [NormalInterpolator](../components/interpolation/normalinterpolator) node converts times to normals
|
|
@@ -3,7 +3,7 @@ title: Controlling the Viewpoint
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-textures-lights-and-environment
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Controlling, Viewpoint]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -21,7 +21,7 @@ tags: [controlling, viewpoint]
|
|
|
21
21
|
|
|
22
22
|
## Syntax: Viewpoint
|
|
23
23
|
|
|
24
|
-
A [Viewpoint](
|
|
24
|
+
A [Viewpoint](../components/navigation/viewpoint) node specifies a named viewing location:
|
|
25
25
|
|
|
26
26
|
- *position* and *orientation* - viewing location
|
|
27
27
|
- *fieldOfView* - camera lens angle
|
|
@@ -50,5 +50,5 @@ Viewpoint {
|
|
|
50
50
|
|
|
51
51
|
## Summary
|
|
52
52
|
|
|
53
|
-
- Specify favorite viewpoints in [Viewpoint](
|
|
53
|
+
- Specify favorite viewpoints in [Viewpoint](../components/navigation/viewpoint) nodes
|
|
54
54
|
- The first viewpoint in the file is the entry viewpoint
|
|
@@ -3,7 +3,7 @@ title: Creating New Node Types
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-scripts-and-prototypes
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Creating, Node, Types]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -177,9 +177,9 @@ BouncingBall {
|
|
|
177
177
|
|
|
178
178
|
Recall that node use must be appropriate for the context:
|
|
179
179
|
|
|
180
|
-
- A [Shape](
|
|
181
|
-
- A [Material](
|
|
182
|
-
- A [Box](
|
|
180
|
+
- A [Shape](../components/shape/shape) node specifies shape, not color
|
|
181
|
+
- A [Material](../components/shape/material) node specifies color, not shape
|
|
182
|
+
- A [Box](../components/geometry3d/box) node specifies geometry, not shape or color
|
|
183
183
|
|
|
184
184
|
The context for a new node type depends upon the first node in the **PROTO** body.
|
|
185
185
|
|