Table of Contents Previous Chapter Details Viewpoint Slideshow Next Chapter Details X3D Resources

X3D Example Archives: Conformance Nist, Lights, Spot Light

X3D Scenes Descriptions
default complexsl Test browser to apply default values of a SpotLight node to complex geometry (ElevationGrid, Extrusion, The test should generate all three complex geometry (Extrusion, ElevationGrid and IndexedFaceSet) with the default color. IndexedLineSet and PointSet are not lit geometry, therefore are not part of this test.
default primitivessl Test browser to apply all the default values of a SpotLight node to simple geometry (cone, sphere, cylinder, box). A row containing all four simple geometry is drawn in the local coordinate system and a SpotLight node is defined at the beggining of the test. All figures should be illuminated with white light.
test - ambeffect - ambientcom This test addresses the effect of the SpotLight ambientIntensity on the ambient of a complex object (IndexedFaceSet). Two IndexedFaceSets are drawn in the local coordinate system and a SpotLight is defined to shine on them along the -Z axis. The IndexedFaceSet to the left contains an ambientIntensity 0.3 and the one to the right contains an initial ambientIntensity of 1. The ambientIntensity of the light is increased on both geometry as the animation progresses. Since both materials ambientIntensity are constants, at the end of the animation the one to the right will be brigther than the one to the left. This is because at the end of the animation the figure to the right will have maximum ambient (both material and light ambientIntensity will be 1)
test - ambeffect - ambientsim This test addresses the effect of the PointLight ambientIntensity on the ambient of a simple object (Sphere). Two spheres are drawn in the local coordinate system and a SpotLight is defined to shine on them along the -Z axis. The sphere to the left contains an ambientIntensity 0.3 and the sphere to the right contains an initial ambientIntensity of 1 The ambientIntensity of the light is increased on both spheres as the animation progresses. Since both materials ambientIntensity are constants, at the end of the animation the one to the right will be brigther than the one to the left. This is because at the end of the animation the sphere to the right will have maximum ambient (both material and light ambientIntensity will be 1)
test - ambientcom Test browser to set the ambientIntensity field to a range of values on complex geometry (Extrusion, ElevationGrid and IndexedFaceSet). One row of the complex geometry is drawn in the local coordinate system. The ambientIntensity of the light should increase as the animation progresses. The animation is started by clicking on the text above the geometry. The ambientIntensity ranges from 0 to 1.
test - ambientsim Test browser to set the ambientIntensity field to a range of values on simple geometry (cone, sphere, cylinder and box). one row of the simple geometry is drawn in the local coordinate system. The ambientIntensity of the light should increase as the animation progresses. The animation is started by clicking on the text above the geometry. The ambientIntensity values range from 0 to 1.
test - beam Widthsim 1 Test browser to set the beamWidth field to a range of values on a set of a simple geometry (sphere) Seven rows of spheres are drawn in the local coordinate system and a single SpotLight is defined at the center. The lights beamWidth is increased as the animation progesses. The animation is started by clicking on the text above the geometry. The cutOffAngle is set to 1.570796 for the light and is never changed. This should cause the whole area illuminated by the light to be lighted at full intensity gradually as the beamWidth is increased. The area of illumination shall be no larger than the maximum value for the cutOffAngle (1.570796). A browser may choose to ignore the beamWidth field.
test - beam Widthsim 2 Test browser to set the beamWidth field to a range of values on a set of a simple geometry (sphere) Seven rows of spheres are drawn in the local coordinate system and a single SpotLight is defined at the center. The lights beamWidth is increased as the animation progesses. The animation is started by clicking on the text above the geometry. The cutOffAngle is set to 0.4 for for the light and is never changed. This should cause that only the area bounded by the beamWidth (as its value is increased) be illuminated at full intensity. The area between the cutOffAngle and the beamWidth will receive gradually less amount of light. The area of illumination shall never be higher than the one bounded by the cutOffAngle regardless of the beamWidth value. A browser may choose to ignore the bemWidth field.
test - colorcom Test browser to set the color field to a range of values on complex geometry (Extrusion, ElevationGrid and IndexedFaceSet). One row of the complex geometry is drawn in the local coordinate system. The amount of RGB color in the light should increase as the animation progresses. The animation is started by clicking on the text above the geometry. The amount of color ranges from 0 0 0 to 1 1 1.
test - colorsim Test browser to set the color field to a range of values on simple geometry (cone, sphere, cylinder and box). one row of the simple geometry is drawn in the local coordinate system. The amount of RGB color in the light should increase as the animation progresses. The animation is started by clicking on the text above the geometry. The amount of color ranges from 0 0 0 to 1 1 1.
test - com - attenuationspecial This test checks the special attenuation value of 0 0 0. This value should produce the same behaviour as 1 0 0 (the default value). The light should not attenuate as long as the objects are within the radius of the light. The objects in question are a set of complex geometry (Extrusion, ElevationGrid and IndexedFaceSet). The test starts by clicking on the text above the geometry. The objects will move further away from the light along the Z axis and stop at position 0 0 -50. The intensity of the light should not change at any time during the animation.
test - com - scope Test browser to shade light only on objects within its the radius field. The figure in question is a complex geometry (ElevationGrid). Four sets of ElevationGrrids are drawn in the XY plane forming cross-like figure and a four SpotLights with radius 5.5 and intensity 1 is also defined at the origin. If the implementation under test does NOT ignore the radius, then the last figure of each set (except the ones along the +X axis) should not be illuminated. (the last two figures along the +X axis should not be illuminated)
test - comc 1 - attenuation Test browser to apply attenuation values to a set of complex geometry. The second index of the attenuation field is set to 0.2, which should cause the attenuation to decrease inversively proportional to the distance from the light. The light brightness should decrease as the objects move away from the light.
test - comc 2 - attenuation Test browser to apply attenuation values to a set of complex geometry. The third index of the attenuation field is set to 0.1, which should cause the attenuation to decrease inversively proportional to the square of the distance from the light. The light brightness should decrease rapidly as the objects move away from the light. The ambientIntensity and the intensity are set to 1 for all geometry.
test - cut Off Anglesim 1 Test browser to set the cutOffAngle field to a range of values on a set of a simple geometry (sphere) Seven rows of spheres are drawn in the local coordinate system and a single SpotLight is defined at the center. The lights cutOffAngle is increased as the animation progesses. The animation is started by clicking on the text above the geometry. The beamWidth is set to 1.570796 for the light and is never changed. This should cause the whole area illuminated by the light to be lighted at full intensity. The area of illumination shall be no larger than the maximum value for the cutOffAngle (0.4). A browser may choose to ignore the beamWidth field.
test - cut Off Anglesim 2 Test browser to set the cutOffAngle field to a range of values on a set of a simple geometry (sphere) Seven rows of spheres are drawn in the local coordinate system and a single SpotLight is defined at the center. The lights cutOffAngle is increased as the animation progesses. The animation is started by clicking on the text above the geometry. The beamWidth is set to 0.2 for for the light and is never changed. This should cause that only the area bounded by the beamWidth value be illuminated at full intensity. The area between the cutOffAngle and the beamWidth will receive gradually less amount of light. A browser may choose to ignore the beamWidth field.
test - directioncom Test browser to apply different direction field values to a complex geometry (ElevationGrid). A set of ElevationGrids arranged in circular pattern along the XY plane are drawn in the local coordinate system. A SpotLight is defined at location 0 0 2 and its direction field is changed as the animation progresses. The test is started by clicking on the tests above the geometry. The intensity is set to 1 and the cutOffAngle and beamWidth fields are set to 0.4 and 0.4 respectively. following is the main parent transform with center at origin.
test - directionsim Test browser to apply different direction field values to a simple geometry (Sphere). A set of spheres arranged in circular pattern along the XY plane are drawn in the local coordinate system. A SpotLight is defined at the origin and its direction field is changed as the animation progresses. The test is started by clicking on the tests above the geometry. The intensity is set to 1 and the cutOffAngle and beamWidth fields are set to 0.4 radians.
test - inteffect - diffusecom This test addresses the effect of the light intensity on the diffuse color of complex geometry. One row of complex geometry is drawn in the local coordinate system and a SpotLight is also defined with radius 50 and intensity 0 at location 0 0 10. The test starts by clicking on the text above the geometry. The intensity of the light is increased as the test progresses and the diffuse color brightness of the objects should also increase. Intensity ranges from 0 to 1. The geometry are originally defined with a diffuseColor of 0 0 1.
test - inteffect - diffusesim This test addresses the effect of the light intensity on the diffuse color of simple geometry. One row of simple geometry is drawn in the local coordinate system and a SpotLight is also defined with radius 50 and intensity 0 at location 0 0 10. The test starts by clicking on the text above the geometry. The intensity of the light is increased as the test progresses and the diffuse color brightness of the objects should also increase. Intensity ranges from 0 to 1. The geometry are originally defined with a diffuseColor of 0 0 1.
test - inteffect - specularcom This test addresses the effect of the light intensity on the specular color of complex geometry. One row of complex geometry is drawn in the local coordinate system and a SpotLight is also defined with radius 50 and intensity 0 at location 0 0 10. The test starts by clicking on the text above the geometry. The intensity of the light is increased as the test progresses and the specular color of the light should also increase (in a linear fashion). Intensity ranges from 0 to 1. The geometry are originally defined with a diffuseColor of 1 0 0 and a specularColor of 0 1 0.
test - inteffect - specularsim This test addresses the effect of the light intensity on the specular color of simple geometry. One row of simple geometry is drawn in the local coordinate system and a SpotLight is also defined with radius 50 and intensity 0 at location 0 0 10. The test starts by clicking on the text above the geometry. The intensity of the light is increased as the test progresses and the specular color of the objects should also increase (in a linear fashion). Intensity values range from 0 to 1. The geometry are originally defined with a diffuseColor of 1 0 0 and a specularColor of 0 1 0.
test - intensitycom Test browser to set the intensity field to a range of values on complex geometry (Extrusion, ElevationGrid and IndexedFaceSet). One row of the complex geometry is drawn in the local coordinate system. The intensity of the light should increase as the animation progresses. The animation is started by clicking on the text above the geometry. The intensity ranges from 0 to 1.
test - intensitysim Test browser to set the intensity field to a range of values on simple geometry (cone, sphere, cylinder and box). one row of the simple geometry is drawn in the local coordinate system. The intensity of the light should increase as the animation progresses. The animation is started by clicking on the text above the geometry. The intensity ranges from 0 to 1.
test - locationcom Test browser to apply different location field values to a complex geometry (ElevationGrid). A set of ElevationGrids arranged in circular pattern along the XY plane are drawn in the local coordinate system. A SpotLight is defined at location 0 6 2 and its location field is changed as the animation progresses. The test is started by clicking on the tests above the geometry. The intensity is set to 1 and the cutOffAngle and beamWidth fields are set to 0.5 and 0.4 respectively.
test - locationsim Test browser to apply different location field values to a simple geometry (Sphere). A set of spheres arranged in circular pattern along the XY plane are drawn in the local coordinate system. A SpotLight is defined at location 0 6 1 and its location field is changed as the animation progresses. The test is started by clicking on the tests above the geometry. The intensity is set to 1 and the cutOffAngle and beamWidth fields are set to 0.5 and 0.4 respectively.
test - on This test sets the on field to true/false for two SpotLight node defined using two different Transform node. The test should generate two default size Spheres. The leftmost one should be illuminated and the rightmost one should be dark.
test - red - on - blue This test addresses the ability of a browser to apply a colored (red) light on an object of a different color (blue). Four simple geometries are defined in the local coordinate system and the emissive and diffuse color are both set to 0 0 1. A Spotlight is also defined and a red color is associated with it. The dot product of the light and object color produce a black appearing object.
test - sim - attenuationspecial This test checks the special attenuation value of 0 0 0. This value should produce the same behaviour as 1 0 0 (the default value). The light should not attenuate as long as the objects are within the radius of the light. The objects in question are a set of simple geometry (cone, spehere, box and cylinder). The test starts by clicking on the text above the geometry. The objects will move further away from the light along the Z axis and stop at position 0 0 -50. The intensity of the light should not change at any time during the animation.
test - sim - scope Test browser to shine light only on objects within its radius. The objects in question are a set of simple geometry (Cone, Sphere, Cylinder, and Box). A set of four simple geometry is drawn in the local coordinate system and four SpotLight node are also defined along the X, Y axis with radius 5.5 and intensity 1 at location 0 0 0 (with different directions). If the implementation under test does NOT ignore the radius, then the last figure of each set should not be illuminated.
test - simc 1 - attenuation Test browser to apply attenuation values to a set of simple geometry. The second index of the attenuation field is set to 0.2, which should cause the attenuation to decrease inversively proportional to the distance from the light. The light brightness should decrease as the objects move away from the light.
test - simc 2 - attenuation Test browser to apply attenuation values to a set of simple geometry. The third index of the attenuation field is set to 0.1, which should cause the attenuation to decrease inversively proportional to the square of the distance from the light. The light brightness should decrease rapidly as the objects move away from the light. The intensity and the ambientIntensity are set to 1 for all geometry.

Online at http://www.web3d.org/x3d/content/examples/ConformanceNist/Lights/SpotLight

Master source code archive is under subversion control at
http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/ConformanceNist/Lights/SpotLight

Table of Contents Previous Chapter Details Viewpoint Slideshow Next Chapter Details X3D Resources

Also available: current and archived nightly builds and distributions of these examples, all published under an Open-Source License.

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