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

X3D Example Archives: Conformance Nist, Appearance, Movie Texture

X3D Scenes Descriptions
2sidesbig Test texture mapping for equal long side bounding boxes along Y and Z axes. The bounding box for this geometry has two equal length long sides (Y and Z) and one short side (X). The mpeg movie VTS logo will be projected onto the bounding box with the S (image horizontal) axis parallel with the Y axis, the T (image vertical) axis parallel to the Z axis. The result: the VTS logo should appear "sideways" on the sides of the IndexedFaceSet, with the bottom of the logo along the Y axis. All remaining faces have the "smeared" end pixels of the front and rear textures.
2sidessmall Test texture mapping for equal small side bounding boxes along X and Y axes. Map an mpeg movie to an IndexedFaceSet. The bounding box for this geometry has two equal length short sides (X and Y) and one longer side (Z). The VTS logo will be projected onto the bounding box with the S axis corresponding to the long Z axis of the bounding box, and the T axis corresponding to the X axis. The result: the top and bottom of the IndexedFaceSet should have the VTS logo, with the bottom of the logo along the Z axis. All remaining faces have the "smeared" end pixels of the front and rear textures.
3sides Test texture mapping for equal side bounding boxes along X Y and Z axes. The bounding box for this geometry is equal length on all sides. By default the mpeg MovieTexture should map the S (horizontal) axis to the X axis, and the T (vertical) axis to the Y axis. The VTS logo should map horizontally to the front and rear faces of the IndexedFaceSet. All remaining faces have the "smeared" end pixels of the front and rear textures.
default - start 2 Test setting MovieTexture loop to true. By simply setting the loop field to true on a MovieTexture node, the movie should play continuously.
Elevation Grid Test mapping a MovieTexture to an ElevationGrid geometry. A MovieTexture is mapped to an ElevationGrid by aligning the S axis of the MovieTexture with the X axis of the ElevationiGrid and theT axis of the MovieTextgure with the Z axis of the ElevationGrid. The bottom of the MovieTexture coincides with the first row of grid points and the top of the MovieTexture maps to the last row of grid points.
Extrusion Test default mapping of an mpeg movie to an Extrusion. The movie is applied to an Extrusion by aligning the bottom of the VTS logo with the first cross-section at the first spint point, and the top of the VTS logo coincides with the last cross-section at the last spine point. The left side of the VTS logo is aligned with the first cross-section point of all spine points, and the right side of the VTS logo coincides with the last cross-section point for all spine points. For the ends of the extrusion, The VTS logo will map with the S (horizontal) texture axis aligning with the X axis of the cap, and the T (vertical) texture axis aligning with the Z axis of the cap.
firstframe Test loading first frame of a MovieTexture. With the movie inactive at load time, and speed a positive value (positive 1), frame 0 will be displayed. The VTS logo should appear upright, and directly facing the viewer.
Indexed Face Set Test of browser ability to default map a MovieTexture onto an entire IndexedFaceSet geometry. The entire VTS logo texture should map once onto the surface of the IndexedFaceSet, with the S axis corresponding to the X axis of the IndexedFaceSet.
keeplastframe Test if the last frame loaded when the movie becomes inactive remains as the texture. The VTS logo should appear skewed, with the V appearing closest to the viewer.
lastframe Test showing last MovieTexture frame at load time. With the movie inactive at load time, and speed a negative value (negative 1), the last frame will be displayed at load time.
loopfalse Test a loop value of false for MovieTexture. With the default loop field value set to false, a MovieTexture movie will only play once when started by clicking the now text. The VTS logo should revolve once, right to left, and stop.
loopforever Test MovieTexture looping forever. With the loop field is set to true, and the startTime (clicked by user) greater than stopTime (with a default of 0) and speed is not equal to 0 (with a default of 1), the movie will run forever, right to left, when started.
looptilstoptime Test looping until stopTime. With the loop field set to true, and the startTime (clicked first) less than stopTime (clicked second), and speed is not equal to 0 (with a default of 1), the movie will continue to run, right to left, until stopTime (when you click on "stoptime=now").
mpeg 1 - sound Test mpeg1 movie used as a sound source. By clicking on the "Play mpeg1 audio" text, the letters V, T and S should be heard to loop continuously from this Sound node containing an mpeg1-systems MovieTexture with audio track.
mpeg 1 - systems Test mpeg1 systems file playback. The VTS logo should appear on all faces of the Box geometry, upright and centered horizontally and vertically. The VTS logo should rotate in a single loop from right to left when the user clicks on the "NOW" text. Also, an audio track with the spoken letters V, T and S should be audible when the VTS logo completes a revolution.
mpeg 1 - video Test mpeg1 video playback. The VTS logo should appear on all faces of the Box geometry, and rotatate nearly 360 degrees (from right to left) in a single loop when the user clicks on the -now- Text.
repeats Test browser default ability to repeat a half-scale mpeg MovieTexture horizontally only to fill primitive geometry. Two side-by-side VTS logos should appear at the base of all geometry faces. The remaining portion of each face of each geometry will be vertically "smeared" with the last pixels along the top edge of the VTS logos.
repeatst Test browser default ability to repeat an mpeg MovieTexture both horitontally and vertically to fill a primitive geometry. Two vertical VTS logos should appear on the left side of all geometry faces. The remaining portion of each face of each geometry will be horizontally smeared with the last pixels along the right edge of the VTS logos.
repeatt Test browser default ability to repeat an mpeg MovieTexture vertically only to fill a primitive geometry. Two vertical VTS logos should appear on the left side of all geometry faces. The remaining portion of each face of each geometry will be horizontally smeared with the last pixels along the right edge of the VTS logos.
speed fraction Test fractional speed. With the speed field value greater than 0 (in this case 2), the movie will play at a speed proportional to the value of the speed field value (twice normal speed), right to left, when "now" is clicked. With a speed value of .25, the movie should play at 1/4 normal speed for one loop.
speed fraction reverse Test reverse fractional speed. With the speed field value greater than 0 (in this case 2), the movie will play at a speed proportional to the value of the speed field value (twice normal speed), right to left, when "now" is clicked. With a speed value of -0.25, the movie should play at 1/4 normal speed, in reverse for one loop.
speeddefault Test default speed for a MovieTexture. With the default speed field is set to "1", the mpeg movie will play at normal speed, right to left, when "now" is clicked.
speedeq 0 Test speed equal to 0. With the speed field equal to 0, the movie will not play, and frame 0 will be displayed when "now" is clicked.
speedgt 0 Test speed greater than zero. With the speed field value greater than 0 (in this case 2), the movie will play at a speed proportional to the value of the speed field value (twice normal speed), right to left, when "now" is clicked.
speedlt 0 Test speed less than zero. With the speed field value less than 0 (in this case -2), the movie will play in reverse, at a speed proportional to the value of the speed field value (double speed, left to right) when "now" is clicked.
speedreverse Test reverse speed. With the speed field value less than 0 (in this case -1), the movie will play in reverse, at a speed proportional to the value of the speed field value (normal speed, left to right) when "now" is clicked.
startgtstop Test startTime greater than stopTime. With the loop field is set to false, and the startTime (clicked by user) is greater than stopTime (with a default of 0) and speed is not equal to 0 (with a default of 1), the movie will run once, right to left.
stopeqstartloopfalse Test MovieTexture behavior when stopTime equals startTime, and loop is set to false. A stopTime and startTime of 5 (5 seconds past midnight, January 1, 1970) are assigned to a MovieTexture node. The result is: Because loop is false, the MovieTexture (a rotating VTS logo) should not play.
stopeqstartlooptrue Test MovieTexture behavior when stopTime equals startTime, and loop is set to true. A stopTime and startTime of 5 (5 seconds past midnight, January 1, 1970) are assigned to a MovieTexture node. The result is: Because loop is true, the MovieTexture (a rotating VTS logo) should continuously play.
stopgtstartloopfalse Test MovieTexture behavior when stopTime is greater than startTime, and loop is set to false. A stopTime of (5) and startTime of (1) (1 second past midnight, January 1, 1970) are assigned to a MovieTexture node. Because loop is false, the MovieTexture (a rotating VTS logo) should not play.
stopgtstartlooptrue Test MovieTexture behavior when stopTime is greater than startTime, and loop is set to true. A stopTime of (5) and startTime of (1) (1 second past midnight, January 1, 1970) are assigned to a MovieTexture node. The result is: Despite loop being equal to true, the MovieTexture (a rotating VTS logo) should not play.
stopltstartloopfalse Test MovieTexture behavior when stopTime equals startTime, and loop is set to true. A stopTime and startTime of 5 (5 seconds past midnight, January 1, 1970) are assigned to a MovieTexture node. The result is: Because loop is true, the MovieTexture (a rotating VTS logo) should continuously play.
stopltstartlooptrue Test MovieTexture behavior when stopTime is less than startTime, and loop is set to true. A stopTime of (1) and startTime of (5) (5 seconds past midnight, January 1, 1970) are assigned to a MovieTexture node. The result is: Because loop is true, the MovieTexture (a rotating VTS logo) should continuously play.
Text Default map an mpeg MovieTexture to a Text geometry. The top of the text should represent a value of 1 in texture coordinates and the MovieTexture should scale uniformly in the S and T direction. The result is a red and yellow square checkerboard centered vertically, and repeating horizontally left-to-right, with the word TEXT acting as a cookie-cutter, with the lower left corner of the TEXT corresponding to the lower left corner of the first, repeating MovieTexture.

Online at http://www.web3d.org/x3d/content/examples/ConformanceNist/Appearance/MovieTexture

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

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.