X3D Example Archives: Basic, development

Additive Subtractive Light example

These scene examples support specification development, player implementations, and demonstration of exemplar X3D capabilities.

These scenes help to demonstrate trial technology and develop new nodes for the X3D Specifications. They support the efforts of the X3D Working Group.

  85 X3D Models       X3D Model Descriptions
   AdditiveSubtractiveLight AdditiveSubtractiveLight This example tests various color combination capabilities, and also demonstrating that filtering (negative colors) are not supported in the X3D/VRML color model. Discussion follows. There are 2 ways to combine colors: Additive (e.g. a TV screen, overlapping spotlights, or pointillist art), for example [red + green = yellow] [1 0 0 + 0 1 0 = 1 1 0]. Subtractive (e.g. mixing paints or stacking filters), for example [white background + yellow filter + cyan filter = green] [1 1 1 + 0 0 -1 + -1 0 0 = 0 1 0].
   AllVrml97Nodes AllVrml97Nodes List all VRML nodes in a single nonrendering scene as a convenient simple test for translation programs. Used for early development of X3D-Edit and Xj3D.
   AmelaExampleScene AmelaExampleScene Amela example developed at VRST 99. Place mouse over geometry to light the Cylinder. PointLight is coincident with the Sphere.
   Arc2dComponentPrototype Arc2dComponentPrototype X3D Geometry2D component node, implemented as prototype for backwards compatibility with VRML 97. Arc2D specifies a 2D linear circular arc.
   BooleanSequencerExample BooleanSequencerExample This example shows how to use the BooleanSequencer prototype in an animated scenario.
   BooleanSequencerPrototype BooleanSequencerPrototype BooleanSequencer is modeled after ScalarInterpolator and generates true or false values.
   BradenPrototypeInitializeExample BradenPrototypeInitializeExample Default color red, overridden color green: example answer to email question showing how to initialize a node field when creating a ProtoInstance.
   CameraExamples CameraExamples Camera, CameraShot and CameraMove examples that demonstrate storyboard capabilities and precise camera operation. This is a developmental effort for potential X3D Specification improvement.
   CameraPrototypes CameraPrototypes Camera, CameraShot and CameraMovement prototypes that demonstrate storyboard capabilities and precise camera operation. This is a developmental effort for potential X3D Specification improvement.
   CameraShape CameraShape Simple video camera shape
   CoordinateInterpolator2dExample CoordinateInterpolator2dExample Example to interpolate a Vector2FloatArray - click geometry to activate animation loop.
   CoordinateInterpolator2dPrototype CoordinateInterpolator2dPrototype CoordinateInterpolator2D prototype declaration, to interpolate across an array of Vector2FloatArray/MFVec2f values to produce an interpolated Vector2FloatArray - click text to see example.
   ECMAScriptAnnexExample2 ECMAScriptAnnexExample2 A simple script example with no visible rendering results.
   EventUtilityExamples EventUtilityExamples Event utility node examples for boolean filtering and other event utility nodes.
   EventUtilityPrototypes EventUtilityPrototypes Event utility node prototypes for boolean filtering and other event utility nodes.
   ExampleExternPrototype1 ExampleExternPrototype1 Show example ExternProto syntax for a nonexistent prototype with simple-type fields.
   ExampleExternPrototype2 ExampleExternPrototype2 Show example ExternProto syntax for a nonexistent prototype with node-type fields.
   Geometry2dComponentExamples Geometry2dComponentExamples Examples showing native use of X3D Geometry2D component nodes (Arc2D ArcClose2D Circle2D Disk2D Polyline2D Polypoint2D Rectangle2D TriangleSet2D), implemented as prototypes for backwards compatibility with VRML 97. Also provides Unfilled ProtoInstance versions of some nodes since FillProperties not possible in VRML 97. 2D nodes are considered particularly helpful for CADPart geometry and building user interfaces such as Heads-Up Displays (HUDs).
   Geometry2dComponentExternProtos Geometry2dComponentExternProtos ExternProto declarations and examples for developmental use showing X3D Geometry2D component nodes (Arc2D ArcClose2D Circle2D Disk2D Polyline2D Polypoint2D Rectangle2D TriangleSet2D), implemented as prototypes for backwards compatibility with VRML 97. Also provides Unfilled ProtoInstance versions of some nodes since FillProperties not possible in VRML 97. 2D nodes are considered particularly helpful for CADPart geometry and building user interfaces such as Heads-Up Displays (HUDs).
   Geometry2dComponentPrototypes Geometry2dComponentPrototypes X3D Geometry2D component nodes, implemented as prototypes for developmental use to provide backwards compatibility with VRML 97. Arc2D specifies a 2D linear circular arc. ArcClose2D specifies a portion of a circle. Circle2D specifies a 2D circular line. Disk2D specifies a 2D circular disk. Polyline2D specifies 2D line segments. Polypoint2D specifies 2D point array. Rectangle2D specifies a 2D rectangle. TriangleSet2D specifies 2D triangles. 2D nodes are considered particularly helpful for CADPart geometry and building user interfaces such as Heads-Up Displays (HUDs).
   HeaderExample HeaderExample Nonrendering example showing X3D profile and component definitions.
   HelloSiggraph2000 HelloSiggraph2000 A simple VRML/X3D scene-graph example.
   HelloSiggraph2003 HelloSiggraph2003 A simple VRML/X3D scene graph example for May 2000 WWW symposium.
   HelloWorld HelloWorld Simple X3D example
   HelloWWW9 HelloWWW9 A simple VRML/X3D scene graph example for May 2000 WWW symposium.
   HelloX3dDay2001 HelloX3dDay2001 A simple VRML/X3D scene-graph example.
   HelloX3dTrademark HelloX3dTrademark Simple example showing spinning globe and X3D™ trademark text. X3D (tm) is a trademark of the Web3D Consortium Inc. X3D stands for Extensible 3D Graphics (X3D), an encoding of VRML using XML. X3D has been defined since 1998. Trademark registration pending. VRML is the Virtual Reality Modeling Language (VRML), International Standard ISO/IEC 14772-1:1997. XML is the Extensible Markup Language (XML), a Recommendation of the World Wide Web Consortium (W3C).
   ImportExportSyntax ImportExportSyntax Demonstrate IMPORT/EXPORT syntax. Better examples needed, split across 2 files for separate IMPORT and EXPORT.
   IntegerSequencerExample IntegerSequencerExample This example shows how to use the IntegerSequencer prototype in an animated scenario.
   IntegerSequencerPrototype IntegerSequencerPrototype This proto, modeled after a ScalarInterpolator, generates an array of integer values based on the input fraction and keys.
   KeySensorActivationKeySwitchTest KeySensorActivationKeySwitchTest A simple scene to show KeySensor functionality using Text nodes.
   KeySensorActivationKeySwitchTestInteractive KeySensorActivationKeySwitchTestInteractive A simple developmental model to show KeySensor functionality using Interactive Profile.
   KeySensorActivationKeySwitchTestInterchange KeySensorActivationKeySwitchTestInterchange A simple scene to show KeySensor functionality using Core Profile.
   LfovDisplayExemplars LfovDisplayExemplars Simple X3D example
   LoadSensorExample LoadSensorExample LoadSensor test: default initial view means no functionality, active view means load in progress, final view means LoadSensor (and loading) success.
   LoadSensorPrototype LoadSensorPrototype LoadSensor prototype for VRML 97 use. Assumes correct loading of resources and provides output events based on timeOut delay.
   LODlevelChangedExample LODlevelChangedExample Example use of (proposed) LOD level_changed outputOnly field to trigger loading of Inline nodes in subsequent levels.
   MaterialExample MaterialExample Material node example for X3D-Edit MaterialEditor, which uses Scene Access Interface (SAI) externally to select/deselect different shapes, axes and lights while modifying Material values.
   MetadataExamples MetadataExamples Examples showing use of new X3D Metadata nodes in Core component (MetadataDouble MetadataFloat MetadataInteger MetadataSet MetadataString). Also provided: external prototype definitions for backwards compatibility with VRML 97.
   MetadataPrototypes MetadataPrototypes New X3D Metadata nodes in Core component (MetadataBoolean MetadataDouble MetadataFloat MetadataInteger MetadataSet MetadataString) implemented as prototypes for backwards compatibility with VRML 97.
   Orbiter Orbiter A simple VRML/X3D scene graph example, used to illustrate and discuss schema suitability for X3D.
   PhysicalUnitRepresentationPrototypes PhysicalUnitRepresentationPrototypes Prototypes to demonstrate functionality for Real-Length Representation nodes.
   PixelTextureInterpolatorPrototype PixelTextureInterpolatorPrototype Create Script prototype to modify a PixelTexture as an image morph
   PositionInterpolator2dExample PositionInterpolator2dExample Example to interpolate a Vector2Float value - click geometry to activate animation loop.
   PositionInterpolator2dPrototype PositionInterpolator2dPrototype PositionInterpolator2D prototype declaration to pairwise interpolate across an array of Vector2Float/SFVec2f values to produce a single Vector2Float value - click text to see example.
   ProfileExampleInterchange ProfileExampleInterchange List of nodes available in a strictly compliant Interchange profile scene. Only Background renders in this example, other nodes have null values.
   ProtoInstanceExample ProtoInstanceExample Simple PROTO example, includes Node as a field for PROTO
   ProtoMFNodeSensorExample ProtoMFNodeSensorExample Nonrendering test scene for sensor relationships inside a prototype declaration to verify multiple MFNode relationships.
   ProtoTagDtdDeclarationExamples ProtoTagDtdDeclarationExamples Provides Prototype XML-tag-definition examples to demonstrate DTD modularization and extensibility in X3D scenes. Also see SpinGroupInternalSubsetDeclaration.x3d
   ProxyShapeExample ProxyShapeExample Collision node, child test case: can reorder children nodes as Shape Proxy Shape or other variations without problems in XML encoding, but reordering difficulties can occur in other programming language bindings.
   QuadTreeExamples QuadTreeExamples Show four ways of solving the QuadTree problem using native XML tags, PROTOs, IDREF/USE and MFNode children compatibly - view XML source to see DTD internal-subset declarations.
   RenderingComponentExamples RenderingComponentExamples Examples showing use of new X3D Rendering component nodes (IndexedTriangleFanSet IndexedTriangleSet IndexedTriangleStripSet LineSet TriangleFanSet TriangleSet TriangleStripSet), implemented as prototypes for backwards compatibility with VRML 97.
   RenderingComponentExternProtoDefinitions RenderingComponentExternProtoDefinitions Examples showing use of new X3D Rendering component nodes (IndexedTriangleFanSet IndexedTriangleSet IndexedTriangleStripSet LineSet TriangleFanSet TriangleSet TriangleStripSet), implemented as prototypes for backwards compatibility with VRML 97.
   RenderingComponentPrototypes RenderingComponentPrototypes Prototype implementations of X3D Rendering component nodes (IndexedTriangleFanSet IndexedTriangleSet IndexedTriangleStripSet LineSet TriangleFanSet TriangleSet TriangleStripSet) implemented as prototypes for backwards compatibility with VRML 97.
   SceneNodePrototype SceneNodePrototype Expose functionality of Browser class in Java/ECMAscript annexes of VRML 97 specification. Consider promotion to a native node in X3D/VRML 200x scenes.
   SchemaTest SchemaTest Test scene for obscure schema validation cases.
   ScriptSyntaxExampleTest ScriptSyntaxExampleTest Script node syntax example, testing sample values of various types with simple escaping of apostrophe and quotation mark characters, with results shown on Browser console output.
   ShapeChildRoutingExample ShapeChildRoutingExample Show routing of a node as an input to a Script - success shows a Sphere, failure shows a Box.
   SpinGroupInternalSubsetDeclaration SpinGroupInternalSubsetDeclaration SpinGroup PROTO example content to test DTD modularization and extensibility - view XML source to see DTD internal-subset declarations.
   TestColorCount TestColorCount Scene to test detection of mismatched color-value size by translation stylesheet X3dToVrml97.xslt
   TestContainerFieldValues TestContainerFieldValues Test default and improperly overridden containerField values. Original test looked at LOD, current version checks Collision node.
   TestDiagnosticOverloadedChildNodes TestDiagnosticOverloadedChildNodes Test error diagnostics for multiple Appearance child nodes, since this possibility is no longer precluded by DTD or Schema due to addition of Shader nodes.
   TestDoctype TestDoctype A simple X3D scene to test XML declaration and DOCTYPE declaration syntax.
   TestFieldChecks TestFieldChecks Helps to check that X3dToVrml97 xsl translator properly diagnoses content errors with field elements.
   TestFillPropertiesLinePropertiesValidation Test proper validation of Appearance, LineProperties, FillProperties, LineProperties
   TestJsonEncoding TestJsonEncoding Test scene to ensure that X3dToJson xslt stylesheet translator properly converts X3D source into JavaScript Object Notation (JSON).
   TestMetadataNodes TestMetadataNodes Test parentage and type checking of MetadataNodes using X3D4 defaults.
   TestOrientationInterpolatorSize TestOrientationInterpolatorSize Test ability to handle large OrientationInterpolator sizes.
   TestProtoDeclareDisconnectedField Simple ProtoDeclare example to check if diagnostics find disconnected field.
   TestProtoInterfaceNodeScope TestProtoInterfaceNodeScope Test override of color values in prototypes and scripts. Color code: red = left-most default prototype interface, yellow = middle ProtoInstance fieldValue, green = Script initialization of middle ProtoInstance, blue = right-side default prototype instance.
   TestPrototypeInterpolators TestPrototypeInterpolators Test case for Prototype PositionInterpolator OrientationInterpolator, expected behavior: is for both sets of test Text to move identically.
   TestRegularExpressionChecks TestRegularExpressionChecks Conformance test for regular expression checks. Tests are performed by build.xml target processScenes.regularExpressionChecks.
   TestSchematronDiagnostics TestSchematronDiagnostics Second meta tag to test warning that two description meta tags are present.
   TestScriptFieldSFTime Test correct conversion of X3D SFTime field initializations from XML to Java to ClassicVRML
   TestViewpointJump TestViewpointJump Conformance Test for Viewpoint: immediate switching (jump=true) and smooth animation (jump=false). Press PgUp/PgDn or touch geometry to change viewpoints.
   TextExamples TextExamples Show different escape-character text examples for embedded quotation marks.
   UnderstandingSceneGraphsTouchToLight UnderstandingSceneGraphsTouchToLight Put mouse (or pointing device) over ball to turn on light. Demonstration example used in Doctor Dobb's Journal (DDJ) article.
   UnquotedTokensNavigationInfoAndFontStyle UnquotedTokensNavigationInfoAndFontStyle This scene tests whether enclosing "quote marks" can be omitted for three tokenized fields in X3D. The X3dToVrml97.xsl translator does this for FontStyle family, FontStyle justify and NavigationInfo type.
   UseNodeExample UseNodeExample Simple example showing how to DEF and USE nodes for efficient "copy by reference."
   ViewpointGroupExample ViewpointGroupExample Example to test ViewpointGroup, which contains Viewpoint and ViewpointGroup nodes, allowing nested lists and viewpoint scoping in viewpoint lists.
   ViewpointGroupPrototype ViewpointGroupPrototype ViewpointGroup contains Viewpoint and ViewpointGroup nodes, allowing nested lists and viewpoint scoping in viewpoint lists. This is a developmental example for potential specification improvement. It is needed because (a) currently specified rules for X3D/VRML node binding state that behavior of child Viewpoints beneath Switch/LOD/etc. is undefined, and (b) browser viewpoint list display behavior is undefined.
   ViewpointGroupTest ViewpointGroupTest Test browser support for ViewpointGroup node
   WelcomeToWWW9 WelcomeToWWW9 A simple example VRML/X3D scene graph, easily modifiable for demonstration at WWW9 Amsterdam.
   WrapperTagsExample WrapperTagsExample Demonstrate and test field-name wrapper tags. Links to document "Wrapper Tags Considered Harmful." Scene includes 21 nodes, 34 open/close element tags, 44 wrapper tags, producing 78 scene-graph tags total if wrapper tags are required.
   X3dRetreatProtoExercise X3dRetreatProtoExercise Solutions to the Proto Exercise posed by Chris Marrin of SONY at the May 2000 X3D Retreat. This exercise includes intentionally illegal VRML and does not render.

The X3D Resources: Examples page and X3D Developers Guide provide more information about the production of this archive.